Drag Events Not Registering

40 views
Skip to first unread message

Kyle

unread,
Feb 8, 2012, 9:07:28 AM2/8/12
to gwt-dnd
I am writing and application where I add a bunch of Charts that are an
extension of "Composite" and the drag events aren't occuring at all...
the code is below


package com.macefusion.mamsvm.client.both;

import com.allen_sauer.gwt.dnd.client.DragEndEvent;
import com.allen_sauer.gwt.dnd.client.DragHandler;
import com.allen_sauer.gwt.dnd.client.DragStartEvent;
import com.allen_sauer.gwt.dnd.client.PickupDragController;
import com.allen_sauer.gwt.dnd.client.VetoDragException;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.AbsolutePanel;
import com.google.gwt.user.client.ui.DockLayoutPanel;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.macefusion.mamsvm.client.both.flash.DynamicChartView;

public class ReportingTab extends DockLayoutPanel {

private DockLayoutPanel reportRow;
private Label listBoxLabel;
private ListBox reports;
private HorizontalPanel widgetTopRow;
private HorizontalPanel widgetBottomRow;
private VerticalPanel widgetVertical = new VerticalPanel();
private AbsolutePanel widgets = new AbsolutePanel();

private Integer widgetCount = null;

private DragHandler dragHandler = new DragHandler() {


@Override
public void onPreviewDragStart(DragStartEvent event)
throws VetoDragException {
// TODO Auto-generated method stub
System.err.println("onPreviewDragStart: " + event);


}

@Override
public void onPreviewDragEnd(DragEndEvent event) throws
VetoDragException {
// TODO Auto-generated method stub
System.err.println("onPreviewDragEnd: " + event);
}

@Override
public void onDragStart(DragStartEvent event) {
Window.alert("here");

// TODO Auto-generated method stub
System.err.println("onDragStart: " + event);


}

@Override
public void onDragEnd(DragEndEvent event) {
// TODO Auto-generated method stub
System.err.println("onDragEnd: " + event);
}
};


// initialize our widget drag controller
PickupDragController widgetDragController = new
PickupDragController(widgets, true);


private ValueChangeHandler<Integer> removeHandler = new
ValueChangeHandler<Integer>() {
@Override
public void onValueChange(ValueChangeEvent<Integer> event) {
widgetCount--;
// Window.alert("Widget Count after Removal" +
widgetCount);
}
};

// Handle new report being selected
private ChangeHandler reportsHandler = new ChangeHandler() {

@Override
public void onChange(ChangeEvent event) {
addReport(event.getSource());
}
};


public ReportingTab(Unit unit) {
super(unit);

widgetDragController.setBehaviorMultipleSelection(false);
widgetDragController.addDragHandler(dragHandler);


//Initialize widget count to 0 on load
widgetCount = 0;

//Add label and build the drop down list to allow for selection
of reports

reportRow = new DockLayoutPanel(Unit.PX);

reports = new ListBox();

reports.addItem("Acknowledged Risk");
reports.addItem("Observations Within Past Month");
reports.addItem("Overdue Observations");
reports.addItem("Top 10 Vulnerabilities");
reports.addItem("Unique Observations");

reports.addChangeHandler(reportsHandler);

listBoxLabel = new Label("Add Reports To Dash:");

reportRow.addWest(listBoxLabel, 200);
reportRow.add(reports);

widgetTopRow = new HorizontalPanel();
widgetTopRow.setWidth("100%");

widgetBottomRow = new HorizontalPanel();
widgetBottomRow.setWidth("100%");

widgets.setPixelSize(1200,850);

widgetVertical.setWidth("100%");
widgetVertical.setHeight("100%");

widgetVertical.add(widgetTopRow);
widgetVertical.add(widgetBottomRow);
widgets.add(widgetVertical, 0,0);
addNorth(reportRow,50);
add(widgets);


// HorizontalPanelDropController widgetDropController = new
HorizontalPanelDropController(widgetTopRow);
//
widgetDragController.registerDropController(widgetDropController);


setHeight("850px");
setWidth("1200px");

}

//Add selected report to dash
private void addReport(Object selection){

switch(widgetCount){
case 0:
case 1:
case 2:
DynamicChartView chart = getTopObservations();
widgets.add(chart);
widgetDragController.makeDraggable(chart);
break;
case 3:
case 4:
case 5:
widgetBottomRow.add(getTopObservations());
break;

}

widgetCount++;

// Window.alert("Widget Count after add" + widgetCount);
}


Thanks
Reply all
Reply to author
Forward
0 new messages