Author: dongxu
Date: Tue Jun 9 16:28:51 2015
New Revision: 1684470
URL: http://svn.apache.org/r1684470
Log:
fix the UiHandlers with enable and disable rather than the event registration.
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.ui.xml
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java?rev=1684470r1=1684469r2=1684470view=diff
==
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ToolBarView.java
Tue Jun 9 16:28:51 2015
@@ -29,10 +29,8 @@ import org.apache.hupa.shared.events.Sho
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.shared.EventBus;
-import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.place.shared.PlaceController;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.uibinder.client.UiBinder;
@@ -44,12 +42,13 @@ import com.google.gwt.user.client.ui.Dec
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.PopupPanel;
+import com.google.gwt.user.client.ui.UIObject;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.google.inject.Inject;
public class ToolBarView extends Composite implements
ToolBarActivity.Displayable {
-
+
@Inject private PlaceController placeController;
@Inject private EventBus eventBus;
@@ -68,18 +67,6 @@ public class ToolBarView extends Composi
@UiField public HTMLPanel replyAllTip;
@UiField public HTMLPanel forwardTip;
-
-// FIXME: The handlers management in this view is awful.
-// It should use @UiHandlers with a enable/disble property.
-
-// Absolutely!!!
-
-HandlerRegistration deleteReg;
-HandlerRegistration markReg;
-HandlerRegistration replyReg;
-HandlerRegistration replyAllReg;
-HandlerRegistration forwardReg;
-
@UiField public Style style;
public interface Style extends CssResource {
@@ -182,61 +169,59 @@ public class ToolBarView extends Composi
}
@UiHandler(compose)
-public void handleClick(ClickEvent e) {
+public void handleCompose(ClickEvent e) {
placeController.goTo(new ComposePlace(new).with(parameters));
}
-
-private ClickHandler forwardHandler = new ClickHandler() {
-
-@Override
-public void onClick(ClickEvent event) {
+
+@UiHandler(forward)
+public void handleForward(ClickEvent e) {
+ if(isEnabled(forward)){
placeController.goTo(new ComposePlace(forward).with(parameters));
-}
-
-};
-private ClickHandler replyAllHandler = new ClickHandler() {
-
-@Override
-public void onClick(ClickEvent event) {
-placeController.goTo(new
ComposePlace(replyAll).with(parameters));
-}
-
-};
-private ClickHandler replyHandler = new ClickHandler() {
-
-@Override
-public void onClick(ClickEvent event) {
-placeController.goTo(new ComposePlace(reply).with(parameters));
-}
-
-};
-private ClickHandler deleteHandler = new ClickHandler() {
-
-@Override
-public void onClick(ClickEvent event) {
-eventBus.fireEvent(new DeleteClickEvent());
-}
-};
-
-private ClickHandler markHandler = new ClickHandler() {
-public void onClick(ClickEvent event) {
-// Reposition the popup relative to the button
-Widget source = (Widget) event.getSource();
-int left = source.getAbsoluteLeft();
-int top = source.getAbsoluteTop() + source.getOffsetHeight();
-simplePopup.setPopupPosition(left, top);
-simplePopup.show();
-}
-};
-
-private ClickHandler rawHandler = new ClickHandler() {
-@Override
-public void onClick(ClickEvent event) {
-eventBus.fireEvent(new ShowRawEvent());
-}
-};
-
-private HandlerRegistration rawReg;
+ }
+}
+
+@UiHandler(replyAll)
+public void handleReplyAll(ClickEvent e) {
+ if(isEnabled(replyAll)){
+ placeController.goTo(new
ComposePlace(replyAll).with(parameters));
+ }
+}
+
+@UiHandler(reply)
+public void handleReply(ClickEvent e) {
+ if(isEnabled(reply)){
+ placeController.goTo(new