diff options
author | Veronika Irvine <veronika> | 2003-07-15 18:49:22 +0000 |
---|---|---|
committer | Veronika Irvine <veronika> | 2003-07-15 18:49:22 +0000 |
commit | c448d529148b078625fe558e1ba96098788837a8 (patch) | |
tree | a79f5f9ea76b17ff26e57f3019292e0ada5b3e30 | |
parent | 09d4604153cba58940dd0d2e69249a09c8df7ba5 (diff) | |
download | eclipse.platform.swt-c448d529148b078625fe558e1ba96098788837a8.tar.gz eclipse.platform.swt-c448d529148b078625fe558e1ba96098788837a8.tar.xz eclipse.platform.swt-c448d529148b078625fe558e1ba96098788837a8.zip |
implemented setInsertMark on Tree
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TreeDragUnderEffect.java | 15 | ||||
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java | 16 |
2 files changed, 14 insertions, 17 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TreeDragUnderEffect.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TreeDragUnderEffect.java index 681fb3683f..752a536973 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TreeDragUnderEffect.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TreeDragUnderEffect.java @@ -91,7 +91,7 @@ private void setDragUnderEffect(int effect, TreeItem item) { if ((currentEffect & DND.FEEDBACK_SELECT) != 0) { setDropSelection(null); } - setInsertMark(item, (effect & DND.FEEDBACK_INSERT_BEFORE) != 0); + tree.setInsertMark(item, (effect & DND.FEEDBACK_INSERT_BEFORE) != 0); return; } if ((currentEffect & DND.FEEDBACK_INSERT_AFTER) != 0 || @@ -114,19 +114,6 @@ private void setDropSelection (TreeItem item) { OS.gtk_tree_view_set_drag_dest_row(tree.handle, path[0], OS.GTK_TREE_VIEW_DROP_INTO_OR_BEFORE); OS.gtk_tree_path_free (path [0]); } -private void setInsertMark(TreeItem item, boolean before) { - if (item == null) { - OS.gtk_tree_view_unset_rows_drag_dest(tree.handle); - return; - } - Rectangle rect = item.getBounds(); - int [] path = new int [1]; - if (!OS.gtk_tree_view_get_path_at_pos(tree.handle, rect.x, rect.y, path, null, null, null)) return; - if (path [0] == 0) return; - int position = before ? OS.GTK_TREE_VIEW_DROP_BEFORE : OS.GTK_TREE_VIEW_DROP_AFTER; - OS.gtk_tree_view_set_drag_dest_row(tree.handle, path[0], position); - OS.gtk_tree_path_free (path [0]); -} private void scrollHover (int effect, TreeItem item, int x, int y) { if ((effect & DND.FEEDBACK_SCROLL) == 0) { scrollBeginTime = 0; diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java index 22c3ce65cf..495d42403b 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java @@ -846,7 +846,7 @@ public void removeTreeListener(TreeListener listener) { * will be inserted when dropped on the tree. * * @param item the insert item. Null will clear the insertion mark. - * @param after true places the insert mark above 'item'. false places + * @param before true places the insert mark above 'item'. false places * the insert mark below 'item'. * * @exception IllegalArgumentException <ul> @@ -857,9 +857,19 @@ public void removeTreeListener(TreeListener listener) { * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> * </ul> */ -public void setInsertMark (TreeItem item, boolean set) { +public void setInsertMark (TreeItem item, boolean before) { checkWidget (); - //NOT IMPLEMENTED + if (item == null) { + OS.gtk_tree_view_unset_rows_drag_dest(handle); + return; + } + Rectangle rect = item.getBounds(); + int [] path = new int [1]; + if (!OS.gtk_tree_view_get_path_at_pos(handle, rect.x, rect.y, path, null, null, null)) return; + if (path [0] == 0) return; + int position = before ? OS.GTK_TREE_VIEW_DROP_BEFORE : OS.GTK_TREE_VIEW_DROP_AFTER; + OS.gtk_tree_view_set_drag_dest_row(handle, path[0], position); + OS.gtk_tree_path_free (path [0]); } /** |