You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by tv...@apache.org on 2009/05/12 23:04:03 UTC
svn commit: r774083 -
/incubator/pivot/trunk/tutorials/src/pivot/tutorials/Demo.java
Author: tvolkert
Date: Tue May 12 21:04:03 2009
New Revision: 774083
URL: http://svn.apache.org/viewvc?rev=774083&view=rev
Log:
Restructured tutorials demo to use named inner classes as opposed to anonymous inner classes
Modified:
incubator/pivot/trunk/tutorials/src/pivot/tutorials/Demo.java
Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/Demo.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/Demo.java?rev=774083&r1=774082&r2=774083&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/Demo.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/Demo.java Tue May 12 21:04:03 2009
@@ -96,600 +96,618 @@
}
}
- private Window window = null;
+ private class ButtonsRollupStateHandler extends RollupStateHandler {
+ @Load(name="buttons.wtkx")
+ private Component component;
- @Load(name="demo.wtkx") private Component content;
- @Bind(property="content") private Rollup buttonsRollup;
- @Bind(property="content") private Rollup listsRollup;
- @Bind(property="content") private Rollup textRollup;
- @Bind(property="content") private Rollup calendarsRollup;
- @Bind(property="content") private Rollup navigationRollup;
- @Bind(property="content") private Rollup splittersRollup;
- @Bind(property="content") private Rollup menusRollup;
- @Bind(property="content") private Rollup metersRollup;
- @Bind(property="content") private Rollup spinnersRollup;
- @Bind(property="content") private Rollup tablesRollup;
- @Bind(property="content") private Rollup treesRollup;
- @Bind(property="content") private Rollup dragDropRollup;
- @Bind(property="content") private Rollup alertsRollup;
+ public Vote previewExpandedChange(Rollup rollup) {
+ if (component == null) {
+ bind();
+ rollup.setContent(component);
+ }
- public static void main(String[] args) {
- DesktopApplicationContext.main(Demo.class, args);
+ return Vote.APPROVE;
+ }
}
- @SuppressWarnings("unchecked")
- public void startup(final Display display, Dictionary<String, String> properties) throws Exception {
- // NOTE This is commented out because it takes a non-negligible amount
- // of time to execute
- /*
- TerraTheme terraTheme = (TerraTheme)Theme.getTheme();
- URL schemeLocation = TerraTheme.class.getResource("TerraTheme_default.json");
- terraTheme.loadScheme(schemeLocation);
- */
-
- bind();
+ private class ListsRollupStateHandler extends RollupStateHandler {
+ @Load(name="lists.wtkx") private Component component;
+ @Bind(property="component") private ListView editableListView;
+ @Bind(property="component") private ListView iconListView;
+ @Bind(property="component") private ListView checkedListView;
+
+ @SuppressWarnings("unchecked")
+ public Vote previewExpandedChange(Rollup rollup) {
+ if (component == null) {
+ bind();
+ rollup.setContent(component);
+
+ List<ListItem> listData = (List<ListItem>)editableListView.getListData();
+ listData.setComparator(new Comparator<ListItem>() {
+ public int compare(ListItem listItem1, ListItem listItem2) {
+ String text1 = listItem1.getText();
+ String text2 = listItem2.getText();
+ return text1.compareToIgnoreCase(text2);
+ }
+ });
- buttonsRollup.getRollupStateListeners().add(new RollupStateHandler() {
- @Load(name="buttons.wtkx")
- private Component component;
-
- public Vote previewExpandedChange(Rollup rollup) {
- if (component == null) {
- bind();
- rollup.setContent(component);
- }
+ iconListView.setItemDisabled(3, true);
+ iconListView.setItemDisabled(4, true);
- return Vote.APPROVE;
+ checkedListView.setItemChecked(0, true);
+ checkedListView.setItemChecked(2, true);
+ checkedListView.setItemChecked(3, true);
}
- });
- listsRollup.getRollupStateListeners().add(new RollupStateHandler() {
- @Load(name="lists.wtkx") private Component component;
- @Bind(property="component") private ListView editableListView;
- @Bind(property="component") private ListView iconListView;
- @Bind(property="component") private ListView checkedListView;
-
- public Vote previewExpandedChange(Rollup rollup) {
- if (component == null) {
- bind();
- rollup.setContent(component);
-
- List<ListItem> listData = (List<ListItem>)editableListView.getListData();
- listData.setComparator(new Comparator<ListItem>() {
- public int compare(ListItem listItem1, ListItem listItem2) {
- String text1 = listItem1.getText();
- String text2 = listItem2.getText();
- return text1.compareToIgnoreCase(text2);
- }
- });
+ return Vote.APPROVE;
+ }
+ }
+
+ private class TextRollupStateHandler extends RollupStateHandler {
+ @Load(name="text.wtkx") private Component component;
+ @Bind(property="component") private TextArea textArea;
+
+ public Vote previewExpandedChange(Rollup rollup) {
+ if (component == null) {
+ bind();
+ rollup.setContent(component);
- iconListView.setItemDisabled(3, true);
- iconListView.setItemDisabled(4, true);
+ PlainTextSerializer plainTextSerializer = new PlainTextSerializer("UTF-8");
+ InputStream inputStream = getClass().getResourceAsStream("text_area.txt");
- checkedListView.setItemChecked(0, true);
- checkedListView.setItemChecked(2, true);
- checkedListView.setItemChecked(3, true);
+ Document document = null;
+ try {
+ document = plainTextSerializer.readObject(inputStream);
+ } catch(Exception exception) {
+ System.out.println(exception);
}
- return Vote.APPROVE;
- }
- });
+ textArea.setDocument(document);
- textRollup.getRollupStateListeners().add(new RollupStateHandler() {
- @Load(name="text.wtkx") private Component component;
- @Bind(property="component") private TextArea textArea;
+ final WatermarkDecorator watermarkDecorator = new WatermarkDecorator("Preview");
+ watermarkDecorator.setOpacity(0.1f);
+ watermarkDecorator.setFont(watermarkDecorator.getFont().deriveFont(Font.BOLD, 24));
- public Vote previewExpandedChange(Rollup rollup) {
- if (component == null) {
- bind();
- rollup.setContent(component);
+ textArea.getDecorators().add(watermarkDecorator);
- PlainTextSerializer plainTextSerializer = new PlainTextSerializer("UTF-8");
- InputStream inputStream = getClass().getResourceAsStream("text_area.txt");
+ textArea.getComponentStateListeners().add(new ComponentStateListener() {
+ public void enabledChanged(Component component) {
+ // No-op
+ }
- Document document = null;
- try {
- document = plainTextSerializer.readObject(inputStream);
- } catch(Exception exception) {
- System.out.println(exception);
+ public void focusedChanged(Component component, boolean temporary) {
+ component.getDecorators().remove(watermarkDecorator);
+ component.getComponentStateListeners().remove(this);
}
+ });
+ }
- textArea.setDocument(document);
+ return Vote.APPROVE;
+ }
+ }
- final WatermarkDecorator watermarkDecorator = new WatermarkDecorator("Preview");
- watermarkDecorator.setOpacity(0.1f);
- watermarkDecorator.setFont(watermarkDecorator.getFont().deriveFont(Font.BOLD, 24));
+ private class CalendarsRollupStateHandler extends RollupStateHandler {
+ @Load(name="calendars.wtkx") private Component component;
- textArea.getDecorators().add(watermarkDecorator);
+ public Vote previewExpandedChange(Rollup rollup) {
+ if (component == null) {
+ bind();
+ rollup.setContent(component);
+ }
- textArea.getComponentStateListeners().add(new ComponentStateListener() {
- public void enabledChanged(Component component) {
- // No-op
- }
+ return Vote.APPROVE;
+ }
+ }
- public void focusedChanged(Component component, boolean temporary) {
- component.getDecorators().remove(watermarkDecorator);
- component.getComponentStateListeners().remove(this);
- }
- });
- }
+ private class NavigationRollupStateHandler extends RollupStateHandler {
+ @Load(name="navigation.wtkx") private Component component;
- return Vote.APPROVE;
+ public Vote previewExpandedChange(Rollup rollup) {
+ if (component == null) {
+ bind();
+ rollup.setContent(component);
}
- });
- calendarsRollup.getRollupStateListeners().add(new RollupStateHandler() {
- @Load(name="calendars.wtkx") private Component component;
+ return Vote.APPROVE;
+ }
+ }
- public Vote previewExpandedChange(Rollup rollup) {
- if (component == null) {
- bind();
- rollup.setContent(component);
- }
+ private class SplittersRollupStateHandler extends RollupStateHandler {
+ @Load(name="splitters.wtkx") private Component component;
- return Vote.APPROVE;
+ public Vote previewExpandedChange(Rollup rollup) {
+ if (component == null) {
+ bind();
+ rollup.setContent(component);
}
- });
- navigationRollup.getRollupStateListeners().add(new RollupStateHandler() {
- @Load(name="navigation.wtkx") private Component component;
+ return Vote.APPROVE;
+ }
+ }
- public Vote previewExpandedChange(Rollup rollup) {
- if (component == null) {
- bind();
- rollup.setContent(component);
- }
+ private class MenusRollupStateHandler extends RollupStateHandler {
+ @Load(name="menus.wtkx") private Component component;
+ @Bind(property="component") private ImageView menuImageView;
- return Vote.APPROVE;
- }
- });
+ @Bind(property="component", name="menubar.helpAboutMenuItem")
+ private Menu.Item helpAboutMenuItem;
- splittersRollup.getRollupStateListeners().add(new RollupStateHandler() {
- @Load(name="splitters.wtkx") private Component component;
+ @Load(name="menu_popup.wtkx") private MenuPopup menuPopup;
- public Vote previewExpandedChange(Rollup rollup) {
- if (component == null) {
- bind();
- rollup.setContent(component);
+ { new Action("selectImageAction") {
+ public String getDescription() {
+ return "Select Image Action";
}
- return Vote.APPROVE;
- }
- });
+ public void perform() {
+ Button.Group imageMenuGroup = Button.getGroup("imageMenuGroup");
+ Button selectedItem = imageMenuGroup.getSelection();
- menusRollup.getRollupStateListeners().add(new RollupStateHandler() {
- @Load(name="menus.wtkx") private Component component;
- @Bind(property="component") private ImageView menuImageView;
+ String imageName = (String)selectedItem.getUserData();
- @Bind(property="component", name="menubar.helpAboutMenuItem")
- private Menu.Item helpAboutMenuItem;
+ ClassLoader classLoader = ThreadUtilities.getClassLoader();
+ URL imageURL = classLoader.getResource(imageName);
- @Load(name="menu_popup.wtkx") private MenuPopup menuPopup;
+ // If the image has not been added to the resource cache yet,
+ // add it
+ Image image = (Image)ApplicationContext.getResourceCache().get(imageURL);
- { new Action("selectImageAction") {
- public String getDescription() {
- return "Select Image Action";
+ if (image == null) {
+ image = Image.load(imageURL);
+ ApplicationContext.getResourceCache().put(imageURL, image);
}
- public void perform() {
- Button.Group imageMenuGroup = Button.getGroup("imageMenuGroup");
- Button selectedItem = imageMenuGroup.getSelection();
+ // Update the image
+ menuImageView.setImage(image);
+ }
+ };
+ }
- String imageName = (String)selectedItem.getUserData();
+ public Vote previewExpandedChange(Rollup rollup) {
+ if (component == null) {
+ bind();
+ rollup.setContent(component);
+
+ menuImageView.getComponentMouseButtonListeners().add(new ComponentMouseButtonListener.Adapter() {
+ @Override
+ public boolean mouseDown(Component component, Mouse.Button button, int x, int y) {
+ if (button == Mouse.Button.RIGHT
+ || (button == Mouse.Button.LEFT
+ && Keyboard.isPressed(Keyboard.Modifier.CTRL))) {
+ menuPopup.open(window, component.mapPointToAncestor(display, x, y));
+ }
- ClassLoader classLoader = ThreadUtilities.getClassLoader();
- URL imageURL = classLoader.getResource(imageName);
+ return false;
+ }
+ });
- // If the image has not been added to the resource cache yet,
- // add it
- Image image = (Image)ApplicationContext.getResourceCache().get(imageURL);
+ helpAboutMenuItem.getButtonPressListeners().add(new ButtonPressListener() {
+ public void buttonPressed(Button button) {
+ handleAbout();
+ }
+ });
+ }
- if (image == null) {
- image = Image.load(imageURL);
- ApplicationContext.getResourceCache().put(imageURL, image);
- }
+ return Vote.APPROVE;
+ }
+ }
- // Update the image
- menuImageView.setImage(image);
+ private class MetersRollupStateHandler extends RollupStateHandler {
+ @Load(name="meters.wtkx") private Component component;
+ @Bind(property="component") private ActivityIndicator activityIndicator1;
+ @Bind(property="component") private ActivityIndicator activityIndicator2;
+ @Bind(property="component") private ActivityIndicator activityIndicator3;
+
+ public Vote previewExpandedChange(Rollup rollup) {
+ if (component == null) {
+ bind();
+ rollup.setContent(component);
+
+ metersRollup.getRollupStateListeners().add(new RollupStateListener() {
+ public Vote previewExpandedChange(Rollup rollup) {
+ return Vote.APPROVE;
}
- };
- }
- public Vote previewExpandedChange(Rollup rollup) {
- if (component == null) {
- bind();
- rollup.setContent(component);
-
- menuImageView.getComponentMouseButtonListeners().add(new ComponentMouseButtonListener.Adapter() {
- @Override
- public boolean mouseDown(Component component, Mouse.Button button, int x, int y) {
- if (button == Mouse.Button.RIGHT
- || (button == Mouse.Button.LEFT
- && Keyboard.isPressed(Keyboard.Modifier.CTRL))) {
- menuPopup.open(window, component.mapPointToAncestor(display, x, y));
- }
+ public void expandedChangeVetoed(Rollup rollup, Vote reason) {
+ // No-op
+ }
- return false;
- }
- });
+ public void expandedChanged(Rollup rollup) {
+ activityIndicator1.setActive(rollup.isExpanded());
+ activityIndicator2.setActive(rollup.isExpanded());
+ activityIndicator3.setActive(rollup.isExpanded());
+ }
+ });
+}
- helpAboutMenuItem.getButtonPressListeners().add(new ButtonPressListener() {
- public void buttonPressed(Button button) {
- handleAbout();
- }
- });
- }
+ return Vote.APPROVE;
+ }
+ }
- return Vote.APPROVE;
- }
- });
+ private class SpinnersRollupStateHandler extends RollupStateHandler {
+ @Load(name="spinners.wtkx") private Component component;
- metersRollup.getRollupStateListeners().add(new RollupStateHandler() {
- @Load(name="meters.wtkx") private Component component;
- @Bind(property="component") private ActivityIndicator activityIndicator1;
- @Bind(property="component") private ActivityIndicator activityIndicator2;
- @Bind(property="component") private ActivityIndicator activityIndicator3;
-
- public Vote previewExpandedChange(Rollup rollup) {
- if (component == null) {
- bind();
- rollup.setContent(component);
-
- metersRollup.getRollupStateListeners().add(new RollupStateListener() {
- public Vote previewExpandedChange(Rollup rollup) {
- return Vote.APPROVE;
- }
+ @Bind(property="component") private Spinner numericSpinner;
+ @Bind(property="component") private Spinner dateSpinner;
- public void expandedChangeVetoed(Rollup rollup, Vote reason) {
- // No-op
- }
+ @Bind(property="component") private Slider redSlider;
+ @Bind(property="component") private Slider greenSlider;
+ @Bind(property="component") private Slider blueSlider;
+ @Bind(property="component") private Border colorBorder;
+
+ public Vote previewExpandedChange(Rollup rollup) {
+ if (component == null) {
+ bind();
+ rollup.setContent(component);
+
+ initializeNumericSpinner(numericSpinner);
+ initializeDateSpinner(dateSpinner);
+
+ SliderValueListener sliderValueListener = new SliderValueListener() {
+ public void valueChanged(Slider slider, int previousValue) {
+ Color color = new Color(redSlider.getValue(), greenSlider.getValue(),
+ blueSlider.getValue());
+ colorBorder.getStyles().put("backgroundColor", color);
+ }
+ };
- public void expandedChanged(Rollup rollup) {
- activityIndicator1.setActive(rollup.isExpanded());
- activityIndicator2.setActive(rollup.isExpanded());
- activityIndicator3.setActive(rollup.isExpanded());
- }
- });
-}
+ redSlider.getSliderValueListeners().add(sliderValueListener);
+ greenSlider.getSliderValueListeners().add(sliderValueListener);
+ blueSlider.getSliderValueListeners().add(sliderValueListener);
- return Vote.APPROVE;
+ Color color = new Color(redSlider.getValue(), greenSlider.getValue(),
+ blueSlider.getValue());
+ colorBorder.getStyles().put("backgroundColor", color);
}
- });
-
- spinnersRollup.getRollupStateListeners().add(new RollupStateHandler() {
- @Load(name="spinners.wtkx") private Component component;
- @Bind(property="component") private Spinner numericSpinner;
- @Bind(property="component") private Spinner dateSpinner;
-
- @Bind(property="component") private Slider redSlider;
- @Bind(property="component") private Slider greenSlider;
- @Bind(property="component") private Slider blueSlider;
- @Bind(property="component") private Border colorBorder;
-
- public Vote previewExpandedChange(Rollup rollup) {
- if (component == null) {
- bind();
- rollup.setContent(component);
-
- initializeNumericSpinner(numericSpinner);
- initializeDateSpinner(dateSpinner);
-
- SliderValueListener sliderValueListener = new SliderValueListener() {
- public void valueChanged(Slider slider, int previousValue) {
- Color color = new Color(redSlider.getValue(), greenSlider.getValue(),
- blueSlider.getValue());
- colorBorder.getStyles().put("backgroundColor", color);
- }
- };
+ return Vote.APPROVE;
+ }
+ }
- redSlider.getSliderValueListeners().add(sliderValueListener);
- greenSlider.getSliderValueListeners().add(sliderValueListener);
- blueSlider.getSliderValueListeners().add(sliderValueListener);
-
- Color color = new Color(redSlider.getValue(), greenSlider.getValue(),
- blueSlider.getValue());
- colorBorder.getStyles().put("backgroundColor", color);
- }
+ private class TablesRollupStateHandler extends RollupStateHandler {
+ @Load(name="tables.wtkx") private Component component;
+ @Bind(property="component") private TableView sortableTableView;
+ @Bind(property="component") private TableView customTableView;
+ @Bind(property="component") private TableViewHeader sortableTableViewHeader;
+
+ public Vote previewExpandedChange(Rollup rollup) {
+ if (component == null) {
+ bind();
+ rollup.setContent(component);
+
+ // Set table header data
+ TableView.ColumnSequence columns = sortableTableView.getColumns();
+ columns.get(0).setHeaderData(new TableViewHeaderData("#"));
+ columns.get(1).setHeaderData(new TableViewHeaderData("A"));
+ columns.get(2).setHeaderData(new TableViewHeaderData("B"));
+ columns.get(3).setHeaderData(new TableViewHeaderData("C"));
+ columns.get(4).setHeaderData(new TableViewHeaderData("D"));
+
+ // Populate table
+ ArrayList<Object> tableData = new ArrayList<Object>();
+
+ for (int i = 0; i < 10000; i++) {
+ TableRow tableRow = new TableRow();
+
+ tableRow.put("i", i);
+ tableRow.put("a", (int)Math.round(Math.random() * 10));
+ tableRow.put("b", (int)Math.round(Math.random() * 100));
+ tableRow.put("c", (int)Math.round(Math.random() * 1000));
+ tableRow.put("d", (int)Math.round(Math.random() * 10000));
+
+ tableData.add(tableRow);
+ }
+
+ sortableTableView.setTableData(tableData);
+
+ // Install header press listener
+ sortableTableViewHeader.getTableViewHeaderPressListeners().add(new TableView.SortHandler());
+
+ customTableView.getComponentMouseButtonListeners().add(new ComponentMouseButtonListener.Adapter() {
+ @Override
+ @SuppressWarnings("unchecked")
+ public boolean mouseClick(Component component, Mouse.Button button, int x, int y, int count) {
+ if (button == Mouse.Button.LEFT) {
+ List<CustomTableRow> customTableData =
+ (List<CustomTableRow>)customTableView.getTableData();
+
+ int columnIndex = customTableView.getColumnAt(x);
+ if (columnIndex == 0) {
+ int rowIndex = customTableView.getRowAt(y);
+ CustomTableRow row = customTableData.get(rowIndex);
+
+ row.setA(!row.getA());
+ customTableData.update(rowIndex, row);
+ }
+ }
- return Vote.APPROVE;
+ return false;
+ }
+ });
}
- });
- tablesRollup.getRollupStateListeners().add(new RollupStateHandler() {
- @Load(name="tables.wtkx") private Component component;
- @Bind(property="component") private TableView sortableTableView;
- @Bind(property="component") private TableView customTableView;
- @Bind(property="component") private TableViewHeader sortableTableViewHeader;
-
- public Vote previewExpandedChange(Rollup rollup) {
- if (component == null) {
- bind();
- rollup.setContent(component);
-
- // Set table header data
- TableView.ColumnSequence columns = sortableTableView.getColumns();
- columns.get(0).setHeaderData(new TableViewHeaderData("#"));
- columns.get(1).setHeaderData(new TableViewHeaderData("A"));
- columns.get(2).setHeaderData(new TableViewHeaderData("B"));
- columns.get(3).setHeaderData(new TableViewHeaderData("C"));
- columns.get(4).setHeaderData(new TableViewHeaderData("D"));
-
- // Populate table
- ArrayList<Object> tableData = new ArrayList<Object>();
-
- for (int i = 0; i < 10000; i++) {
- TableRow tableRow = new TableRow();
-
- tableRow.put("i", i);
- tableRow.put("a", (int)Math.round(Math.random() * 10));
- tableRow.put("b", (int)Math.round(Math.random() * 100));
- tableRow.put("c", (int)Math.round(Math.random() * 1000));
- tableRow.put("d", (int)Math.round(Math.random() * 10000));
-
- tableData.add(tableRow);
- }
-
- sortableTableView.setTableData(tableData);
-
- // Install header press listener
- sortableTableViewHeader.getTableViewHeaderPressListeners().add(new TableView.SortHandler());
-
- customTableView.getComponentMouseButtonListeners().add(new ComponentMouseButtonListener.Adapter() {
- @Override
- public boolean mouseClick(Component component, Mouse.Button button, int x, int y, int count) {
- if (button == Mouse.Button.LEFT) {
- List<CustomTableRow> customTableData =
- (List<CustomTableRow>)customTableView.getTableData();
-
- int columnIndex = customTableView.getColumnAt(x);
- if (columnIndex == 0) {
- int rowIndex = customTableView.getRowAt(y);
- CustomTableRow row = customTableData.get(rowIndex);
-
- row.setA(!row.getA());
- customTableData.update(rowIndex, row);
- }
- }
+ return Vote.APPROVE;
+ }
+ }
- return false;
- }
- });
- }
+ private class TreesRollupStateHandler extends RollupStateHandler {
+ @Load(name="trees.wtkx") private Component component;
+ @Bind(property="component") private TreeView editableTreeView;
+
+ public Vote previewExpandedChange(Rollup rollup) {
+ if (component == null) {
+ bind();
+ rollup.setContent(component);
- return Vote.APPROVE;
+ TreeBranch treeData = (TreeBranch)editableTreeView.getTreeData();
+ treeData.setComparator(new TreeNodeComparator());
}
- });
- treesRollup.getRollupStateListeners().add(new RollupStateHandler() {
- @Load(name="trees.wtkx") private Component component;
- @Bind(property="component") private TreeView editableTreeView;
+ return Vote.APPROVE;
+ }
+ }
- public Vote previewExpandedChange(Rollup rollup) {
- if (component == null) {
- bind();
- rollup.setContent(component);
+ private class DragDropRollupStateHandler extends RollupStateHandler {
+ @Load(name="dragdrop.wtkx") private Component component;
+ @Bind(property="component") private ImageView imageView1;
+ @Bind(property="component") private ImageView imageView2;
+ @Bind(property="component") private ImageView imageView3;
+
+ public Vote previewExpandedChange(Rollup rollup) {
+ if (component == null) {
+ bind();
+ rollup.setContent(component);
+
+ DragSource imageDragSource = new DragSource() {
+ private Image image = null;
+ private Point offset = null;
+ private LocalManifest content = null;
+
+ public boolean beginDrag(Component component, int x, int y) {
+ ImageView imageView = (ImageView)component;
+ image = imageView.getImage();
+
+ if (image != null) {
+ imageView.setImage((Image)null);
+ content = new LocalManifest();
+ content.putImage(image);
+ offset = new Point(x - (imageView.getWidth() - image.getWidth()) / 2,
+ y - (imageView.getHeight() - image.getHeight()) / 2);
+ }
- TreeBranch treeData = (TreeBranch)editableTreeView.getTreeData();
- treeData.setComparator(new TreeNodeComparator());
- }
+ return (image != null);
+ }
- return Vote.APPROVE;
- }
- });
+ public void endDrag(Component component, DropAction dropAction) {
+ if (dropAction == null) {
+ ImageView imageView = (ImageView)component;
+ imageView.setImage(image);
+ }
- dragDropRollup.getRollupStateListeners().add(new RollupStateHandler() {
- @Load(name="dragdrop.wtkx") private Component component;
- @Bind(property="component") private ImageView imageView1;
- @Bind(property="component") private ImageView imageView2;
- @Bind(property="component") private ImageView imageView3;
-
- public Vote previewExpandedChange(Rollup rollup) {
- if (component == null) {
- bind();
- rollup.setContent(component);
-
- DragSource imageDragSource = new DragSource() {
- private Image image = null;
- private Point offset = null;
- private LocalManifest content = null;
+ image = null;
+ offset = null;
+ content = null;
+ }
- public boolean beginDrag(Component component, int x, int y) {
- ImageView imageView = (ImageView)component;
- image = imageView.getImage();
+ public boolean isNative() {
+ return false;
+ }
- if (image != null) {
- imageView.setImage((Image)null);
- content = new LocalManifest();
- content.putImage(image);
- offset = new Point(x - (imageView.getWidth() - image.getWidth()) / 2,
- y - (imageView.getHeight() - image.getHeight()) / 2);
- }
+ public LocalManifest getContent() {
+ return content;
+ }
- return (image != null);
- }
+ public Visual getRepresentation() {
+ return image;
+ }
- public void endDrag(Component component, DropAction dropAction) {
- if (dropAction == null) {
- ImageView imageView = (ImageView)component;
- imageView.setImage(image);
- }
+ public Point getOffset() {
+ return offset;
+ }
- image = null;
- offset = null;
- content = null;
- }
+ public int getSupportedDropActions() {
+ return DropAction.MOVE.getMask();
+ }
+ };
- public boolean isNative() {
- return false;
+ DropTarget imageDropTarget = new DropTarget() {
+ public DropAction dragEnter(Component component, Manifest dragContent,
+ int supportedDropActions, DropAction userDropAction) {
+ DropAction dropAction = null;
+
+ ImageView imageView = (ImageView)component;
+ if (imageView.getImage() == null
+ && dragContent.containsImage()
+ && DropAction.MOVE.isSelected(supportedDropActions)) {
+ dropAction = DropAction.MOVE;
+ component.getStyles().put("backgroundColor", "#f0e68c");
}
- public LocalManifest getContent() {
- return content;
- }
+ return dropAction;
+ }
- public Visual getRepresentation() {
- return image;
- }
+ public void dragExit(Component component) {
+ component.getStyles().put("backgroundColor", null);
+ }
- public Point getOffset() {
- return offset;
- }
+ public DropAction dragMove(Component component, Manifest dragContent,
+ int supportedDropActions, int x, int y, DropAction userDropAction) {
+ return (dragContent.containsImage() ? DropAction.MOVE : null);
+ }
- public int getSupportedDropActions() {
- return DropAction.MOVE.getMask();
- }
- };
+ public DropAction userDropActionChange(Component component, Manifest dragContent,
+ int supportedDropActions, int x, int y, DropAction userDropAction) {
+ return (dragContent.containsImage() ? DropAction.MOVE : null);
+ }
- DropTarget imageDropTarget = new DropTarget() {
- public DropAction dragEnter(Component component, Manifest dragContent,
- int supportedDropActions, DropAction userDropAction) {
- DropAction dropAction = null;
+ public DropAction drop(Component component, Manifest dragContent,
+ int supportedDropActions, int x, int y, DropAction userDropAction) {
+ DropAction dropAction = null;
+ if (dragContent.containsImage()) {
ImageView imageView = (ImageView)component;
- if (imageView.getImage() == null
- && dragContent.containsImage()
- && DropAction.MOVE.isSelected(supportedDropActions)) {
+ try {
+ imageView.setImage(dragContent.getImage());
dropAction = DropAction.MOVE;
- component.getStyles().put("backgroundColor", "#f0e68c");
+ } catch(IOException exception) {
+ System.err.println(exception);
}
-
- return dropAction;
}
- public void dragExit(Component component) {
- component.getStyles().put("backgroundColor", null);
- }
+ dragExit(component);
- public DropAction dragMove(Component component, Manifest dragContent,
- int supportedDropActions, int x, int y, DropAction userDropAction) {
- return (dragContent.containsImage() ? DropAction.MOVE : null);
- }
+ return dropAction;
+ }
+ };
- public DropAction userDropActionChange(Component component, Manifest dragContent,
- int supportedDropActions, int x, int y, DropAction userDropAction) {
- return (dragContent.containsImage() ? DropAction.MOVE : null);
- }
+ imageView1.setDragSource(imageDragSource);
+ imageView1.setDropTarget(imageDropTarget);
+
+ imageView2.setDragSource(imageDragSource);
+ imageView2.setDropTarget(imageDropTarget);
+
+ imageView3.setDragSource(imageDragSource);
+ imageView3.setDropTarget(imageDropTarget);
+ }
+
+ return Vote.APPROVE;
+ }
+ }
- public DropAction drop(Component component, Manifest dragContent,
- int supportedDropActions, int x, int y, DropAction userDropAction) {
- DropAction dropAction = null;
-
- if (dragContent.containsImage()) {
- ImageView imageView = (ImageView)component;
- try {
- imageView.setImage(dragContent.getImage());
- dropAction = DropAction.MOVE;
- } catch(IOException exception) {
- System.err.println(exception);
- }
+ private class AlertsRollupStateHandler extends RollupStateHandler {
+ @Load(name="alerts.wtkx") private Component component;
+ @Bind(property="component") private PushButton alertButton;
+ @Bind(property="component") private PushButton promptButton;
+
+ public Vote previewExpandedChange(Rollup rollup) {
+ if (component == null) {
+ bind();
+ rollup.setContent(component);
+
+ alertButton.getButtonPressListeners().add(new ButtonPressListener() {
+ public void buttonPressed(Button button) {
+ Button.Group messageTypeGroup = Button.getGroup("messageType");
+ Button selection = messageTypeGroup.getSelection();
+
+ Map<String, ?> userData = JSONSerializer.parseMap((String)selection.getUserData());
+ String messageType = (String)userData.get("type");
+
+ if (messageType.equals("custom")) {
+ ArrayList<String> options = new ArrayList<String>();
+ options.add("OK");
+ options.add("Cancel");
+
+ Component body = null;
+ WTKXSerializer wtkxSerializer = new WTKXSerializer();
+ try {
+ body = (Component)wtkxSerializer.readObject("pivot/tutorials/alert.wtkx");
+ } catch(Exception exception) {
+ System.out.println(exception);
}
- dragExit(component);
+ Alert alert = new Alert(MessageType.QUESTION, "Please select your favorite icon:",
+ options, body);
+ alert.setTitle("Select Icon");
+ alert.setSelectedOption(0);
+ alert.getDecorators().update(0, new ReflectionDecorator());
+
+ alert.open(window);
+ } else {
+ String message = (String)userData.get("message");
+ Alert.alert(MessageType.decode(messageType), message, window);
+ }
+ }
+ });
+
+ promptButton.getButtonPressListeners().add(new ButtonPressListener() {
+ public void buttonPressed(Button button) {
+ Button.Group messageTypeGroup = Button.getGroup("messageType");
+ Button selection = messageTypeGroup.getSelection();
+
+ Map<String, ?> userData = JSONSerializer.parseMap((String)selection.getUserData());
+ String messageType = (String)userData.get("type");
+
+ if (messageType.equals("custom")) {
+ ArrayList<String> options = new ArrayList<String>();
+ options.add("OK");
+ options.add("Cancel");
+
+ Component body = null;
+ WTKXSerializer wtkxSerializer = new WTKXSerializer();
+ try {
+ body = (Component)wtkxSerializer.readObject("pivot/tutorials/alert.wtkx");
+ } catch(Exception exception) {
+ System.out.println(exception);
+ }
- return dropAction;
+ Prompt prompt = new Prompt(MessageType.QUESTION, "Please select your favorite icon:",
+ options, body);
+ prompt.setTitle("Select Icon");
+ prompt.setSelectedOption(0);
+ prompt.getDecorators().update(0, new ReflectionDecorator());
+
+ prompt.open(window);
+ } else {
+ String message = (String)userData.get("message");
+ Prompt.prompt(MessageType.decode(messageType), message, window);
}
- };
+ }
+ });
+ }
- imageView1.setDragSource(imageDragSource);
- imageView1.setDropTarget(imageDropTarget);
+ return Vote.APPROVE;
+ }
+ }
- imageView2.setDragSource(imageDragSource);
- imageView2.setDropTarget(imageDropTarget);
+ private Display display = null;
+ private Window window = null;
- imageView3.setDragSource(imageDragSource);
- imageView3.setDropTarget(imageDropTarget);
- }
+ @Load(name="demo.wtkx") private Component content;
+ @Bind(property="content") private Rollup buttonsRollup;
+ @Bind(property="content") private Rollup listsRollup;
+ @Bind(property="content") private Rollup textRollup;
+ @Bind(property="content") private Rollup calendarsRollup;
+ @Bind(property="content") private Rollup navigationRollup;
+ @Bind(property="content") private Rollup splittersRollup;
+ @Bind(property="content") private Rollup menusRollup;
+ @Bind(property="content") private Rollup metersRollup;
+ @Bind(property="content") private Rollup spinnersRollup;
+ @Bind(property="content") private Rollup tablesRollup;
+ @Bind(property="content") private Rollup treesRollup;
+ @Bind(property="content") private Rollup dragDropRollup;
+ @Bind(property="content") private Rollup alertsRollup;
- return Vote.APPROVE;
- }
- });
+ public static void main(String[] args) {
+ DesktopApplicationContext.main(Demo.class, args);
+ }
- alertsRollup.getRollupStateListeners().add(new RollupStateHandler() {
- @Load(name="alerts.wtkx") private Component component;
- @Bind(property="component") private PushButton alertButton;
- @Bind(property="component") private PushButton promptButton;
-
- public Vote previewExpandedChange(Rollup rollup) {
- if (component == null) {
- bind();
- rollup.setContent(component);
-
- alertButton.getButtonPressListeners().add(new ButtonPressListener() {
- public void buttonPressed(Button button) {
- Button.Group messageTypeGroup = Button.getGroup("messageType");
- Button selection = messageTypeGroup.getSelection();
-
- Map<String, ?> userData = JSONSerializer.parseMap((String)selection.getUserData());
- String messageType = (String)userData.get("type");
-
- if (messageType.equals("custom")) {
- ArrayList<String> options = new ArrayList<String>();
- options.add("OK");
- options.add("Cancel");
-
- Component body = null;
- WTKXSerializer wtkxSerializer = new WTKXSerializer();
- try {
- body = (Component)wtkxSerializer.readObject("pivot/tutorials/alert.wtkx");
- } catch(Exception exception) {
- System.out.println(exception);
- }
-
- Alert alert = new Alert(MessageType.QUESTION, "Please select your favorite icon:",
- options, body);
- alert.setTitle("Select Icon");
- alert.setSelectedOption(0);
- alert.getDecorators().update(0, new ReflectionDecorator());
-
- alert.open(window);
- } else {
- String message = (String)userData.get("message");
- Alert.alert(MessageType.decode(messageType), message, window);
- }
- }
- });
+ @SuppressWarnings("unchecked")
+ public void startup(final Display display, Dictionary<String, String> properties) throws Exception {
+ // NOTE This is commented out because it takes a non-negligible amount
+ // of time to execute
+ /*
+ TerraTheme terraTheme = (TerraTheme)Theme.getTheme();
+ URL schemeLocation = TerraTheme.class.getResource("TerraTheme_default.json");
+ terraTheme.loadScheme(schemeLocation);
+ */
- promptButton.getButtonPressListeners().add(new ButtonPressListener() {
- public void buttonPressed(Button button) {
- Button.Group messageTypeGroup = Button.getGroup("messageType");
- Button selection = messageTypeGroup.getSelection();
-
- Map<String, ?> userData = JSONSerializer.parseMap((String)selection.getUserData());
- String messageType = (String)userData.get("type");
-
- if (messageType.equals("custom")) {
- ArrayList<String> options = new ArrayList<String>();
- options.add("OK");
- options.add("Cancel");
-
- Component body = null;
- WTKXSerializer wtkxSerializer = new WTKXSerializer();
- try {
- body = (Component)wtkxSerializer.readObject("pivot/tutorials/alert.wtkx");
- } catch(Exception exception) {
- System.out.println(exception);
- }
-
- Prompt prompt = new Prompt(MessageType.QUESTION, "Please select your favorite icon:",
- options, body);
- prompt.setTitle("Select Icon");
- prompt.setSelectedOption(0);
- prompt.getDecorators().update(0, new ReflectionDecorator());
-
- prompt.open(window);
- } else {
- String message = (String)userData.get("message");
- Prompt.prompt(MessageType.decode(messageType), message, window);
- }
- }
- });
- }
+ this.display = display;
- return Vote.APPROVE;
- }
+ bind();
- });
+ buttonsRollup.getRollupStateListeners().add(new ButtonsRollupStateHandler());
+ listsRollup.getRollupStateListeners().add(new ListsRollupStateHandler());
+ textRollup.getRollupStateListeners().add(new TextRollupStateHandler());
+ calendarsRollup.getRollupStateListeners().add(new CalendarsRollupStateHandler());
+ navigationRollup.getRollupStateListeners().add(new NavigationRollupStateHandler());
+ splittersRollup.getRollupStateListeners().add(new SplittersRollupStateHandler());
+ menusRollup.getRollupStateListeners().add(new MenusRollupStateHandler());
+ metersRollup.getRollupStateListeners().add(new MetersRollupStateHandler());
+ spinnersRollup.getRollupStateListeners().add(new SpinnersRollupStateHandler());
+ tablesRollup.getRollupStateListeners().add(new TablesRollupStateHandler());
+ treesRollup.getRollupStateListeners().add(new TreesRollupStateHandler());
+ dragDropRollup.getRollupStateListeners().add(new DragDropRollupStateHandler());
+ alertsRollup.getRollupStateListeners().add(new AlertsRollupStateHandler());
window = new Window();
window.setTitle("Pivot Demo");