summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortreectrl <treectrl>2005-05-13 19:46:53 (GMT)
committertreectrl <treectrl>2005-05-13 19:46:53 (GMT)
commit17fb50f59e76fc9857d09f430359679eaed952e9 (patch)
tree134d2b4017f8ec77fba9fb9fe7f0ef11acc1a6df
parent688a5f2f3e82975c1bd39a2f4a8cf88fa511a556 (diff)
downloadtktreectrl-17fb50f59e76fc9857d09f430359679eaed952e9.zip
tktreectrl-17fb50f59e76fc9857d09f430359679eaed952e9.tar.gz
tktreectrl-17fb50f59e76fc9857d09f430359679eaed952e9.tar.bz2
-treecolumn requires real column or "", not an int.
itemPrefix, columnPrefix, nextColumnId added.
-rw-r--r--generic/tkTreeCtrl.h33
1 files changed, 21 insertions, 12 deletions
diff --git a/generic/tkTreeCtrl.h b/generic/tkTreeCtrl.h
index 4feb379..8986898 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.23 2005/05/11 03:24:47 treectrl Exp $
+ * RCS: @(#) $Id: tkTreeCtrl.h,v 1.24 2005/05/13 19:46:53 treectrl Exp $
*/
#include "tkPort.h"
@@ -113,12 +113,12 @@ struct TreeCtrlColumnDrag
{
Tk_OptionTable optionTable;
int enable; /* -enable */
- int column; /* -imagecolumn */
+ TreeColumn column; /* -imagecolumn */
Tcl_Obj *offsetObj; /* -imageoffset */
int offset; /* -imageoffset */
XColor *color; /* -imagecolor */
int alpha; /* -imagealpha */
- int indColumn; /* -indicatorcolumn */
+ TreeColumn indColumn; /* -indicatorcolumn */
XColor *indColor; /* -indicatorcolor */
};
@@ -176,7 +176,7 @@ struct TreeCtrl
int width; /* -width */
Tcl_Obj *heightObj; /* -height */
int height; /* -height */
- int columnTree; /* column where buttons/lines are drawn */
+ TreeColumn columnTree; /* column where buttons/lines are drawn */
#define DOUBLEBUFFER_NONE 0
#define DOUBLEBUFFER_ITEM 1
#define DOUBLEBUFFER_WINDOW 2
@@ -225,6 +225,8 @@ struct TreeCtrl
GC lineGC;
Tk_Image backgroundImage; /* -backgroundimage */
int useTheme; /* -usetheme */
+ char *itemPrefix; /* -itemprefix */
+ char *columnPrefix; /* -columnprefix */
int prevWidth;
int prevHeight;
@@ -247,6 +249,7 @@ struct TreeCtrl
TreeItem activeItem;
TreeItem anchorItem;
int nextItemId;
+ int nextColumnId;
Tcl_HashTable itemHash; /* TreeItem.id -> TreeItem */
Tcl_HashTable elementHash; /* Element.name -> Element */
Tcl_HashTable styleHash; /* Style.name -> Style */
@@ -273,8 +276,8 @@ struct TreeCtrl
struct {
Tcl_Obj *xObj;
- int x; /* Window coords */
- int sx; /* Window coords */
+ int x; /* Window coords */
+ int sx; /* Window coords */
int onScreen;
} columnProxy;
@@ -292,6 +295,8 @@ struct TreeCtrl
} defaultStyle;
Tk_OptionTable itemOptionTable;
+ int itemPrefixLen; /* -itemprefix */
+ int columnPrefixLen; /* -columnprefix */
};
#define TREE_CONF_FONT 0x0001
@@ -329,9 +334,6 @@ extern int Tree_StateFromObj(TreeCtrl *tree, Tcl_Obj *obj, int states[3], int *i
/* tkTreeItem.c */
-extern char *itemPrefix;
-extern int itemPrefixLen;
-
#define ITEM_ALL ((TreeItem) -1)
#define IFO_ALLOK 0x0001 /* ItemFromObj flag: "all" is acceptable */
#define IFO_NULLOK 0x0002 /* ItemFromObj flag: can be NULL */
@@ -423,6 +425,7 @@ extern int TreeItemColumn_NeededWidth(TreeCtrl *tree, TreeItem item_, TreeItemCo
extern TreeItemColumn TreeItem_FindColumn(TreeCtrl *tree, TreeItem item, int columnIndex);
extern int TreeItem_ColumnFromObj(TreeCtrl *tree, TreeItem item, Tcl_Obj *obj, TreeItemColumn *columnPtr, int *indexPtr);
extern void TreeItem_RemoveColumn(TreeCtrl *tree, TreeItem item_, TreeItemColumn column_);
+extern void TreeItem_RemoveAllColumns(TreeCtrl *tree, TreeItem item_);
extern void TreeItem_MoveColumn(TreeCtrl *tree, TreeItem item_, int columnIndex, int beforeIndex);
/* tkTreeElem.c */
@@ -460,7 +463,7 @@ extern void TreeStyle_SetText(TreeCtrl *tree, TreeItem item, TreeItemColumn colu
extern int TreeStyle_FindElement(TreeCtrl *tree, TreeStyle style_, TreeElement elem_, int *index);
extern TreeStyle TreeStyle_NewInstance(TreeCtrl *tree, TreeStyle master);
extern int TreeStyle_ElementActual(TreeCtrl *tree, TreeStyle style_, int state, Tcl_Obj *elemObj, Tcl_Obj *obj);
-extern int TreeStyle_ElementCget(TreeCtrl *tree, TreeStyle style_, Tcl_Obj *elemObj, Tcl_Obj *obj);
+extern int TreeStyle_ElementCget(TreeCtrl *tree, TreeItem item, TreeItemColumn column, TreeStyle style_, Tcl_Obj *elemObj, Tcl_Obj *obj);
extern int TreeStyle_ElementConfigure(TreeCtrl *tree, TreeItem item, TreeItemColumn column, TreeStyle style_, Tcl_Obj *elemObj, int objc, Tcl_Obj **objv, int *eMask);
extern void TreeStyle_ListElements(TreeCtrl *tree, TreeStyle style_);
extern TreeStyle TreeStyle_GetMaster(TreeCtrl *tree, TreeStyle style_);
@@ -500,10 +503,15 @@ extern void TreeNotify_ItemDeleted(TreeCtrl *tree, int itemIds[], int count);
/* tkTreeColumn.c */
extern void Tree_InitColumns(TreeCtrl *tree);
extern TreeColumn Tree_FindColumn(TreeCtrl *tree, int columnIndex);
-#define CFO_NOT_TAIL 0x01
+#define COLUMN_ALL ((TreeColumn) -1)
+#define CFO_NOT_ALL 0x01
+#define CFO_NOT_NULL 0x02
+#define CFO_NOT_TAIL 0x04
extern int Tree_FindColumnByTag(TreeCtrl *tree, Tcl_Obj *obj, TreeColumn *columnPtr, int flags);
-extern int TreeColumn_FromObj(TreeCtrl *tree, Tcl_Obj *obj, TreeColumn *columnPtr, int flags);
+extern int TreeColumn_FromObj(TreeCtrl *tree, Tcl_Obj *objPtr, TreeColumn *columnPtr, int flags);
+extern Tcl_Obj *TreeColumn_ToObj(TreeCtrl *tree, TreeColumn column_);
extern int TreeColumnCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]);
+extern int TreeColumn_GetID(TreeColumn column_);
extern int TreeColumn_Index(TreeColumn column_);
extern TreeColumn TreeColumn_Next(TreeColumn column_);
extern int TreeColumn_FixedWidth(TreeColumn column_);
@@ -603,6 +611,7 @@ extern void Tree_DrawTiledImage(TreeCtrl *tree, Drawable drawable, Tk_Image imag
#define DINFO_SET_ORIGIN_Y 0x0400
#define DINFO_UPDATE_SCROLLBAR_Y 0x0800
#define DINFO_REDO_INCREMENTS 0x1000
+#define DINFO_REDO_COLUMN_WIDTH 0x2000
extern void Tree_DInfoChanged(TreeCtrl *tree, int flags);
extern void Tree_TheWorldHasChanged(Tcl_Interp *interp);