Modified:
trunk/gdf-gwt/src/main/java/gdf/gwt/client/view/ActionPanelView.java
trunk/gdf-gwt/src/main/java/gdf/gwt/client/view/ActionView.java
trunk/gdf-gwt/src/main/java/gdf/gwt/client/view/PanelView.java
trunk/gdf-mygwt/src/main/java/gdf/mygwt/client/view/ActionView.java
Log:
- More action refactoring.
Modified: trunk/gdf-gwt/src/main/java/gdf/gwt/client/view/ActionPanelView.java
==============================================================================
---
trunk/gdf-gwt/src/main/java/gdf/gwt/client/view/ActionPanelView.java (original)
+++
trunk/gdf-gwt/src/main/java/gdf/gwt/client/view/ActionPanelView.java
Tue Jan 8 08:30:31 2008
@@ -17,16 +17,10 @@
import gdf.core.client.event.Event;
import gdf.core.client.event.EventListener;
import gdf.core.client.panel.Panel;
-import gdf.gwt.client.widget.ActionClickListener;
-import com.google.gwt.user.client.DOM;
-import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.HasVerticalAlignment;
-import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.MouseListener;
import com.google.gwt.user.client.ui.Widget;
/**
@@ -79,114 +73,13 @@
}
private Widget createActionWidget(ActionItem actionItem) {
- Widget result = null;
- int actionType = actionItem
- .getType(getActionPanelModel().getType());
-
- switch (actionType) {
-
- case Action.TYPE_BUTTON:
-
- result = new Button(actionItem.getTitle(), new ActionClickListener(
- getComponent(), actionItem));
- // resultWidget.setStyleName(CSS_ROOT + "");
- break;
-
- case Action.TYPE_HYPERLINK:
-
- result = new Label(actionItem.getTitle());
- DOM.setStyleAttribute(result.getElement(), "cursor", "pointer");
- ((Label) result).addClickListener(new ActionClickListener(
- getComponent(), actionItem));
- ((Label) result).addMouseListener(new MouseListener() {
-
- public void onMouseDown(Widget arg0, int arg1, int arg2) {
- }
-
- public void onMouseEnter(Widget result) {
- result.addStyleName("wfp-Hyperlink");
- }
-
- public void onMouseLeave(Widget result) {
- result.removeStyleName("wfp-Hyperlink");
- }
-
- public void onMouseMove(Widget arg0, int arg1, int arg2) {
- }
-
- public void onMouseUp(Widget arg0, int arg1, int arg2) {
- }
-
- });
- if (getActionPanelModel().getCellWidth() != null
- && !getActionPanelModel().getCellWidth().equals("")) {
- result.setWidth(getActionPanelModel().getCellWidth());
- }
- break;
-
- case Action.TYPE_ICON:
-
- result = new Image(actionItem.getIconLocation());
- // resultWidget.setStyleName(CSS_ROOT + "PopupPanelLabel");
- ((Image) result).addClickListener(new ActionClickListener(
- getComponent(), actionItem));
- break;
-
- case Action.TYPE_ICON_TEXT:
-
- result = new FlexTable();
-
- Image imageAction = new Image(actionItem.getIconLocation());
- DOM
- .setStyleAttribute(imageAction.getElement(), "cursor",
- "pointer");
- imageAction.addClickListener(new ActionClickListener(
- getComponent(), actionItem));
- ((FlexTable) result).setWidget(0, 0, imageAction);
-
- final Label labelAction = new Label(actionItem.getTitle());
- DOM
- .setStyleAttribute(labelAction.getElement(), "cursor",
- "pointer");
- labelAction.addClickListener(new ActionClickListener(
- getComponent(), actionItem));
-
- MouseListener ml = new MouseListener() {
- public void onMouseDown(Widget arg0, int arg1, int arg2) {
- }
-
- public void onMouseEnter(Widget label) {
- labelAction.addStyleName("wfp-Hyperlink");
- }
-
- public void onMouseLeave(Widget label) {
- labelAction.removeStyleName("wfp-Hyperlink");
- }
-
- public void onMouseMove(Widget arg0, int arg1, int arg2) {
- }
-
- public void onMouseUp(Widget arg0, int arg1, int arg2) {
- }
-
- };
-
- labelAction.addMouseListener(ml);
- imageAction.addMouseListener(ml);
-
- ((FlexTable) result).setWidget(0, 1, labelAction);
- ((FlexTable) result).getFlexCellFormatter().setAlignment(0, 0,
- HasHorizontalAlignment.ALIGN_RIGHT,
- HasVerticalAlignment.ALIGN_MIDDLE);
- ((FlexTable) result).getFlexCellFormatter().setAlignment(0, 1,
- HasHorizontalAlignment.ALIGN_LEFT,
- HasVerticalAlignment.ALIGN_MIDDLE);
- if (getActionPanelModel().getCellWidth() != null
- && !getActionPanelModel().getCellWidth().equals("")) {
- result.setWidth(getActionPanelModel().getCellWidth());
- }
-
- break;
+ Action action = new Action(actionItem);
+ Widget result = action.getWidget();
+ action.start();
+
+ if (getActionPanelModel().getCellWidth() != null
+ && !getActionPanelModel().getCellWidth().equals("")) {
+ result.setWidth(getActionPanelModel().getCellWidth());
}
return result;
Modified: trunk/gdf-gwt/src/main/java/gdf/gwt/client/view/ActionView.java
==============================================================================
--- trunk/gdf-gwt/src/main/java/gdf/gwt/client/view/ActionView.java (original)
+++ trunk/gdf-gwt/src/main/java/gdf/gwt/client/view/ActionView.java Tue
Jan 8 08:30:31 2008
@@ -17,6 +17,7 @@
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.MouseListener;
import com.google.gwt.user.client.ui.Widget;
@@ -50,16 +51,17 @@
switch (getActionItem().getType(getActionModel().getType())) {
case Action.TYPE_BUTTON:
- result = new Button(getActionItem().getTitle(),
+ Button button = new Button(getActionItem().getTitle(),
new ActionClickListener(getComponent(), getActionItem()));
+ result = button;
break;
case Action.TYPE_HYPERLINK:
- result = new Label(getActionItem().getTitle());
- DOM.setStyleAttribute(result.getElement(), "cursor", "pointer");
- ((Label) result).addClickListener(new ActionClickListener(
- getComponent(), getActionItem()));
- ((Label) result).addMouseListener(new MouseListener() {
+ Label label = new Label(getActionItem().getTitle());
+ DOM.setStyleAttribute(label.getElement(), "cursor", "pointer");
+ label.addClickListener(new ActionClickListener(getComponent(),
+ getActionItem()));
+ label.addMouseListener(new MouseListener() {
public void onMouseDown(Widget arg0, int arg1, int arg2) {
}
@@ -79,7 +81,14 @@
}
});
+ result = label;
+ break;
+ case Action.TYPE_ICON:
+ Image image = new Image(getActionItem().getIconLocation());
+ image.addClickListener(new ActionClickListener(getComponent(),
+ getActionItem()));
+ result = image;
break;
}
Modified: trunk/gdf-gwt/src/main/java/gdf/gwt/client/view/PanelView.java
==============================================================================
--- trunk/gdf-gwt/src/main/java/gdf/gwt/client/view/PanelView.java (original)
+++ trunk/gdf-gwt/src/main/java/gdf/gwt/client/view/PanelView.java Tue
Jan 8 08:30:31 2008
@@ -83,6 +83,11 @@
&& !child.getHeight().equals("auto")) {
panel.setCellHeight(childWidget, child.getHeight());
}
+
+ if ((child.getWidth() != null)
+ && !child.getWidth().equals("auto")) {
+ panel.setCellWidth(childWidget, child.getWidth());
+ }
}
// Wrap the content in a smart panel to expose the context menu
Modified: trunk/gdf-mygwt/src/main/java/gdf/mygwt/client/view/ActionView.java
==============================================================================
--- trunk/gdf-mygwt/src/main/java/gdf/mygwt/client/view/ActionView.java (original)
+++ trunk/gdf-mygwt/src/main/java/gdf/mygwt/client/view/ActionView.java
Tue Jan 8 08:30:31 2008
@@ -19,6 +19,10 @@
import net.mygwt.ui.client.widget.IconButton;
import com.google.gwt.user.client.DOM;
+import com.google.gwt.user.client.ui.FlexTable;
+import com.google.gwt.user.client.ui.HasHorizontalAlignment;
+import com.google.gwt.user.client.ui.HasVerticalAlignment;
+import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.MouseListener;
import com.google.gwt.user.client.ui.Widget;
@@ -53,18 +57,22 @@
case Action.TYPE_BUTTON:
Button button = new Button(getActionItem().getTitle());
- button.setIconStyle(getActionItem().getIconLocation());
+
+ if (getActionItem().getIconLocation() != null) {
+ button.setIconStyle(getActionItem().getIconLocation());
+ }
+
button.addSelectionListener(new ActionSelectionListener(
getComponent(), getActionItem()));
result = button;
break;
case Action.TYPE_HYPERLINK:
- result = new Label(getActionItem().getTitle());
- DOM.setStyleAttribute(result.getElement(), "cursor", "pointer");
- ((Label) result).addClickListener(new ActionClickListener(
- getComponent(), getActionItem()));
- ((Label) result).addMouseListener(new MouseListener() {
+ Label label = new Label(getActionItem().getTitle());
+ DOM.setStyleAttribute(label.getElement(), "cursor", "pointer");
+ label.addClickListener(new ActionClickListener(getComponent(),
+ getActionItem()));
+ label.addMouseListener(new MouseListener() {
public void onMouseDown(Widget arg0, int arg1, int arg2) {
}
@@ -84,7 +92,7 @@
}
});
-
+ result = label;
break;
case Action.TYPE_ICON:
@@ -93,6 +101,56 @@
iconButton.addSelectionListener(new ActionSelectionListener(
getComponent(), getActionItem()));
result = iconButton;
+ break;
+
+ case Action.TYPE_ICON_TEXT:
+ result = new FlexTable();
+
+ Image imageAction = new Image(getActionItem().getIconLocation());
+ DOM
+ .setStyleAttribute(imageAction.getElement(), "cursor",
+ "pointer");
+ imageAction.addClickListener(new ActionClickListener(
+ getComponent(), getActionItem()));
+ ((FlexTable) result).setWidget(0, 0, imageAction);
+
+ final Label labelAction = new Label(getActionItem().getTitle());
+ DOM
+ .setStyleAttribute(labelAction.getElement(), "cursor",
+ "pointer");
+ labelAction.addClickListener(new ActionClickListener(
+ getComponent(), getActionItem()));
+
+ MouseListener ml = new MouseListener() {
+ public void onMouseDown(Widget arg0, int arg1, int arg2) {
+ }
+
+ public void onMouseEnter(Widget label) {
+ labelAction.addStyleName("wfp-Hyperlink");
+ }
+
+ public void onMouseLeave(Widget label) {
+ labelAction.removeStyleName("wfp-Hyperlink");
+ }
+
+ public void onMouseMove(Widget arg0, int arg1, int arg2) {
+ }
+
+ public void onMouseUp(Widget arg0, int arg1, int arg2) {
+ }
+
+ };
+
+ labelAction.addMouseListener(ml);
+ imageAction.addMouseListener(ml);
+
+ ((FlexTable) result).setWidget(0, 1, labelAction);
+ ((FlexTable) result).getFlexCellFormatter().setAlignment(0, 0,
+ HasHorizontalAlignment.ALIGN_RIGHT,
+ HasVerticalAlignment.ALIGN_MIDDLE);
+ ((FlexTable) result).getFlexCellFormatter().setAlignment(0, 1,
+ HasHorizontalAlignment.ALIGN_LEFT,
+ HasVerticalAlignment.ALIGN_MIDDLE);
break;
}