You would use Maven Archetype with a little workaround of pom.xml and code.
Form CLI execute:
mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo -DarchetypeArtifactId=gwt-maven-plugin -DarchetypeVersion=2.7.0
Then:
mvn gwt:verify
mvn gwt:run
At this point you will be able to run pure GWT demo.
Now is the GXT time:
In root html file add following line as the first stylesheet
<link rel="stylesheet" type="text/css" href="MyModule/reset.css">
Remove the table for the Web Application Starter project. We don’t need it for this guide.
Add the line below to the *.gwt.xml
<inherits name="com.sencha.gxt.ui.GXT" />
And remove the following line from the same file:
<inherits name="com.google.gwt.user.theme.standard.Standard" />
Inside of the main root class that implements EntryPoint leave only this:
public void onModuleLoad() {BasicTabExample tabs = new BasicTabExample();
RootPanel.get().add(tabs);
}
Create in the same package of the root class this class:
import
com.google.gwt.event.logical.shared.SelectionEvent;
import
com.google.gwt.event.logical.shared.SelectionHandler;
import
com.google.gwt.user.client.ui.HTML;
import
com.google.gwt.user.client.ui.Label;
import
com.google.gwt.user.client.ui.VerticalPanel;
import
com.google.gwt.user.client.ui.Widget;
import
com.sencha.gxt.widget.core.client.PlainTabPanel;
import
com.sencha.gxt.widget.core.client.TabItemConfig;
import
com.sencha.gxt.widget.core.client.TabPanel;
import
com.sencha.gxt.widget.core.client.container.FlowLayoutContainer;
import
com.sencha.gxt.widget.core.client.info.Info;
public
class
BasicTabExample
extends
FlowLayoutContainer {
public
BasicTabExample() {
VerticalPanel vp =
new
VerticalPanel();
vp.setSpacing(
10
);
String txt =
"Test"
;
SelectionHandler<Widget> handler =
new
SelectionHandler<Widget>() {
public
void
onSelection(SelectionEvent<Widget> event) {
TabPanel panel = (TabPanel) event.getSource();
Widget w = event.getSelectedItem();
TabItemConfig config = panel.getConfig(w);
Info.display(
"Message"
,
"'"
+ config.getText() +
"' Selected"
);
}
};
TabPanel folder =
new
TabPanel();
folder.addSelectionHandler(handler);
folder.setWidth(
450
);
HTML shortText =
new
HTML(txt);
shortText.addStyleName(
"pad-text"
);
folder.add(shortText,
"Short Text"
);
HTML longText =
new
HTML(txt +
"<br><br>"
+ txt);
longText.addStyleName(
"pad-text"
);
folder.add(longText,
"Long Text"
);
final
PlainTabPanel panel =
new
PlainTabPanel();
panel.setPixelSize(
450
,
250
);
panel.addSelectionHandler(handler);
Label normal =
new
Label(
"Just a plain old tab"
);
normal.addStyleName(
"pad-text"
);
panel.add(normal,
"Normal"
);
Label iconTab =
new
Label(
"Just a plain old tab with an icon"
);
iconTab.addStyleName(
"pad-text"
);
TabItemConfig config =
new
TabItemConfig(
"Icon Tab"
);
panel.add(iconTab, config);
Label disabled =
new
Label(
"This tab should be disabled"
);
disabled.addStyleName(
"pad-text"
);
config =
new
TabItemConfig(
"Disabled"
);
config.setEnabled(
false
);
panel.add(disabled, config);
vp.add(folder);
vp.add(panel);
add(vp);
}
}
No comments:
Post a Comment