summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVeronika Irvine <veronika>2003-07-15 18:49:22 +0000
committerVeronika Irvine <veronika>2003-07-15 18:49:22 +0000
commitc448d529148b078625fe558e1ba96098788837a8 (patch)
treea79f5f9ea76b17ff26e57f3019292e0ada5b3e30
parent09d4604153cba58940dd0d2e69249a09c8df7ba5 (diff)
downloadeclipse.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.java15
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java16
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]);
}
/**