[jboss-svn-commits] JBL Code SVN: r36167 - labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Dec 2 11:24:27 EST 2010


Author: ge0ffrey
Date: 2010-12-02 11:24:27 -0500 (Thu, 02 Dec 2010)
New Revision: 36167

Added:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/AssetTable.ui.xml
Modified:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/AssetTable.java
Log:
use ui binder for AssetTable

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/AssetTable.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/AssetTable.java	2010-12-02 15:40:38 UTC (rev 36166)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/AssetTable.java	2010-12-02 16:24:27 UTC (rev 36167)
@@ -23,8 +23,16 @@
 import java.util.List;
 import java.util.Set;
 
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.Hyperlink;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.ToggleButton;
+import com.google.gwt.user.client.ui.Widget;
 import org.drools.guvnor.client.common.GenericCallback;
-import org.drools.guvnor.client.common.ImageButton;
 import org.drools.guvnor.client.messages.Constants;
 import org.drools.guvnor.client.resources.Images;
 import org.drools.guvnor.client.resources.RuleFormatImageResource;
@@ -53,15 +61,10 @@
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.HTML;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.gwt.view.client.AsyncDataProvider;
 import com.google.gwt.view.client.HasData;
 import com.google.gwt.view.client.MultiSelectionModel;
 import com.google.gwt.view.client.ProvidesKey;
-import com.gwtext.client.core.EventObject;
-import com.gwtext.client.widgets.Button;
-import com.gwtext.client.widgets.event.ButtonListenerAdapter;
 
 /**
  * Widget with a table of assets.
@@ -72,19 +75,35 @@
     private static final Constants constants = GWT.create(Constants.class);
     private static Images images = GWT.create( Images.class );
 
+    interface AssetTableBinder extends UiBinder<Widget, AssetTable> {}
+
+    private static AssetTableBinder uiBinder = GWT.create(AssetTableBinder.class);
+
     private RepositoryServiceAsync repositoryService = RepositoryServiceFactory.getService(); // TODO use (C)DI
 
     private final String packageUuid;
     private final List<String> formatInList;
     private final EditItemEvent editEvent;
-    private int pageSize = 40; // TODO might need to be configurable, or a constant
+    private int pageSize = 25; // TODO might need to be configurable, or a constant
     private String feedURL;
     private Set<Command> unloadListenerSet = new HashSet<Command>();
 
-    private VerticalPanel layout;
-    private CellTable<AssetPageRow> cellTable;
+    @UiField(provided=true)
+    Button refreshButton;
+    @UiField(provided=true)
+    Button openSelectedButton;
+    @UiField(provided=true)
+    Button openSelectedToSingleTabButton;
+    @UiField(provided=true)
+    ToggleButton columnPickerButton;
+    @UiField(provided=true)
+    HTML feedHTML;
+
+    @UiField(provided = true)
+    CellTable<AssetPageRow> cellTable;
     private AsyncDataProvider<AssetPageRow> dataProvider;
-    private SimplePager pager;
+    @UiField(provided=true)
+    SimplePager pager;
     private MultiSelectionModel<AssetPageRow> selectionModel;
 
     public AssetTable(String packageUuid, List<String> formatInList, EditItemEvent event) {
@@ -96,9 +115,8 @@
         this.formatInList = formatInList;
         this.editEvent = event;
         this.feedURL = feedURL;
-        this.layout = new VerticalPanel();
         doCellTable();
-        initWidget(layout);
+        initWidget(uiBinder.createAndBindUi(this));
     }
 
     private void doCellTable() {
@@ -250,19 +268,15 @@
         };
         dataProvider.addDataDisplay(cellTable);
 
-        HorizontalPanel tableHeaderPanel = new HorizontalPanel();
-        Button refreshButton = new Button(constants.refreshList());
-        refreshButton.addListener(new ButtonListenerAdapter() {
-            @Override
-            public void onClick(Button button, EventObject e) {
+        refreshButton = new Button(constants.refreshList());
+        refreshButton.addClickHandler(new ClickHandler() {
+            public void onClick(ClickEvent e) {
                 refresh();
             }
         });
-        tableHeaderPanel.add(refreshButton);
-        Button openSelectedButton = new Button(constants.openSelected());
-        openSelectedButton.addListener(new ButtonListenerAdapter() {
-            @Override
-            public void onClick(Button button, EventObject e) {
+        openSelectedButton = new Button(constants.openSelected());
+        openSelectedButton.addClickHandler(new ClickHandler() {
+            public void onClick(ClickEvent e) {
                 Set<AssetPageRow> selectedSet = selectionModel.getSelectedSet();
                 for (AssetPageRow selected : selectedSet) {
                     // TODO directly push the selected AssetPageRow
@@ -270,11 +284,9 @@
                 }
             }
         });
-        tableHeaderPanel.add(openSelectedButton);
-        Button openSelectedToSingleTabButton = new Button(constants.openSelectedToSingleTab());
-        openSelectedToSingleTabButton.addListener(new ButtonListenerAdapter() {
-            @Override
-            public void onClick(Button button, EventObject e) {
+        openSelectedToSingleTabButton = new Button(constants.openSelectedToSingleTab());
+        openSelectedToSingleTabButton.addClickHandler(new ClickHandler() {
+            public void onClick(ClickEvent e) {
                 Set<AssetPageRow> selectedSet = selectionModel.getSelectedSet();
                 // TODO directly push the selected AssetPageRows
                 List<MultiViewRow> multiViewRowList = new ArrayList<MultiViewRow>(selectedSet.size());
@@ -288,17 +300,15 @@
                 editEvent.open(multiViewRowList.toArray(new MultiViewRow[multiViewRowList.size()]));
             }
         });
-        tableHeaderPanel.add(openSelectedToSingleTabButton);
-        tableHeaderPanel.add(columnPicker.createToggleButton());
+        columnPickerButton = columnPicker.createToggleButton();
 
         if (feedURL != null) {
-            HTML feedButton = new HTML("<a href='" + feedURL + "' target='_blank'>" +
+            feedHTML = new HTML("<a href='" + feedURL + "' target='_blank'>" +
                     "<img src='" + images.feed().getURL() + "'/></a>");
-            tableHeaderPanel.add(feedButton);
+        } else {
+            feedHTML = new HTML();
+            feedHTML.setVisible(false);
         }
-        layout.add(tableHeaderPanel);
-        layout.add(cellTable);
-        layout.add(pager);
     }
 
     /**

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/AssetTable.ui.xml
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/AssetTable.ui.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/AssetTable.ui.xml	2010-12-02 16:24:27 UTC (rev 36167)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright 2010 JBoss Inc
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+    xmlns:g="urn:import:com.google.gwt.user.client.ui"
+    xmlns:cellview="urn:import:com.google.gwt.user.cellview.client">
+
+  <g:VerticalPanel>
+    <g:HorizontalPanel>
+      <g:Button ui:field="refreshButton"/>
+      <g:Button ui:field="openSelectedButton"/>
+      <g:Button ui:field="openSelectedToSingleTabButton"/>
+      <g:ToggleButton ui:field="columnPickerButton"/>
+      <g:HTML ui:field="feedHTML"/>
+    </g:HorizontalPanel>
+    <cellview:CellTable ui:field="cellTable"/>
+    <cellview:SimplePager ui:field="pager"/>
+  </g:VerticalPanel>
+
+</ui:UiBinder>



More information about the jboss-svn-commits mailing list