summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authortreectrl <treectrl>2005-05-14 22:17:12 (GMT)
committertreectrl <treectrl>2005-05-14 22:17:12 (GMT)
commitf9cf0228e57e602b2cb0c3c5435a50b9eb0ca369 (patch)
tree268525daa801689441f4c3fa4bc85f151a383c94 /generic
parent7e24b2d62f8b9998ae5f3bbd0364370c0bb567e7 (diff)
downloadtktreectrl-f9cf0228e57e602b2cb0c3c5435a50b9eb0ca369.zip
tktreectrl-f9cf0228e57e602b2cb0c3c5435a50b9eb0ca369.tar.gz
tktreectrl-f9cf0228e57e602b2cb0c3c5435a50b9eb0ca369.tar.bz2
Experimental hacks to allow -detach elements to appear under the button/line area using new layout option -indent.
Diffstat (limited to 'generic')
-rw-r--r--generic/tkTreeCtrl.h7
-rw-r--r--generic/tkTreeDrag.c14
2 files changed, 19 insertions, 2 deletions
diff --git a/generic/tkTreeCtrl.h b/generic/tkTreeCtrl.h
index 8986898..f0f7a97 100644
--- a/generic/tkTreeCtrl.h
+++ b/generic/tkTreeCtrl.h
@@ -7,7 +7,7 @@
* Copyright (c) 2002-2003 Christian Krone
* Copyright (c) 2003 ActiveState Corporation
*
- * RCS: @(#) $Id: tkTreeCtrl.h,v 1.24 2005/05/13 19:46:53 treectrl Exp $
+ * RCS: @(#) $Id: tkTreeCtrl.h,v 1.25 2005/05/14 22:17:40 treectrl Exp $
*/
#include "tkPort.h"
@@ -420,6 +420,7 @@ extern TreeItemColumn TreeItem_GetFirstColumn(TreeCtrl *tree, TreeItem item);
extern TreeItemColumn TreeItemColumn_GetNext(TreeCtrl *tree, TreeItemColumn column);
extern void TreeItemColumn_InvalidateSize(TreeCtrl *tree, TreeItemColumn column);
extern TreeStyle TreeItemColumn_GetStyle(TreeCtrl *tree, TreeItemColumn column);
+extern int TreeItemColumn_Index(TreeCtrl *tree, TreeItem item_, TreeItemColumn column_);
extern void TreeItemColumn_ForgetStyle(TreeCtrl *tree, TreeItemColumn column_);
extern int TreeItemColumn_NeededWidth(TreeCtrl *tree, TreeItem item_, TreeItemColumn column_);
extern TreeItemColumn TreeItem_FindColumn(TreeCtrl *tree, TreeItem item, int columnIndex);
@@ -437,6 +438,10 @@ struct StyleDrawArgs
{
TreeCtrl *tree;
TreeStyle style;
+#define LAYOUTHAX
+#ifdef LAYOUTHAX
+ int indent;
+#endif
int x;
int y;
int width;
diff --git a/generic/tkTreeDrag.c b/generic/tkTreeDrag.c
index 3d158d6..8097802 100644
--- a/generic/tkTreeDrag.c
+++ b/generic/tkTreeDrag.c
@@ -5,7 +5,7 @@
*
* Copyright (c) 2002-2005 Tim Baker
*
- * RCS: @(#) $Id: tkTreeDrag.c,v 1.9 2005/05/13 19:51:32 treectrl Exp $
+ * RCS: @(#) $Id: tkTreeDrag.c,v 1.10 2005/05/14 22:17:12 treectrl Exp $
*/
#include "tkTreeCtrl.h"
@@ -297,8 +297,14 @@ int DragImageCmd(ClientData clientData, Tcl_Interp *interp, int objc,
indent = TreeItem_Indent(tree, item);
else
indent = 0;
+#ifdef LAYOUTHAX
+ drawArgs.indent = indent;
+ drawArgs.x = x + totalWidth;
+ drawArgs.width = TreeColumn_UseWidth(treeColumn);
+#else
drawArgs.x = x + indent + totalWidth;
drawArgs.width = TreeColumn_UseWidth(treeColumn) - indent;
+#endif
drawArgs.justify = TreeColumn_Justify(treeColumn);
if (objc - 5 > STATIC_SIZE)
STATIC_ALLOC(rects, XRectangle, objc - 5);
@@ -334,8 +340,14 @@ int DragImageCmd(ClientData clientData, Tcl_Interp *interp, int objc,
drawArgs.style = TreeItemColumn_GetStyle(tree, itemColumn);
if (drawArgs.style != NULL)
{
+#ifdef LAYOUTHAX
+ drawArgs.indent = indent;
+ drawArgs.x = x + totalWidth;
+ drawArgs.width = width;
+#else
drawArgs.x = x + indent + totalWidth;
drawArgs.width = width - indent;
+#endif
drawArgs.justify = TreeColumn_Justify(treeColumn);
count = TreeStyle_NumElements(tree, drawArgs.style);
STATIC_ALLOC(rects, XRectangle, count);