diff options
author | treectrl <treectrl> | 2002-12-29 23:35:33 (GMT) |
---|---|---|
committer | treectrl <treectrl> | 2002-12-29 23:35:33 (GMT) |
commit | c9984e0385a2836b26f0ea9ac081f73c3972bc1c (patch) | |
tree | 2666092e0bb29835b10ef0bbfb6658ec2f5e857d | |
parent | ef4d3ee6b4e9dba6e346092b395405f55bf67392 (diff) | |
download | tktreectrl-c9984e0385a2836b26f0ea9ac081f73c3972bc1c.zip tktreectrl-c9984e0385a2836b26f0ea9ac081f73c3972bc1c.tar.gz tktreectrl-c9984e0385a2836b26f0ea9ac081f73c3972bc1c.tar.bz2 |
Tree_ItemBbox returns result indicating success or failure.
-rw-r--r-- | generic/tkTreeCtrl.c | 6 | ||||
-rw-r--r-- | generic/tkTreeCtrl.h | 2 | ||||
-rw-r--r-- | generic/tkTreeDisplay.c | 5 | ||||
-rw-r--r-- | generic/tkTreeDrag.c | 5 | ||||
-rw-r--r-- | generic/tkTreeItem.c | 12 |
5 files changed, 10 insertions, 20 deletions
diff --git a/generic/tkTreeCtrl.c b/generic/tkTreeCtrl.c index dfc8834..30b3499 100644 --- a/generic/tkTreeCtrl.c +++ b/generic/tkTreeCtrl.c @@ -901,12 +901,10 @@ static int TreeWidgetCmd(ClientData clientData, Tcl_Interp *interp, int objc, } if (TreeItem_FromObj(tree, objv[2], &item, 0) != TCL_OK) goto error; - if (!TreeItem_ReallyVisible(tree, item) || - (tree->columnCountVis < 1)) - break; /* Canvas coords */ - Tree_ItemBbox(tree, item, &x, &y, &w, &h); + if (Tree_ItemBbox(tree, item, &x, &y, &w, &h) < 0) + break; if ((C2Wx(x) > maxX) || (C2Wx(x + w) <= minX) || (w <= visWidth)) { diff --git a/generic/tkTreeCtrl.h b/generic/tkTreeCtrl.h index c27793f..dd5d0a5 100644 --- a/generic/tkTreeCtrl.h +++ b/generic/tkTreeCtrl.h @@ -417,7 +417,7 @@ extern int Tree_TotalWidth(TreeCtrl *tree); extern int Tree_TotalHeight(TreeCtrl *tree); extern TreeItem Tree_ItemUnderPoint(TreeCtrl *tree, int *x, int *y, int nearest); extern void Tree_FreeItemRInfo(TreeCtrl *tree, TreeItem item); -extern void Tree_ItemBbox(TreeCtrl *tree, TreeItem item, int *x, int *y, int *w, int *h); +extern int Tree_ItemBbox(TreeCtrl *tree, TreeItem item, int *x, int *y, int *w, int *h); extern TreeItem Tree_ItemAbove(TreeCtrl *tree, TreeItem item); extern TreeItem Tree_ItemBelow(TreeCtrl *tree, TreeItem item); extern TreeItem Tree_ItemLeft(TreeCtrl *tree, TreeItem item); diff --git a/generic/tkTreeDisplay.c b/generic/tkTreeDisplay.c index f1dbb53..cf630a4 100644 --- a/generic/tkTreeDisplay.c +++ b/generic/tkTreeDisplay.c @@ -1210,13 +1210,13 @@ TreeItem Tree_ItemUnderPoint(TreeCtrl *tree, int *x_, int *y_, int nearest) return NULL; } -void Tree_ItemBbox(TreeCtrl *tree, TreeItem item, int *x, int *y, int *w, int *h) +int Tree_ItemBbox(TreeCtrl *tree, TreeItem item, int *x, int *y, int *w, int *h) { Range *range; RItem *rItem; if (!TreeItem_ReallyVisible(tree, item) || (tree->columnCountVis < 1)) - return; + return -1; Range_RedoIfNeeded(tree); rItem = (RItem *) TreeItem_GetRInfo(tree, item); range = rItem->range; @@ -1234,6 +1234,7 @@ void Tree_ItemBbox(TreeCtrl *tree, TreeItem item, int *x, int *y, int *w, int *h (*y) = range->offset; (*h) = range->totalHeight; } + return 0; } TreeItem Tree_ItemLARB(TreeCtrl *tree, TreeItem item, int vertical, int prev) diff --git a/generic/tkTreeDrag.c b/generic/tkTreeDrag.c index 7d7e1b8..9ef5fbb 100644 --- a/generic/tkTreeDrag.c +++ b/generic/tkTreeDrag.c @@ -230,11 +230,8 @@ int DragImageCmd(ClientData clientData, Tcl_Interp *interp, int objc, } } - if (!TreeItem_ReallyVisible(tree, item) || - (tree->columnCountVis < 1)) + if (Tree_ItemBbox(tree, item, &x, &y, &w, &h) < 0) return TCL_OK; - - Tree_ItemBbox(tree, item, &x, &y, &w, &h); if (w < 1 || h < 1) return TCL_OK; diff --git a/generic/tkTreeItem.c b/generic/tkTreeItem.c index 82830e9..4c227c6 100644 --- a/generic/tkTreeItem.c +++ b/generic/tkTreeItem.c @@ -2858,10 +2858,8 @@ int TreeItemCmd(ClientData clientData, Tcl_Interp *interp, int objc, TreeItem item_ = (TreeItem) item; XRectangle rect; - if (!TreeItem_ReallyVisible(tree, item_) - || (tree->columnCountVis < 1)) + if (Tree_ItemBbox(tree, item_, &x, &y, &w, &h) < 0) return TCL_OK; - Tree_ItemBbox(tree, item_, &x, &y, &w, &h); if (objc > 4) { if (TreeItem_ColumnFromObj(tree, item_, objv[4], @@ -3598,10 +3596,8 @@ char *TreeItem_Identify(TreeCtrl *tree, TreeItem item_, int x, int y) StyleDrawArgs drawArgs; TreeColumn treeColumn; - if (!TreeItem_ReallyVisible(tree, item_) || (tree->columnCountVis < 1)) + if (Tree_ItemBbox(tree, item_, &left, &top, &width, &height) < 0) return NULL; - - Tree_ItemBbox(tree, item_, &left, &top, &width, &height); #if 0 if (y >= Tk_Height(tree->tkwin) || y + height <= 0) return NULL; @@ -3659,11 +3655,9 @@ void TreeItem_Identify2(TreeCtrl *tree, TreeItem item_, StyleDrawArgs drawArgs; TreeColumn treeColumn; - if (!TreeItem_ReallyVisible(tree, item_) || (tree->columnCountVis < 1)) + if (Tree_ItemBbox(tree, item_, &x, &y, &w, &h) < 0) return; - Tree_ItemBbox(tree, item_, &x, &y, &w, &h); - drawArgs.tree = tree; drawArgs.drawable = None; drawArgs.state = self->state; |