Kyle
unread,Feb 8, 2012, 9:07:28 AM2/8/12Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
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