org.drools.guvnor.client.widgets.drools.decoratedgrid
Class AbstractDecoratedGridWidget<M,T,C>

java.lang.Object
  extended by com.google.gwt.user.client.ui.UIObject
      extended by com.google.gwt.user.client.ui.Widget
          extended by com.google.gwt.user.client.ui.Composite
              extended by org.drools.guvnor.client.widgets.drools.decoratedgrid.AbstractDecoratedGridWidget<M,T,C>
Type Parameters:
M - The domain model represented by the Grid
T - The type of domain columns represented by the Grid
C - The type of domain cell represented by the Grid
All Implemented Interfaces:
com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.shared.EventHandler, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.ui.HasVisibility, com.google.gwt.user.client.ui.IsRenderable, com.google.gwt.user.client.ui.IsWidget, AppendRowEvent.Handler, ColumnResizeEvent.Handler, DeleteRowEvent.Handler, InsertRowEvent.Handler, SelectedCellChangeEvent.Handler, SetModelEvent.Handler<M>
Direct Known Subclasses:
AbstractDecoratedDecisionTableGridWidget, AbstractDecoratedTemplateDataGridWidget

public abstract class AbstractDecoratedGridWidget<M,T,C>
extends com.google.gwt.user.client.ui.Composite
implements ColumnResizeEvent.Handler, SelectedCellChangeEvent.Handler, DeleteRowEvent.Handler, InsertRowEvent.Handler, AppendRowEvent.Handler, SetModelEvent.Handler<M>

Abstract grid, decorated with DecoratedGridHeaderWidget and DecoratedGridSidebarWidget encapsulating basic operation: keyboard navigation and column resizing.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject
com.google.gwt.user.client.ui.UIObject.DebugIdImpl, com.google.gwt.user.client.ui.UIObject.DebugIdImplEnabled
 
Field Summary
protected  com.google.gwt.user.client.ui.Panel bodyPanel
           
protected  com.google.gwt.event.shared.EventBus eventBus
           
protected  AbstractMergableGridWidget<M,T> gridWidget
           
protected  AbstractDecoratedGridHeaderWidget<M,T> headerWidget
           
protected  int height
           
protected  com.google.gwt.user.client.ui.Panel mainPanel
           
protected  ResourcesProvider<T> resources
           
protected  com.google.gwt.user.client.ui.ScrollPanel scrollPanel
           
protected  AbstractDecoratedGridSidebarWidget<M,T> sidebarWidget
           
protected  int width
           
 
Fields inherited from class com.google.gwt.user.client.ui.UIObject
DEBUG_ID_PREFIX
 
Constructor Summary
AbstractDecoratedGridWidget(ResourcesProvider<T> resources, com.google.gwt.event.shared.EventBus eventBus, com.google.gwt.user.client.ui.Panel mainPanel, com.google.gwt.user.client.ui.Panel bodyPanel, AbstractMergableGridWidget<M,T> gridWidget, AbstractDecoratedGridHeaderWidget<M,T> headerWidget, AbstractDecoratedGridSidebarWidget<M,T> sidebarWidget)
          Construct at empty DecoratedGridWidget, without DecoratedGridHeaderWidget or DecoratedGridSidebarWidget These should be set before the grid is displayed using setHeaderWidget and setSidebarWidget respectively.
 
Method Summary
protected  void assertDimensions()
          Resize the DecoratedGridHeaderWidget and DecoratedGridSidebarWidget when DecoratedGridWidget shows scrollbars
protected abstract  com.google.gwt.event.dom.client.ScrollHandler getScrollHandler()
          Return the ScrollPanel in which the DecoratedGridWidget "grid" is nested.
 void onAppendRow(AppendRowEvent event)
           
 void onColumnResize(ColumnResizeEvent event)
           
 void onDeleteRow(DeleteRowEvent event)
           
 void onInsertRow(InsertRowEvent event)
           
 void onSelectedCellChange(SelectedCellChangeEvent event)
           
 void setPixelSize(int width, int height)
          This should be used instead of setHeight(String) and setWidth(String) as various child Widgets of the DecisionTable need to have their sizes set relative to the outermost Widget (i.e. this).
 
Methods inherited from class com.google.gwt.user.client.ui.Composite
getWidget, initWidget, isAttached, onAttach, onBrowserEvent, onDetach, performDetachedInitialization, render, render, resolvePotentialElement, setWidget, wrapElement
 
Methods inherited from class com.google.gwt.user.client.ui.Widget
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getHandlerCount, getLayoutData, getParent, isOrWasAttached, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents
 
Methods inherited from class com.google.gwt.user.client.ui.UIObject
addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, setElement, setElement, setHeight, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent, toString, unsinkEvents
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.drools.guvnor.client.widgets.drools.decoratedgrid.events.SetModelEvent.Handler
onSetModel
 

Field Detail

mainPanel

protected com.google.gwt.user.client.ui.Panel mainPanel

bodyPanel

protected com.google.gwt.user.client.ui.Panel bodyPanel

scrollPanel

protected com.google.gwt.user.client.ui.ScrollPanel scrollPanel

gridWidget

protected AbstractMergableGridWidget<M,T> gridWidget

headerWidget

protected AbstractDecoratedGridHeaderWidget<M,T> headerWidget

sidebarWidget

protected AbstractDecoratedGridSidebarWidget<M,T> sidebarWidget

height

protected int height

width

protected int width

resources

protected final ResourcesProvider<T> resources

eventBus

protected final com.google.gwt.event.shared.EventBus eventBus
Constructor Detail

AbstractDecoratedGridWidget

public AbstractDecoratedGridWidget(ResourcesProvider<T> resources,
                                   com.google.gwt.event.shared.EventBus eventBus,
                                   com.google.gwt.user.client.ui.Panel mainPanel,
                                   com.google.gwt.user.client.ui.Panel bodyPanel,
                                   AbstractMergableGridWidget<M,T> gridWidget,
                                   AbstractDecoratedGridHeaderWidget<M,T> headerWidget,
                                   AbstractDecoratedGridSidebarWidget<M,T> sidebarWidget)
Construct at empty DecoratedGridWidget, without DecoratedGridHeaderWidget or DecoratedGridSidebarWidget These should be set before the grid is displayed using setHeaderWidget and setSidebarWidget respectively.

Method Detail

assertDimensions

protected void assertDimensions()
Resize the DecoratedGridHeaderWidget and DecoratedGridSidebarWidget when DecoratedGridWidget shows scrollbars


getScrollHandler

protected abstract com.google.gwt.event.dom.client.ScrollHandler getScrollHandler()
Return the ScrollPanel in which the DecoratedGridWidget "grid" is nested. This allows ScrollEvents to be hooked up to other defendant controls (e.g. the Header).

Returns:

setPixelSize

public void setPixelSize(int width,
                         int height)
This should be used instead of setHeight(String) and setWidth(String) as various child Widgets of the DecisionTable need to have their sizes set relative to the outermost Widget (i.e. this).

Overrides:
setPixelSize in class com.google.gwt.user.client.ui.UIObject

onColumnResize

public void onColumnResize(ColumnResizeEvent event)
Specified by:
onColumnResize in interface ColumnResizeEvent.Handler

onSelectedCellChange

public void onSelectedCellChange(SelectedCellChangeEvent event)
Specified by:
onSelectedCellChange in interface SelectedCellChangeEvent.Handler

onDeleteRow

public void onDeleteRow(DeleteRowEvent event)
Specified by:
onDeleteRow in interface DeleteRowEvent.Handler

onInsertRow

public void onInsertRow(InsertRowEvent event)
Specified by:
onInsertRow in interface InsertRowEvent.Handler

onAppendRow

public void onAppendRow(AppendRowEvent event)
Specified by:
onAppendRow in interface AppendRowEvent.Handler


Copyright © 2001-2012 JBoss by Red Hat. All Rights Reserved.