package com.eas.widgets;
import com.eas.core.Utils;
import com.eas.ui.ButtonGroup;
import com.eas.ui.PublishedComponent;
import com.eas.widgets.AbsolutePane;
import com.eas.widgets.AnchorsPane;
import com.eas.widgets.BorderPane;
import com.eas.widgets.BoxPane;
import com.eas.widgets.CardPane;
import com.eas.widgets.DesktopPane;
import com.eas.widgets.FlowPane;
import com.eas.widgets.GridPane;
import com.eas.widgets.PlatypusButton;
import com.eas.widgets.PlatypusCheckBox;
import com.eas.widgets.PlatypusFormattedTextField;
import com.eas.widgets.PlatypusHtmlEditor;
import com.eas.widgets.PlatypusLabel;
import com.eas.widgets.PlatypusPasswordField;
import com.eas.widgets.PlatypusProgressBar;
import com.eas.widgets.PlatypusRadioButton;
import com.eas.widgets.PlatypusSlider;
import com.eas.widgets.PlatypusSplitButton;
import com.eas.widgets.PlatypusTextArea;
import com.eas.widgets.PlatypusTextField;
import com.eas.widgets.PlatypusToggleButton;
import com.eas.widgets.ScrollPane;
import com.eas.widgets.SplitPane;
import com.eas.widgets.TabbedPane;
import com.eas.widgets.ToolBar;
import com.google.gwt.core.client.JavaScriptObject;
public class WidgetsPublisher {
private static Utils.JsObject constructors = JavaScriptObject.createObject().cast();
private static JavaScriptObject getPublisher(String aClassName){
JavaScriptObject constr = constructors.getJs(aClassName);
if(constr == null)
throw new IllegalStateException("Constructor for " + aClassName + " was not found.");
return constr;
}
public static native JavaScriptObject getConstructors()/*-{
return @com.eas.widgets.WidgetsPublisher::constructors;
}-*/;
public static void putPublisher(String aClassName, JavaScriptObject aPublisher){
constructors.setJs(aClassName, aPublisher);
}
public native static PublishedComponent publish(PlatypusRadioButton aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('RadioButton');
return new constr(null, null, null, aComponent);
}-*/;
public native static PublishedComponent publish(PlatypusCheckBox aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('CheckBox');
return new constr(null, null, null, aComponent);
}-*/;
public native static PublishedComponent publish(PlatypusSlider aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('Slider');
return new constr(null, null, null, null, aComponent);
}-*/;
public native static PublishedComponent publish(PlatypusToggleButton aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('ToggleButton');
return new constr(null, null, null, null, null, aComponent);
}-*/;
public native static PublishedComponent publish(PlatypusTextField aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('TextField');
return new constr(null, aComponent);
}-*/;
public native static PublishedComponent publish(PlatypusFormattedTextField aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('FormattedField');
return new constr(null, aComponent);
}-*/;
public native static PublishedComponent publish(PlatypusTextArea aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('TextArea');
return new constr(null, aComponent);
}-*/;
public native static PublishedComponent publish(PlatypusHtmlEditor aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('HtmlArea');
return new constr(null, aComponent);
}-*/;
public native static PublishedComponent publish(PlatypusProgressBar aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('ProgressBar');
return new constr(null, null, aComponent);
}-*/;
public native static PublishedComponent publish(PlatypusPasswordField aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('PasswordField');
return new constr(null, aComponent);
}-*/;
public native static PublishedComponent publish(PlatypusButton aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('Button');
return new constr(null, null, null, null, aComponent);
}-*/;
public native static PublishedComponent publish(PlatypusSplitButton aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('DropDownButton');
return new constr(null, null, null, null, aComponent);
}-*/;
public native static PublishedComponent publish(PlatypusLabel aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('Label');
return new constr(null, null, null, aComponent);
}-*/;
public native static PublishedComponent publish(BorderPane aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('BorderPane');
return new constr(null, null, aComponent);
}-*/;
public native static PublishedComponent publish(ScrollPane aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('ScrollPane');
return new constr(null, aComponent);
}-*/;
public native static PublishedComponent publish(SplitPane aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('SplitPane');
return new constr(null, aComponent);
}-*/;
public native static PublishedComponent publish(BoxPane aComponent)/*-{
var Orientation = @com.eas.ui.JsUi::Orientation;
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('BoxPane');
return new constr(Orientation.HORIZONTAL, null, null, aComponent);
}-*/;
public native static PublishedComponent publish(CardPane aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('CardPane');
return new constr(null, null, aComponent);
}-*/;
public native static PublishedComponent publish(AbsolutePane aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('AbsolutePane');
return new constr(aComponent);
}-*/;
public native static PublishedComponent publish(AnchorsPane aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('AnchorsPane');
return new constr(aComponent);
}-*/;
public native static PublishedComponent publish(DesktopPane aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('DesktopPane');
return new constr(aComponent);
}-*/;
public native static PublishedComponent publish(TabbedPane aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('TabbedPane');
return new constr(aComponent);
}-*/;
public native static PublishedComponent publish(ToolBar aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('ToolBar');
return new constr(null, aComponent);
}-*/;
public native static PublishedComponent publish(FlowPane aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('FlowPane');
return new constr(null, null, aComponent);
}-*/;
public native static PublishedComponent publish(GridPane aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('GridPane');
return new constr(null, null, null, null, aComponent);
}-*/;
public native static JavaScriptObject publish(ButtonGroup aComponent)/*-{
var constr = @com.eas.widgets.WidgetsPublisher::getPublisher(Ljava/lang/String;)('ButtonGroup');
return new constr(aComponent);
}-*/;
}