aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/ui
diff options
context:
space:
mode:
authorMatti Tahvonen <matti.tahvonen@itmill.com>2010-02-16 11:39:34 +0000
committerMatti Tahvonen <matti.tahvonen@itmill.com>2010-02-16 11:39:34 +0000
commit7affda148684f0359856eaba85a3d381aec7faa9 (patch)
treeeb4803daf93363b1faa724a44703dde65da851ab /src/com/vaadin/ui
parent020312bc89558c8c5a28840dc979c6b80f64f912 (diff)
downloadvaadin-framework-7affda148684f0359856eaba85a3d381aec7faa9.tar.gz
vaadin-framework-7affda148684f0359856eaba85a3d381aec7faa9.zip
styles, table drop handler, small changes
svn changeset:11339/svn branch:6.3_dd
Diffstat (limited to 'src/com/vaadin/ui')
-rw-r--r--src/com/vaadin/ui/Table.java64
-rw-r--r--src/com/vaadin/ui/Tree.java2
2 files changed, 64 insertions, 2 deletions
diff --git a/src/com/vaadin/ui/Table.java b/src/com/vaadin/ui/Table.java
index afc91d7bcf..aae0c95456 100644
--- a/src/com/vaadin/ui/Table.java
+++ b/src/com/vaadin/ui/Table.java
@@ -30,12 +30,17 @@ import com.vaadin.event.Action.Handler;
import com.vaadin.event.ItemClickEvent.ItemClickListener;
import com.vaadin.event.ItemClickEvent.ItemClickSource;
import com.vaadin.event.dd.DragSource;
+import com.vaadin.event.dd.DropHandler;
+import com.vaadin.event.dd.DropTarget;
+import com.vaadin.event.dd.TargetDetails;
+import com.vaadin.event.dd.TargetDetailsImpl;
import com.vaadin.terminal.KeyMapper;
import com.vaadin.terminal.PaintException;
import com.vaadin.terminal.PaintTarget;
import com.vaadin.terminal.Resource;
import com.vaadin.terminal.gwt.client.MouseEventDetails;
import com.vaadin.terminal.gwt.client.ui.VScrollTable;
+import com.vaadin.ui.Tree.Location;
/**
* <p>
@@ -57,7 +62,8 @@ import com.vaadin.terminal.gwt.client.ui.VScrollTable;
@SuppressWarnings("serial")
@ClientWidget(VScrollTable.class)
public class Table extends AbstractSelect implements Action.Container,
- Container.Ordered, Container.Sortable, ItemClickSource, DragSource {
+ Container.Ordered, Container.Sortable, ItemClickSource, DragSource,
+ DropTarget {
/**
* Modes that Table support as drag sourse.
@@ -339,6 +345,8 @@ public class Table extends AbstractSelect implements Action.Container,
private DragModes dragMode = DragModes.NONE;
+ private DropHandler dropHandler;
+
/* Table constructors */
/**
@@ -2372,6 +2380,10 @@ public class Table extends AbstractSelect implements Action.Container,
}
}
target.endTag("visiblecolumns");
+
+ if (dropHandler != null) {
+ dropHandler.getAcceptCriterion().paint(target);
+ }
}
/**
@@ -3367,4 +3379,54 @@ public class Table extends AbstractSelect implements Action.Container,
updateTransferable(rawVariables, transferable);
return (TableTransferable) transferable;
}
+
+ public DropHandler getDropHandler() {
+ return dropHandler;
+ }
+
+ public void setDropHandler(DropHandler dropHandler) {
+ this.dropHandler = dropHandler;
+ }
+
+ /*
+ * TODO add propertyId
+ */
+ public class TableTargetDetails extends TargetDetailsImpl {
+ private Object idOver;
+
+ public TableTargetDetails(Map<String, Object> rawDropData) {
+ super(rawDropData);
+ // eagar fetch itemid, mapper may be emptied
+ String keyover = (String) getData("itemIdOver");
+ if (keyover != null) {
+ idOver = itemIdMapper.get(keyover);
+ }
+ }
+
+ public Object getItemIdOver() {
+ return idOver;
+ }
+
+ public Location getDropLocation() {
+ String s = (String) getData("detail");
+ if ("Top".equals(s)) {
+ return Location.TOP;
+ } else if ("Bottom".equals(s)) {
+ return Location.BOTTOM;
+ } else {
+ return Location.MIDDLE;
+ }
+ }
+
+ @Override
+ public Table getTarget() {
+ return (Table) super.getTarget();
+ }
+
+ }
+
+ public TargetDetails translateDragDropDetails(
+ Map<String, Object> clientVariables) {
+ return new TableTargetDetails(clientVariables);
+ }
}
diff --git a/src/com/vaadin/ui/Tree.java b/src/com/vaadin/ui/Tree.java
index 15990500d6..3bb1e6f696 100644
--- a/src/com/vaadin/ui/Tree.java
+++ b/src/com/vaadin/ui/Tree.java
@@ -1157,7 +1157,7 @@ public class Tree extends AbstractSelect implements Container.Hierarchical,
}
public enum Location {
- TOP, BOTTOM, MIDDLE
+ TOP, BOTTOM, MIDDLE;
}
public class TreeDropDetails extends TargetDetailsImpl {