//Wire-up DnD for Patterns. All DnD related widgets must be contained in the AbsolutePanel
AbsolutePanel patternsBoundaryPanel = new AbsolutePanel();
PickupDragController patternsDragController = new PickupDragController( patternsBoundaryPanel,
false );
patternsDragController.setBehaviorConstrainedToBoundaryPanel( false );
VerticalPanelDropController widgetDropController = new VerticalPanelDropController( patternsPanel );
patternsDragController.registerDropController( widgetDropController );
//Add DnD container to main Conditions container
conditionsConfigWidget.add( patternsBoundaryPanel );
patternsBoundaryPanel.add( patternsPanel );
//Add a DragHandler to handle the actions resulting from the drag operation
patternsDragController.addDragHandler( new PatternDragHandler( patternsPanel,
model,
dtable ) );
List<CompositeColumn<? extends BaseColumn>> columns = model.getConditions();
boolean arePatternsDraggable = columns.size() > 1 && !isReadOnly;
for ( CompositeColumn<?> column : columns ) {
if ( column instanceof Pattern52 ) {
Pattern52 p = (Pattern52) column;
VerticalPanel patternPanel = new VerticalPanel();
VerticalPanel conditionsPanel = new VerticalPanel();
HorizontalPanel patternHeaderPanel = new HorizontalPanel();
patternHeaderPanel.setStylePrimaryName( GuidedDecisionTableResources.INSTANCE.css().patternSectionHeader() );
Label patternLabel = makePatternLabel( p );
patternHeaderPanel.add( patternLabel );
patternPanel.add( patternHeaderPanel );
patternsPanel.add( patternPanel );
//Wire-up DnD for Conditions. All DnD related widgets must be contained in the AbsolutePanel
AbsolutePanel conditionsBoundaryPanel = new AbsolutePanel();
PickupDragController conditionsDragController = new PickupDragController( conditionsBoundaryPanel,
false );
conditionsDragController.setBehaviorConstrainedToBoundaryPanel( false );
VerticalPanelDropController conditionsDropController = new VerticalPanelDropController( conditionsPanel );
conditionsDragController.registerDropController( conditionsDropController );
//Add DnD container to main Conditions container
conditionsBoundaryPanel.add( conditionsPanel );
patternPanel.add( conditionsBoundaryPanel );