diff options
author | treectrl <treectrl> | 2005-05-14 22:17:12 (GMT) |
---|---|---|
committer | treectrl <treectrl> | 2005-05-14 22:17:12 (GMT) |
commit | f9cf0228e57e602b2cb0c3c5435a50b9eb0ca369 (patch) | |
tree | 268525daa801689441f4c3fa4bc85f151a383c94 /generic | |
parent | 7e24b2d62f8b9998ae5f3bbd0364370c0bb567e7 (diff) | |
download | tktreectrl-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.h | 7 | ||||
-rw-r--r-- | generic/tkTreeDrag.c | 14 |
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); |