diff options
author | Matti Tahvonen <matti.tahvonen@itmill.com> | 2010-02-16 11:39:34 +0000 |
---|---|---|
committer | Matti Tahvonen <matti.tahvonen@itmill.com> | 2010-02-16 11:39:34 +0000 |
commit | 7affda148684f0359856eaba85a3d381aec7faa9 (patch) | |
tree | eb4803daf93363b1faa724a44703dde65da851ab /src/com/vaadin/ui | |
parent | 020312bc89558c8c5a28840dc979c6b80f64f912 (diff) | |
download | vaadin-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.java | 64 | ||||
-rw-r--r-- | src/com/vaadin/ui/Tree.java | 2 |
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 { |