package org.dynamic.web.page.client;
import java.awt.Color;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.dynamic.web.page.shared.FieldVerifier;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.NodeList;
import com.google.gwt.dom.client.OptionElement;
import com.google.gwt.dom.client.SelectElement;
import com.google.gwt.dom.client.Style.BorderStyle;
import com.google.gwt.dom.client.Style.Display;
import com.google.gwt.dom.client.Style.OutlineStyle;
import com.google.gwt.dom.client.Style.Overflow;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.dom.client.Style.Float;
import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.KeyCodes;
import com.google.gwt.event.dom.client.KeyUpEvent;
import com.google.gwt.event.dom.client.KeyUpHandler;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.EventListener;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.DockLayoutPanel;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.PopupPanel;
import com.google.gwt.user.client.ui.RootLayoutPanel;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import org.dynamic.web.page.shared.AppUser;
/**
* Entry point classes define <code>onModuleLoad()</code>.
*/
public class DynamicWebPage implements EntryPoint {
/**
* The message displayed to the user when the server cannot be reached or
* returns an error.
*/
private static final String SERVER_ERROR = "An error occurred while "
+ "attempting to contact the server. Please check your network "
+ "connection and try again.";
/**
* Create a remote service proxy to talk to the server-side Greeting service.
*/
private final GreetingServiceAsync greetingService = GWT
.create(GreetingService.class);
/**
* Create a remote service proxy to talk to the server-side Greeting service.
*/
private final EntityServiceAsync entityService = GWT
.create(EntityService.class);
private final AuthenticationServiceAsync authService = GWT
.create(AuthenticationService.class);
//private final PageServiceAsync pageService = GWT
// .create(PageService.class);
private AppUser user;
private Widget selectedWidget;
private ListBox createImagesWidget() {
ListBox listBox = new ListBox();
listBox.addItem("", "");
listBox.addItem("Chrysanthemum", "Chrysanthemum.png");
listBox.addItem("Desert", "Desert.png");
listBox.addItem("face", "face.png");
listBox.addItem("Hydrangeas", "Hydrangeas.png");
listBox.addItem("Jellyfish", "Jellyfish.png");
listBox.addItem("Koala", "Koala.png");
listBox.addItem("Lighthouse", "Lighthouse.png");
listBox.addItem("Penguins", "Penguins.png");
listBox.addItem("Tulips", "Tulips.png");
listBox.addItem("whale", "whale.png");
return listBox;
}
private List<Widget> createBackgroundImageWidgets() {
List<Widget> widgets = new ArrayList<Widget>();
final TextBox textBox = new TextBox();
final ListBox listBox = createImagesWidget();
listBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
int selectedIndex = listBox.getSelectedIndex();
if (selectedWidget != null) {
String selectedImage = listBox.getValue(selectedIndex);
if (selectedImage != null && selectedImage.trim().length() > 0) {
selectedWidget.getElement().getStyle().setBackgroundImage(selectedImage);
}
else {
selectedWidget.getElement().getStyle().clearBackgroundImage();
}
}
}
});
textBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
if (selectedWidget != null) {
if (textBox.getValue() != null && textBox.getValue().trim().length() > 0) {
selectedWidget.getElement().getStyle().setBackgroundImage(textBox.getValue().trim());
}
else {
selectedWidget.getElement().getStyle().clearBackgroundImage();
}
}
}
});
widgets.add(textBox);
widgets.add(listBox);
return widgets;
}
private ListBox createBackgroundColorDropDown() {
final ListBox listBox =createColorListBoxWidget();
listBox.getElement().getStyle().setBackgroundColor("AliceBlue");
SelectElement selectElement = SelectElement.as(listBox.getElement());
NodeList<OptionElement> options = selectElement.getOptions();
for (int i = 0; i < options.getLength(); i++) {
String colorHex = listBox.getValue(i);
String colorName = listBox.getName();
options.getItem(i).getStyle().setColor("white");
options.getItem(i).getStyle().setBackgroundColor(colorHex);
}
listBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
int selectedIndex = listBox.getSelectedIndex();
listBox.getElement().getStyle().setBackgroundColor(listBox.getValue(selectedIndex));
if (selectedWidget != null) {
selectedWidget.getElement().getStyle().setBackgroundColor(listBox.getValue(selectedIndex));
}
}
});
return listBox;
}
private ListBox createColorListBoxWidget() {
ListBox listBox = new ListBox();
listBox.getElement().getStyle().setBackgroundColor("AliceBlue");
listBox.addItem("AliceBlue", "#F0F8FF");
listBox.addItem("AntiqueWhite", "#FAEBD7");
listBox.addItem("Aqua", "#00FFFF");
listBox.addItem("Aquamarine", "#7FFFD4");
listBox.addItem("Azure", "#F0FFFF");
listBox.addItem("Beige", "#F5F5DC");
listBox.addItem("Bisque", "#FFE4C4");
listBox.addItem("Black", "#000000");
listBox.addItem("BlanchedAlmond", "#FFEBCD");
listBox.addItem("Blue", "#0000FF");
listBox.addItem("BlueViolet", "#8A2BE2");
listBox.addItem("Brown", "#A52A2A");
listBox.addItem("BurlyWood", "#DEB887");
listBox.addItem("CadetBlue", "#5F9EA0");
listBox.addItem("Chartreuse", "#7FFF00");
listBox.addItem("Chocolate", "#D2691E");
listBox.addItem("Coral", "#FF7F50");
listBox.addItem("CornflowerBlue", "#6495ED");
listBox.addItem("Cornsilk", "#FFF8DC");
listBox.addItem("Crimson", "#DC143C");
listBox.addItem("Cyan", "#00FFFF");
listBox.addItem("DarkBlue", "#00008B");
listBox.addItem("DarkCyan", "#008B8B");
listBox.addItem("DarkGoldenRod", "#B8860B");
listBox.addItem("DarkGray", "#A9A9A9");
listBox.addItem("DarkGreen", "#006400");
listBox.addItem("DarkKhaki", "#BDB76B");
listBox.addItem("DarkMagenta", "#8B008B");
listBox.addItem("DarkOliveGreen", "#556B2F");
listBox.addItem("DarkOrange", "#FF8C00");
listBox.addItem("DarkOrchid", "#9932CC");
listBox.addItem("DarkRed", "#8B0000");
listBox.addItem("DarkSalmon", "#E9967A");
listBox.addItem("DarkSeaGreen", "#8FBC8F");
listBox.addItem("DarkSlateBlue", "#483D8B");
listBox.addItem("DarkSlateGray", "#2F4F4F");
listBox.addItem("DarkTurquoise", "#00CED1");
listBox.addItem("DarkViolet", "#9400D3");
listBox.addItem("DeepPink", "#FF1493");
listBox.addItem("DeepSkyBlue", "#00BFFF");
listBox.addItem("DimGray", "#696969");
listBox.addItem("DodgerBlue", "#1E90FF");
listBox.addItem("FireBrick", "#B22222");
listBox.addItem("FloralWhite", "#FFFAF0");
listBox.addItem("ForestGreen", "#228B22");
listBox.addItem("Fuchsia", "#FF00FF");
listBox.addItem("Gainsboro", "#DCDCDC");
listBox.addItem("GhostWhite", "#F8F8FF");
listBox.addItem("Gold", "#FFD700");
listBox.addItem("GoldenRod", "#DAA520");
listBox.addItem("Gray", "#808080");
listBox.addItem("Green", "#008000");
listBox.addItem("GreenYellow", "#ADFF2F");
listBox.addItem("HoneyDew", "#F0FFF0");
listBox.addItem("HotPink", "#FF69B4");
listBox.addItem("IndianRed", "#CD5C5C");
listBox.addItem("Indigo", "#4B0082");
listBox.addItem("Ivory", "#FFFFF0");
listBox.addItem("Khaki", "#F0E68C");
listBox.addItem("Lavender", "#E6E6FA");
listBox.addItem("LavenderBlush", "#FFF0F5");
listBox.addItem("LawnGreen", "#7CFC00");
listBox.addItem("LemonChiffon", "#FFFACD");
listBox.addItem("LightBlue", "#ADD8E6");
listBox.addItem("LightCoral", "#F08080");
listBox.addItem("LightCyan", "#E0FFFF");
listBox.addItem("LightGoldenRodYellow", "#FAFAD2");
listBox.addItem("LightGray", "#D3D3D3");
listBox.addItem("LightGreen", "#90EE90");
listBox.addItem("LightPink", "#FFB6C1");
listBox.addItem("LightSalmon", "#FFA07A");
listBox.addItem("LightSeaGreen", "#20B2AA");
listBox.addItem("LightSkyBlue", "#87CEFA");
listBox.addItem("LightSlateGray", "#778899");
listBox.addItem("LightSteelBlue", "#B0C4DE");
listBox.addItem("LightYellow", "#FFFFE0");
listBox.addItem("Lime", "#00FF00");
listBox.addItem("LimeGreen", "#32CD32");
listBox.addItem("Linen", "#FAF0E6");
listBox.addItem("Magenta", "#FF00FF");
listBox.addItem("Maroon", "#800000");
listBox.addItem("MediumAquaMarine", "#66CDAA");
listBox.addItem("MediumBlue", "#0000CD");
listBox.addItem("MediumOrchid", "#BA55D3");
listBox.addItem("MediumPurple", "#9370DB");
listBox.addItem("MediumSeaGreen", "#3CB371");
listBox.addItem("MediumSlateBlue", "#7B68EE");
listBox.addItem("MediumSpringGreen", "#00FA9A");
listBox.addItem("MediumTurquoise", "#48D1CC");
listBox.addItem("MediumVioletRed", "#C71585");
listBox.addItem("MidnightBlue", "#191970");
listBox.addItem("MintCream", "#F5FFFA");
listBox.addItem("MistyRose", "#FFE4E1");
listBox.addItem("Moccasin", "#FFE4B5");
listBox.addItem("NavajoWhite", "#FFDEAD");
listBox.addItem("Navy", "#000080");
listBox.addItem("OldLace", "#FDF5E6");
listBox.addItem("Olive", "#808000");
listBox.addItem("OliveDrab", "#6B8E23");
listBox.addItem("Orange", "#FFA500");
listBox.addItem("OrangeRed", "#FF4500");
listBox.addItem("Orchid", "#DA70D6");
listBox.addItem("PaleGoldenRod", "#98FB98");
listBox.addItem("PaleGreen", "#F0F8FF");
listBox.addItem("PaleTurquoise", "#AFEEEE");
listBox.addItem("PaleVioletRed", "#DB7093");
listBox.addItem("PapayaWhip", "#FFEFD5");
listBox.addItem("PeachPuff", "#FFDAB9");
listBox.addItem("Peru", "#CD853F");
listBox.addItem("Pink", "#FFC0CB");
listBox.addItem("Plum", "#DDA0DD");
listBox.addItem("PowderBlue", "#B0E0E6");
listBox.addItem("Purple", "#800080");
listBox.addItem("Red", "#FF0000");
listBox.addItem("RosyBrown", "#BC8F8F");
listBox.addItem("RoyalBlue", "#4169E1");
listBox.addItem("SaddleBrown", "#8B4513");
listBox.addItem("Salmon", "#FA8072");
listBox.addItem("SandyBrown", "#F4A460");
listBox.addItem("SeaGreen", "#2E8B57");
listBox.addItem("SeaShell", "#FFF5EE");
listBox.addItem("Sienna", "#A0522D");
listBox.addItem("Silver", "#C0C0C0");
listBox.addItem("SkyBlue", "#87CEEB");
listBox.addItem("SlateBlue", "#6A5ACD");
listBox.addItem("SlateGray", "#708090");
listBox.addItem("Snow", "#FFFAFA");
listBox.addItem("SpringGreen", "#00FF7F");
listBox.addItem("SteelBlue", "#4682B4");
listBox.addItem("Tan", "#D2B48C");
listBox.addItem("Teal", "#008080");
listBox.addItem("Thistle", "#D8BFD8");
listBox.addItem("Tomato", "#FF6347");
listBox.addItem("Turquoise", "#40E0D0");
listBox.addItem("Violet", "#EE82EE");
listBox.addItem("Wheat", "#F5DEB3");
listBox.addItem("White", "#FFFFFF");
listBox.addItem("WhiteSmoke", "#F5F5F5");
listBox.addItem("Yellow", "#FFFF00");
listBox.addItem("YellowGreen", "#9ACD32");
return listBox;
}
private ListBox createBorderColorDropDown() {
final ListBox listBox = createColorListBoxWidget();
listBox.getElement().getStyle().setBackgroundColor("AliceBlue");
SelectElement selectElement = SelectElement.as(listBox.getElement());
NodeList<OptionElement> options = selectElement.getOptions();
for (int i = 0; i < options.getLength(); i++) {
String colorHex = listBox.getValue(i);
String colorName = listBox.getName();
options.getItem(i).getStyle().setColor("white");
options.getItem(i).getStyle().setBackgroundColor(colorHex);
}
listBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
int selectedIndex = listBox.getSelectedIndex();
listBox.getElement().getStyle().setBackgroundColor(listBox.getValue(selectedIndex));
if (selectedWidget != null) {
selectedWidget.getElement().getStyle().setBorderColor(listBox.getValue(selectedIndex));
}
else {
selectedWidget.getElement().getStyle().clearBorderColor();
}
}
});
return listBox;
}
private ListBox createBorderStyleDropDown() {
final ListBox listBox = new ListBox();
listBox.addItem("DASHED");
listBox.addItem("DOTTED");
listBox.addItem("HIDDEN");
listBox.addItem("NONE");
listBox.addItem("SOLID");
listBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
int selectedIndex = listBox.getSelectedIndex();
listBox.getElement().getStyle().setBackgroundColor(listBox.getValue(selectedIndex));
if (selectedWidget != null) {
BorderStyle borderStyle = null;
String selectedStyle = listBox.getItemText(selectedIndex);
if (selectedStyle.equals("DASHED")) {
borderStyle = BorderStyle.DASHED;
}
else if (selectedStyle.equals("DOTTED")) {
borderStyle = BorderStyle.DOTTED;
}
else if (selectedStyle.equals("HIDDEN")) {
borderStyle = BorderStyle.HIDDEN;
}
else if (selectedStyle.equals("NONE")) {
borderStyle = BorderStyle.NONE;
}
else if (selectedStyle.equals("SOLID")) {
borderStyle = BorderStyle.SOLID;
}
if (borderStyle != null) {
selectedWidget.getElement().getStyle().setBorderStyle(borderStyle);
}
else {
selectedWidget.getElement().getStyle().clearBorderStyle();
}
}
}
});
return listBox;
}
private List<Widget> createBorderWidthWidgets() {
List<Widget> widgets = new ArrayList<Widget>();
final TextBox textBox = new TextBox();
final ListBox listBox = createUnitWidget();
listBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
int selectedIndex = listBox.getSelectedIndex();
if (selectedWidget != null) {
Unit borderUnit = null;
String selectedStyle = listBox.getItemText(selectedIndex);
if (selectedStyle.equals("CM")) {
borderUnit = Unit.CM;
}
else if (selectedStyle.equals("EM")) {
borderUnit = Unit.EM;
}
else if (selectedStyle.equals("EX")) {
borderUnit = Unit.EX;
}
else if (selectedStyle.equals("IN")) {
borderUnit = Unit.IN;
}
else if (selectedStyle.equals("MM")) {
borderUnit = Unit.MM;
}
else if (selectedStyle.equals("PC")) {
borderUnit = Unit.PC;
}
else if (selectedStyle.equals("PCT")) {
borderUnit = Unit.PCT;
}
else if (selectedStyle.equals("PT")) {
borderUnit = Unit.PT;
}
else if (selectedStyle.equals("PX")) {
borderUnit = Unit.PX;
}
if (borderUnit != null) {
int borderWidth = 0;
if (textBox.getValue() != null && textBox.getValue().trim().length() > 0) {
borderWidth = Integer.parseInt(textBox.getValue().trim());
selectedWidget.getElement().getStyle().setBorderWidth(borderWidth, borderUnit);
}
else {
selectedWidget.getElement().getStyle().clearBorderWidth();
}
}
else {
selectedWidget.getElement().getStyle().clearBorderWidth();
}
}
}
});
textBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
if (selectedWidget != null) {
Unit borderUnit = null;
String selectedUnit = listBox.getValue(listBox.getSelectedIndex());
if (selectedUnit.equals("CM")) {
borderUnit = Unit.CM;
}
else if (selectedUnit.equals("EM")) {
borderUnit = Unit.EM;
}
else if (selectedUnit.equals("EX")) {
borderUnit = Unit.EX;
}
else if (selectedUnit.equals("IN")) {
borderUnit = Unit.IN;
}
else if (selectedUnit.equals("MM")) {
borderUnit = Unit.MM;
}
else if (selectedUnit.equals("PC")) {
borderUnit = Unit.PC;
}
else if (selectedUnit.equals("PCT")) {
borderUnit = Unit.PCT;
}
else if (selectedUnit.equals("PT")) {
borderUnit = Unit.PT;
}
else if (selectedUnit.equals("PX")) {
borderUnit = Unit.PX;
}
if (borderUnit != null) {
int borderWidth = 0;
if (textBox.getValue() != null && textBox.getValue().trim().length() > 0) {
borderWidth = Integer.parseInt(textBox.getValue().trim());
selectedWidget.getElement().getStyle().setBorderWidth(borderWidth, borderUnit);
}
else {
selectedWidget.getElement().getStyle().clearBorderWidth();
}
}
else {
selectedWidget.getElement().getStyle().clearBorderWidth();
}
}
}
});
widgets.add(textBox);
widgets.add(listBox);
return widgets;
}
private ListBox createUnitWidget() {
final ListBox listBox = new ListBox();
listBox.addItem("CM");
listBox.addItem("EM");
listBox.addItem("EX");
listBox.addItem("IN");
listBox.addItem("MM");
listBox.addItem("PC");
listBox.addItem("PCT");
listBox.addItem("PT");
listBox.addItem("PX");
return listBox;
}
private List<Widget> createWidthWidgets() {
List<Widget> widgets = new ArrayList<Widget>();
final TextBox textBox = new TextBox();
final ListBox listBox = createUnitWidget();
listBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
int selectedIndex = listBox.getSelectedIndex();
if (selectedWidget != null) {
Unit unit = null;
String selectedStyle = listBox.getItemText(selectedIndex);
if (selectedStyle.equals("CM")) {
unit = Unit.CM;
}
else if (selectedStyle.equals("EM")) {
unit = Unit.EM;
}
else if (selectedStyle.equals("EX")) {
unit = Unit.EX;
}
else if (selectedStyle.equals("IN")) {
unit = Unit.IN;
}
else if (selectedStyle.equals("MM")) {
unit = Unit.MM;
}
else if (selectedStyle.equals("PC")) {
unit = Unit.PC;
}
else if (selectedStyle.equals("PCT")) {
unit = Unit.PCT;
}
else if (selectedStyle.equals("PT")) {
unit = Unit.PT;
}
else if (selectedStyle.equals("PX")) {
unit = Unit.PX;
}
if (unit != null) {
int width = 0;
if (textBox.getValue() != null && textBox.getValue().trim().length() > 0) {
width = Integer.parseInt(textBox.getValue().trim());
selectedWidget.getElement().getStyle().setWidth(width, unit);
}
else {
selectedWidget.getElement().getStyle().clearWidth();
}
}
}
}
});
textBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
if (selectedWidget != null) {
Unit unit = null;
String selectedUnit = listBox.getValue(listBox.getSelectedIndex());
if (selectedUnit.equals("CM")) {
unit = Unit.CM;
}
else if (selectedUnit.equals("EM")) {
unit = Unit.EM;
}
else if (selectedUnit.equals("EX")) {
unit = Unit.EX;
}
else if (selectedUnit.equals("IN")) {
unit = Unit.IN;
}
else if (selectedUnit.equals("MM")) {
unit = Unit.MM;
}
else if (selectedUnit.equals("PC")) {
unit = Unit.PC;
}
else if (selectedUnit.equals("PCT")) {
unit = Unit.PCT;
}
else if (selectedUnit.equals("PT")) {
unit = Unit.PT;
}
else if (selectedUnit.equals("PX")) {
unit = Unit.PX;
}
if (unit != null) {
int width = 0;
if (textBox.getValue() != null && textBox.getValue().trim().length() > 0) {
width = Integer.parseInt(textBox.getValue().trim());
selectedWidget.getElement().getStyle().setWidth(width, unit);
}
else {
selectedWidget.getElement().getStyle().clearWidth();
}
}
}
}
});
widgets.add(textBox);
widgets.add(listBox);
return widgets;
}
private List<Widget> createHeightWidgets() {
List<Widget> widgets = new ArrayList<Widget>();
final TextBox textBox = new TextBox();
final ListBox listBox = createUnitWidget();
listBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
int selectedIndex = listBox.getSelectedIndex();
if (selectedWidget != null) {
Unit unit = null;
String selectedStyle = listBox.getItemText(selectedIndex);
if (selectedStyle.equals("CM")) {
unit = Unit.CM;
}
else if (selectedStyle.equals("EM")) {
unit = Unit.EM;
}
else if (selectedStyle.equals("EX")) {
unit = Unit.EX;
}
else if (selectedStyle.equals("IN")) {
unit = Unit.IN;
}
else if (selectedStyle.equals("MM")) {
unit = Unit.MM;
}
else if (selectedStyle.equals("PC")) {
unit = Unit.PC;
}
else if (selectedStyle.equals("PCT")) {
unit = Unit.PCT;
}
else if (selectedStyle.equals("PT")) {
unit = Unit.PT;
}
else if (selectedStyle.equals("PX")) {
unit = Unit.PX;
}
if (unit != null) {
int height = 0;
if (textBox.getValue() != null && textBox.getValue().trim().length() > 0) {
height = Integer.parseInt(textBox.getValue().trim());
selectedWidget.getElement().getStyle().setHeight(height, unit);
}
else {
selectedWidget.getElement().getStyle().clearWidth();
}
}
else {
selectedWidget.getElement().getStyle().clearWidth();
}
}
}
});
textBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
if (selectedWidget != null) {
Unit unit = null;
String selectedUnit = listBox.getValue(listBox.getSelectedIndex());
if (selectedUnit.equals("CM")) {
unit = Unit.CM;
}
else if (selectedUnit.equals("EM")) {
unit = Unit.EM;
}
else if (selectedUnit.equals("EX")) {
unit = Unit.EX;
}
else if (selectedUnit.equals("IN")) {
unit = Unit.IN;
}
else if (selectedUnit.equals("MM")) {
unit = Unit.MM;
}
else if (selectedUnit.equals("PC")) {
unit = Unit.PC;
}
else if (selectedUnit.equals("PCT")) {
unit = Unit.PCT;
}
else if (selectedUnit.equals("PT")) {
unit = Unit.PT;
}
else if (selectedUnit.equals("PX")) {
unit = Unit.PX;
}
if (unit != null) {
int height = 0;
if (textBox.getValue() != null && textBox.getValue().trim().length() > 0) {
height = Integer.parseInt(textBox.getValue().trim());
selectedWidget.getElement().getStyle().setHeight(height, unit);
}
else {
selectedWidget.getElement().getStyle().clearHeight();
}
}
else {
selectedWidget.getElement().getStyle().clearHeight();
}
}
}
});
widgets.add(textBox);
widgets.add(listBox);
return widgets;
}
private ListBox createOverflowWidget() {
ListBox listBox = new ListBox();
listBox.addItem("");
listBox.addItem("AUTO");
listBox.addItem("HIDDEN");
listBox.addItem("SCROLL");
listBox.addItem("VISIBLE");
return listBox;
}
private ListBox createOverflowDropDown() {
final ListBox listBox = createOverflowWidget();
listBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
int selectedIndex = listBox.getSelectedIndex();
if (selectedWidget != null) {
Overflow overflow = null;
String selectedStyle = listBox.getItemText(selectedIndex);
if (selectedStyle.equals("AUTO")) {
overflow = Overflow.AUTO;
}
else if (selectedStyle.equals("HIDDEN")) {
overflow = Overflow.HIDDEN;
}
else if (selectedStyle.equals("SCROLL")) {
overflow = Overflow.SCROLL;
}
else if (selectedStyle.equals("VISIBLE")) {
overflow = Overflow.VISIBLE;
}
if (overflow != null) {
selectedWidget.getElement().getStyle().setOverflow(overflow);
}
else {
selectedWidget.getElement().getStyle().clearOverflow();
}
}
}
});
return listBox;
}
private ListBox createOverflowXDropDown() {
final ListBox listBox = createOverflowWidget();
listBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
int selectedIndex = listBox.getSelectedIndex();
if (selectedWidget != null) {
Overflow overflow = null;
String selectedStyle = listBox.getItemText(selectedIndex);
if (selectedStyle.equals("AUTO")) {
overflow = Overflow.AUTO;
}
else if (selectedStyle.equals("HIDDEN")) {
overflow = Overflow.HIDDEN;
}
else if (selectedStyle.equals("SCROLL")) {
overflow = Overflow.SCROLL;
}
else if (selectedStyle.equals("VISIBLE")) {
overflow = Overflow.VISIBLE;
}
if (overflow != null) {
selectedWidget.getElement().getStyle().setOverflowX(overflow);
}
else {
selectedWidget.getElement().getStyle().clearOverflowX();
}
}
}
});
return listBox;
}
private ListBox createOverflowYDropDown() {
final ListBox listBox = createOverflowWidget();
listBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
int selectedIndex = listBox.getSelectedIndex();
if (selectedWidget != null) {
Overflow overflow = null;
String selectedStyle = listBox.getItemText(selectedIndex);
if (selectedStyle.equals("AUTO")) {
overflow = Overflow.AUTO;
}
else if (selectedStyle.equals("HIDDEN")) {
overflow = Overflow.HIDDEN;
}
else if (selectedStyle.equals("SCROLL")) {
overflow = Overflow.SCROLL;
}
else if (selectedStyle.equals("VISIBLE")) {
overflow = Overflow.VISIBLE;
}
if (overflow != null) {
selectedWidget.getElement().getStyle().setOverflowY(overflow);
}
else {
selectedWidget.getElement().getStyle().clearOverflowY();
}
}
}
});
return listBox;
}
private ListBox createFloatWidget() {
ListBox listBox = new ListBox();
listBox.addItem("");
listBox.addItem("LEFT");
listBox.addItem("NONE");
listBox.addItem("RIGHT");
return listBox;
}
private ListBox createFloatDropDown() {
final ListBox listBox = createFloatWidget();
listBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
int selectedIndex = listBox.getSelectedIndex();
if (selectedWidget != null) {
Float floatStyle = null;
String selectedStyle = listBox.getItemText(selectedIndex);
if (selectedStyle.equals("LEFT")) {
floatStyle = Float.LEFT;
}
else if (selectedStyle.equals("NONE")) {
floatStyle = Float.NONE;
}
else if (selectedStyle.equals("RIGHT")) {
floatStyle = Float.RIGHT;
}
if (floatStyle != null) {
selectedWidget.getElement().getStyle().setFloat(floatStyle);
}
else {
selectedWidget.getElement().getStyle().clearFloat();
}
}
}
});
return listBox;
}
private ListBox createDisplayWidget() {
ListBox listBox = new ListBox();
listBox.addItem("");
listBox.addItem("BLOCK");
listBox.addItem("INLINE");
listBox.addItem("INLINE_BLOCK");
listBox.addItem("NONE");
return listBox;
}
private ListBox createDisplayDropDown() {
final ListBox listBox = createDisplayWidget();
listBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
int selectedIndex = listBox.getSelectedIndex();
if (selectedWidget != null) {
Display display = null;
String selectedStyle = listBox.getItemText(selectedIndex);
if (selectedStyle.equals("BLOCK")) {
display = Display.BLOCK;
}
else if (selectedStyle.equals("INLINE")) {
display = Display.INLINE;
}
else if (selectedStyle.equals("INLINE_BLOCK")) {
display = Display.INLINE_BLOCK;
}
else if (selectedStyle.equals("NONE")) {
display = Display.NONE;
}
if (display != null) {
selectedWidget.getElement().getStyle().setDisplay(display);
}
else {
selectedWidget.getElement().getStyle().clearDisplay();
}
}
}
});
return listBox;
}
private void createAdminPopup() {
final DialogBox popup = new DialogBox(false, false); // autohide, modal
//popup.setGlassEnabled(true);
popup.setStyleName("demo-PopUpPanel");
popup.setTitle("popup title");
//popup.setHeight("100px");
//popup.add(new Label("popup label"));
popup.setPopupPosition(100, 200);
//popup.setWidget(new Label("popup label"));
popup.setVisible(false);
//popup.setHeight("300px");
popup.setWidth("400px");
final Button addPanelButton = new Button("Add Panel");
final Button removePanelButton = new Button("Remove Panel");
VerticalPanel popupContent = new VerticalPanel();
popupContent.setSpacing(4);
popupContent.add(new Label("popup label"));
popupContent.add(addPanelButton);
popupContent.add(removePanelButton);
popupContent.getElement().getStyle().setBorderWidth(5, Unit.PX);
final ListBox panelType = new ListBox();
panelType.addItem("FlowPanel");
panelType.addItem("HTMLPanel");
panelType.addItem("FormPanel");
panelType.addItem("ScrollPanel");
panelType.addItem("Grid");
panelType.addItem("FlexTable");
panelType.addItem("LayoutPanel");
panelType.addItem("DockLayoutPanel");
panelType.addItem("SplitLayoutPanel");
panelType.addItem("StackLayoutPanel");
panelType.addItem("TabLayoutPanel");
panelType.addItem("HorizontalPanel");
panelType.addItem("VerticalPanel");
panelType.addItem("SimplePanel");
// Make enough room for all five items (setting this value to 1 turns it
// into a drop-down list).
panelType.setVisibleItemCount(5);
popupContent.add(panelType);
HorizontalPanel createdContainer = new HorizontalPanel();
final ListBox backgroundColor = createBackgroundColorDropDown();
final ListBox borderColor = createBorderColorDropDown();
final ListBox borderStyle = createBorderStyleDropDown();
List<Widget> borderWidths = createBorderWidthWidgets();
List<Widget> widths = createWidthWidgets();
List<Widget> heights = createHeightWidgets();
List<Widget> backgroundImages = createBackgroundImageWidgets();
final ListBox overflow = createOverflowDropDown();
final ListBox overflowX = createOverflowXDropDown();
final ListBox overflowY = createOverflowYDropDown();
final ListBox floatStyle = createFloatDropDown();
final ListBox display = createDisplayDropDown();
final ListBox createdPanel = new ListBox();
for (int i = 0; i < RootPanel.get().getWidgetCount(); i++) {
Widget w = RootPanel.get().getWidget(i);
createdPanel.addItem(w.toString());
}
createdPanel.setVisibleItemCount(5);
createdPanel.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
//Window.alert("Something got selected " + backgroundColor.getValue(backgroundColor.getSelectedIndex())); //#F0F8FF
//Window.alert("Something got selected " + backgroundColor.getItemText(backgroundColor.getSelectedIndex()));//AliceBlue
int selectedIndex = createdPanel.getSelectedIndex();
//Window.alert("Something got selected " + createdPanel.getValue(selectedIndex));
// Element element = DOM.getElementById(createdPanel.getValue(selectedIndex));
// element.getStyle().setBorderWidth(10, Unit.PX);
// element.getStyle().setBorderStyle(BorderStyle.SOLID);
// element.getStyle().setBorderColor("black");
EventListener listener = DOM.getEventListener(DOM.getElementById(createdPanel.getValue(selectedIndex)));
// No listener attached to the element, so no widget exist for this
// element
if (listener instanceof Widget) {
// GWT uses the widget as event listener
Widget widget = (Widget) listener ;
widget.getElement().getStyle().setBorderWidth(10, Unit.PX);
widget.getElement().getStyle().setBorderStyle(BorderStyle.SOLID);
widget.getElement().getStyle().setBorderColor("black");
selectedWidget = widget;
if (widget instanceof FlowPanel) {
//Label cell4= new Label("FlowPanel D");
//cell4.getElement().getStyle().setBorderStyle(BorderStyle.SOLID);
//cell4.getElement().getStyle().setBorderColor("blue");
//cell4.getElement().getStyle().setBorderWidth(5, Unit.PX);
//((FlowPanel)widget).add(cell4);
((FlowPanel)widget).getElement().getStyle().setOutlineStyle(OutlineStyle.DOTTED);
((FlowPanel)widget).getElement().getStyle().setOutlineWidth(5, Unit.PX);
((FlowPanel)widget).getElement().getStyle().setOutlineColor("gray");
//Window.alert("FlowPanel ");
for (int i = 0; i < createdPanel.getItemCount(); i++) {
if (i != selectedIndex) {
EventListener listener2 = DOM.getEventListener(DOM.getElementById(createdPanel.getValue(i)));
if (listener2 instanceof Widget) {
Widget widget2 = (Widget) listener2 ;
((FlowPanel)widget2).getElement().getStyle().setOutlineStyle(OutlineStyle.NONE);
}
}
}
}
if (widget instanceof HorizontalPanel) {
Label cell4= new Label("HorizontalPanel D");
cell4.getElement().getStyle().setBorderStyle(BorderStyle.SOLID);
cell4.getElement().getStyle().setBorderColor("blue");
cell4.getElement().getStyle().setBorderWidth(5, Unit.PX);
((HorizontalPanel)widget).add(cell4);
Window.alert("HorizontalPanel ");
}
if (widget instanceof VerticalPanel) {
Label cell4= new Label("VerticalPanel D");
cell4.getElement().getStyle().setBorderStyle(BorderStyle.SOLID);
cell4.getElement().getStyle().setBorderColor("blue");
cell4.getElement().getStyle().setBorderWidth(5, Unit.PX);
((VerticalPanel)widget).add(cell4);
Window.alert("VerticalPanel ");
}
}
}
});
VerticalPanel styleProperties = new VerticalPanel();
styleProperties.add(new Label("Background color"));
styleProperties.add(backgroundColor);
styleProperties.add(new Label("Border color"));
styleProperties.add(borderColor);
styleProperties.add(new Label("Border style"));
styleProperties.add(borderStyle);
styleProperties.add(new Label("Border Width"));
styleProperties.add(borderWidths.get(0));
styleProperties.add(new Label("Border Width Unit"));
styleProperties.add(borderWidths.get(1));
styleProperties.add(new Label("Width"));
styleProperties.add(widths.get(0));
styleProperties.add(new Label("Width Unit"));
styleProperties.add(widths.get(1));
styleProperties.add(new Label("Height"));
styleProperties.add(heights.get(0));
styleProperties.add(new Label("Height Unit"));
styleProperties.add(heights.get(1));
styleProperties.add(new Label("Background image url"));
styleProperties.add(backgroundImages.get(0));
styleProperties.add(new Label("System Background Image"));
styleProperties.add(backgroundImages.get(1));
styleProperties.add(new Label("Overflow"));
styleProperties.add(overflow);
styleProperties.add(new Label("Overflow X"));
styleProperties.add(overflowX);
styleProperties.add(new Label("Overflow Y"));
styleProperties.add(overflowY);
styleProperties.add(new Label("Float"));
styleProperties.add(floatStyle);
styleProperties.add(new Label("Display"));
styleProperties.add(display);
createdContainer.add(createdPanel);
createdContainer.add(styleProperties);
popupContent.add(createdContainer);
popup.setWidget(popupContent);
popup.setAnimationEnabled(true);
popup.setText("popup text");
popup.getElement().getStyle().setBorderWidth(5, Unit.PX);
popup.getElement().getStyle().setBorderStyle(BorderStyle.SOLID);
popup.getElement().getStyle().setBorderColor("red");
RootPanel.get().add(popup);
final int count = RootPanel.get().getWidgetCount();
addPanelButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
String selectedPanel = panelType.getValue(panelType.getSelectedIndex());
if (selectedPanel.equals("VerticalPanel")) {
VerticalPanel panel = new VerticalPanel();
panel.setTitle("title : " + selectedPanel);
Label cell1 = new Label("Panel " + RootPanel.get().getWidgetCount() + " A");
cell1.getElement().getStyle().setBorderStyle(BorderStyle.SOLID);
cell1.getElement().getStyle().setBorderColor("blue");
cell1.getElement().getStyle().setBorderWidth(5, Unit.PX);
Label cell2 = new Label("Panel " + RootPanel.get().getWidgetCount() + " B");
cell2.getElement().getStyle().setBorderStyle(BorderStyle.SOLID);
cell2.getElement().getStyle().setBorderColor("blue");
cell2.getElement().getStyle().setBorderWidth(5, Unit.PX);
Label cell3= new Label("Panel " + RootPanel.get().getWidgetCount() + " C");
cell3.getElement().getStyle().setBorderStyle(BorderStyle.SOLID);
cell3.getElement().getStyle().setBorderColor("blue");
cell3.getElement().getStyle().setBorderWidth(5, Unit.PX);
panel.add(cell1);
panel.add(cell2);
panel.add(cell3);
panel.getElement().setId("" + RootPanel.get().getWidgetCount());
RootPanel.get().add(panel);
createdPanel.addItem(panel.getElement().getId());
}
if (selectedPanel.equals("HorizontalPanel")) {
HorizontalPanel panel = new HorizontalPanel();
panel.setTitle("title : " + selectedPanel);
Label cell1 = new Label("Panel " + RootPanel.get().getWidgetCount() + " A");
cell1.getElement().getStyle().setBorderStyle(BorderStyle.SOLID);
cell1.getElement().getStyle().setBorderColor("blue");
cell1.getElement().getStyle().setBorderWidth(5, Unit.PX);
Label cell2 = new Label("Panel " + RootPanel.get().getWidgetCount() + " B");
cell2.getElement().getStyle().setBorderStyle(BorderStyle.SOLID);
cell2.getElement().getStyle().setBorderColor("blue");
cell2.getElement().getStyle().setBorderWidth(5, Unit.PX);
Label cell3= new Label("Panel " + RootPanel.get().getWidgetCount() + " C");
cell3.getElement().getStyle().setBorderStyle(BorderStyle.SOLID);
cell3.getElement().getStyle().setBorderColor("blue");
cell3.getElement().getStyle().setBorderWidth(5, Unit.PX);
panel.add(cell1);
panel.add(cell2);
panel.add(cell3);
//panel.setVisible(true);
panel.getElement().setId("" + RootPanel.get().getWidgetCount());
panel.getElement().getStyle().setBorderStyle(BorderStyle.DOTTED);
panel.getElement().getStyle().setBorderColor("gray");
panel.getElement().getStyle().setBorderWidth(2, Unit.PX);
RootPanel.get().add(panel);
createdPanel.addItem(panel.getElement().getId());
}
if (selectedPanel.equals("FlowPanel")) {
FlowPanel panel = new FlowPanel();
panel.setSize("600", "600");
panel.setTitle("title : " + selectedPanel);
Label cell1 = new Label("Panel " + RootPanel.get().getWidgetCount() + " A");
cell1.getElement().getStyle().setBorderStyle(BorderStyle.SOLID);
cell1.getElement().getStyle().setBorderColor("blue");
cell1.getElement().getStyle().setBorderWidth(5, Unit.PX);
cell1.setSize("50", "20");
Label cell2 = new Label("Panel " + RootPanel.get().getWidgetCount() + " B");
cell2.getElement().getStyle().setBorderStyle(BorderStyle.SOLID);
cell2.getElement().getStyle().setBorderColor("blue");
cell2.getElement().getStyle().setBorderWidth(5, Unit.PX);
cell2.setSize("500", "20");
Label cell3= new Label("Panel " + RootPanel.get().getWidgetCount() + " C");
cell3.getElement().getStyle().setBorderStyle(BorderStyle.SOLID);
cell3.getElement().getStyle().setBorderColor("blue");
cell3.getElement().getStyle().setBorderWidth(5, Unit.PX);
cell3.setSize("80", "20");
Label cell4= new Label("Panel " + RootPanel.get().getWidgetCount() + " C");
cell4.getElement().getStyle().setBorderStyle(BorderStyle.SOLID);
cell4.getElement().getStyle().setBorderColor("blue");
cell4.getElement().getStyle().setBorderWidth(5, Unit.PX);
cell4.setSize("80", "20");
panel.add(cell1);
panel.add(cell2);
panel.add(cell3);
panel.add(cell4);
//panel.setVisible(true);
panel.getElement().setId("" + RootPanel.get().getWidgetCount());
panel.getElement().getStyle().setBorderStyle(BorderStyle.DOTTED);
panel.getElement().getStyle().setBorderColor("gray");
panel.getElement().getStyle().setBorderWidth(2, Unit.PX);
RootPanel.get().add(panel);
createdPanel.addItem(panel.getElement().getId());
}
}
});
removePanelButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
if (count < RootPanel.get().getWidgetCount()) {
RootPanel.get().remove(RootPanel.get().getWidgetCount() - 1);
createdPanel.removeItem(createdPanel.getItemCount() - 1);
}
}
});
popup.setTitle("popup:");
popup.setVisible(true);
popup.show();
addPanelButton.setFocus(true);
}
/**
* This is the entry point method.
*/
public void onModuleLoad() {
// UserService userService = UserServiceFactory.getUserService();
//
//
// if (!userService.isUserLoggedIn()) {
// Please <a href="<%=userService.createLoginURL("/newlogin.jsp")>">log in</a>>
// } else
// userService.getCurrentUser().getNickname();
// (<a href="<%=userService.createLogoutURL("/")>">log out</a>>)
// }
// RootPanel.get().getElement().getStyle().setOutlineStyle(OutlineStyle.DOTTED);
// RootPanel.get().getElement().getStyle().setOutlineWidth(5, Unit.PX);
// RootPanel.get().getElement().getStyle().setOutlineColor("gray");
authService.authenticate(
new AsyncCallback<AppUser>() {
public void onFailure(Throwable caught) {
String error = caught.getMessage();
}
public void onSuccess(AppUser result) {
user = result;
//popup.setTitle("popup:" + user.getEmail());
//popup.setVisible(true);
//popup.show();
//popupButton.setFocus(true);
}
});
// DockLayoutPanel appPanel = new DockLayoutPanel(Unit.EM);
// appPanel.add(new Label("this is the DockLayoutPanel"));
// RootLayoutPanel.get().add(appPanel);
final Button sendButton = new Button("Send");
final TextBox nameField = new TextBox();
nameField.setText("GWT User");
final Label errorLabel = new Label();
final Label greetingsLabel = new Label();
// We can add style names to widgets
sendButton.addStyleName("sendButton");
// Add the nameField and sendButton to the RootPanel
// Use RootPanel.get() to get the entire body element
RootPanel.get("nameFieldContainer").add(nameField);
RootPanel.get("sendButtonContainer").add(sendButton);
RootPanel.get("errorLabelContainer").add(errorLabel);
RootPanel.get("greetings").add(greetingsLabel);
// Focus the cursor on the name field when the app loads
nameField.setFocus(true);
nameField.selectAll();
// Create the popup dialog box
final DialogBox dialogBox = new DialogBox();
dialogBox.setText("Remote Procedure Call");
dialogBox.setAnimationEnabled(true);
final Button closeButton = new Button("Close");
// We can set the id of a widget by accessing its Element
closeButton.getElement().setId("closeButton");
final Label textToServerLabel = new Label();
final HTML serverResponseLabel = new HTML();
VerticalPanel dialogVPanel = new VerticalPanel();
dialogVPanel.addStyleName("dialogVPanel");
dialogVPanel.add(new HTML("<b>Sending name to the server:</b>"));
dialogVPanel.add(textToServerLabel);
dialogVPanel.add(new HTML("<br><b>Server replies:</b>"));
dialogVPanel.add(serverResponseLabel);
dialogVPanel.setHorizontalAlignment(VerticalPanel.ALIGN_RIGHT);
dialogVPanel.add(closeButton);
dialogBox.setWidget(dialogVPanel);
greetingService.listGreetings(
new AsyncCallback<List<String>>() {
public void onFailure(Throwable caught) {
// Show the RPC error message to the user
dialogBox
.setText("Remote Procedure Call - Failure");
serverResponseLabel
.addStyleName("serverResponseLabelError");
serverResponseLabel.setHTML(SERVER_ERROR);
dialogBox.center();
closeButton.setFocus(true);
}
public void onSuccess(List<String> result) {
if (result != null && result.size() > 0) {
for (String s : result) {
greetingsLabel.setText(greetingsLabel.getText() + "\n" + s);
}
}
}
});
// Add a handler to close the DialogBox
closeButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
dialogBox.hide();
sendButton.setEnabled(true);
sendButton.setFocus(true);
}
});
// Create a handler for the sendButton and nameField
class MyHandler implements ClickHandler, KeyUpHandler {
/**
* Fired when the user clicks on the sendButton.
*/
public void onClick(ClickEvent event) {
sendNameToServer();
}
/**
* Fired when the user types in the nameField.
*/
public void onKeyUp(KeyUpEvent event) {
if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
sendNameToServer();
}
}
/**
* Send the name from the nameField to the server and wait for a response.
*/
private void sendNameToServer() {
// First, we validate the input.
errorLabel.setText("");
String textToServer = nameField.getText();
if (!FieldVerifier.isValidName(textToServer)) {
errorLabel.setText("Please enter at least four characters");
return;
}
// Then, we send the input to the server.
sendButton.setEnabled(false);
textToServerLabel.setText(textToServer);
serverResponseLabel.setText("");
greetingService.greetServer(textToServer,
new AsyncCallback<String>() {
public void onFailure(Throwable caught) {
// Show the RPC error message to the user
dialogBox
.setText("Remote Procedure Call - Failure");
serverResponseLabel
.addStyleName("serverResponseLabelError");
serverResponseLabel.setHTML(SERVER_ERROR);
dialogBox.center();
closeButton.setFocus(true);
}
public void onSuccess(String result) {
dialogBox.setText("Remote Procedure Call");
serverResponseLabel
.removeStyleName("serverResponseLabelError");
serverResponseLabel.setHTML(result);
dialogBox.center();
closeButton.setFocus(true);
}
});
}
}
// Add a handler to send the name to the server
MyHandler handler = new MyHandler();
sendButton.addClickHandler(handler);
nameField.addKeyUpHandler(handler);
final Button createEntityButton = new Button("Create Entity");
final Button getEntitiesButton = new Button("Get Entities");
final Button getEntityButton = new Button("Get Entity");
final TextBox dbNameField = new TextBox();
final TextBox tableNameField = new TextBox();
final TextBox idField = new TextBox();
final VerticalPanel entitiesPanel = new VerticalPanel();
RootPanel.get("dbName").add(dbNameField);
RootPanel.get("tableName").add(tableNameField);
RootPanel.get("tableName").add(idField);
RootPanel.get("createEntity").add(createEntityButton);
RootPanel.get("createEntity").add(getEntitiesButton);
RootPanel.get("createEntity").add(getEntityButton);
RootPanel.get("entities").add(entitiesPanel);
getEntitiesButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
entityService.list(
dbNameField.getValue(),
tableNameField.getValue(),
new AsyncCallback<HashMap<String, HashMap<String, Object>>>() {
public void onFailure(Throwable caught) {
// Show the RPC error message to the user
dialogBox
.setText("Remote Procedure Call - Failure");
serverResponseLabel
.addStyleName("serverResponseLabelError");
serverResponseLabel.setHTML(SERVER_ERROR);
dialogBox.center();
closeButton.setFocus(true);
}
public void onSuccess(HashMap<String, HashMap<String, Object>> result) {
entitiesPanel.clear();
if (result != null && result.size() > 0) {
for (String s : result.keySet()) {
HorizontalPanel hp = new HorizontalPanel();
String properties = "";
for (String property : result.get(s).keySet()) {
properties = properties + "\n" + property + "=" + result.get(s).get(property);
}
hp.add(new Label(properties));
entitiesPanel.add(hp);
}
}
}
});
}
});
getEntityButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
entityService.read(
dbNameField.getValue(),
tableNameField.getValue(),
idField.getValue(),
new AsyncCallback<HashMap<String, HashMap<String, Object>>>() {
public void onFailure(Throwable caught) {
// Show the RPC error message to the user
dialogBox
.setText("Remote Procedure Call - Failure");
serverResponseLabel
.addStyleName("serverResponseLabelError");
serverResponseLabel.setHTML(SERVER_ERROR);
dialogBox.center();
closeButton.setFocus(true);
}
public void onSuccess(HashMap<String, HashMap<String, Object>> result) {
entitiesPanel.clear();
if (result != null && result.size() > 0) {
for (String s : result.keySet()) {
HorizontalPanel hp = new HorizontalPanel();
String properties = "";
for (String property : result.get(s).keySet()) {
properties = properties + "\n" + property + "=" + result.get(s).get(property);
}
hp.add(new Label(properties));
entitiesPanel.add(hp);
}
}
}
});
}
});
createEntityButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
try {
/*entityService.create(
dbNameField.getValue(),
tableNameField.getValue(),
new HashMap<String, Object>(),
new AsyncCallback<String>() {
public void onFailure(Throwable caught) {
// Show the RPC error message to the user
dialogBox
.setText("Remote Procedure Call - Failure");
serverResponseLabel
.addStyleName("serverResponseLabelError");
serverResponseLabel.setHTML(SERVER_ERROR);
dialogBox.center();
closeButton.setFocus(true);
}
public void onSuccess(String result) {
if (result != null && result.length() > 0) {
dialogBox.setText("Remote Procedure Call");
serverResponseLabel
.removeStyleName("serverResponseLabelError");
serverResponseLabel.setHTML(result);
dialogBox.center();
closeButton.setFocus(true);
}
}
});*/
/*pageService.create(
dbNameField.getValue(),
tableNameField.getValue(),
new HashMap<String, Object>(),
new AsyncCallback<String>() {
public void onFailure(Throwable caught) {
// Show the RPC error message to the user
dialogBox
.setText("Remote Procedure Call - Failure");
serverResponseLabel
.addStyleName("serverResponseLabelError");
serverResponseLabel.setHTML(SERVER_ERROR);
dialogBox.center();
closeButton.setFocus(true);
}
public void onSuccess(String result) {
if (result != null && result.length() > 0) {
dialogBox.setText("Remote Procedure Call");
serverResponseLabel
.removeStyleName("serverResponseLabelError");
serverResponseLabel.setHTML(result);
dialogBox.center();
closeButton.setFocus(true);
}
}
});*/
} catch ( Exception e ) {
e.printStackTrace();
}
}
});
//MyHandler handler2 = new MyHandler();
//getEntityButton.addClickHandler(handler2);
//createEntityButton.addClickHandler(handler2);
createAdminPopup();
}
}