Lines Matching refs:linePtr
52 TkTextLine *linePtr; /* Used if level == 0. */
118 TkTextLine *linePtr));
120 TkTextLine *linePtr, int treeGone));
122 TkTextLine *linePtr));
126 static void CleanupLine _ANSI_ARGS_((TkTextLine *linePtr));
135 TkTextLine *linePtr));
137 TkTextLine *linePtr));
139 TkTextLine *linePtr, int treeGone));
141 TkTextLine *linePtr));
216 register TkTextLine *linePtr, *linePtr2;
227 linePtr = (TkTextLine *) ckalloc(sizeof(TkTextLine));
233 rootPtr->children.linePtr = linePtr;
237 linePtr->parentPtr = rootPtr;
238 linePtr->nextPtr = linePtr2;
240 linePtr->segPtr = segPtr;
315 TkTextLine *linePtr;
318 while (nodePtr->children.linePtr != NULL) {
319 linePtr = nodePtr->children.linePtr;
320 nodePtr->children.linePtr = linePtr->nextPtr;
321 while (linePtr->segPtr != NULL) {
322 segPtr = linePtr->segPtr;
323 linePtr->segPtr = segPtr->nextPtr;
324 (*segPtr->typePtr->deleteProc)(segPtr, linePtr, 1);
326 ckfree((char *) linePtr);
410 TkTextLine *linePtr; /* Current line (new segments are
421 linePtr = indexPtr->linePtr;
442 segPtr->nextPtr = linePtr->segPtr;
443 linePtr->segPtr = segPtr;
463 newLinePtr->parentPtr = linePtr->parentPtr;
464 newLinePtr->nextPtr = linePtr->nextPtr;
465 linePtr->nextPtr = newLinePtr;
468 linePtr = newLinePtr;
480 CleanupLine(indexPtr->linePtr);
481 if (linePtr != indexPtr->linePtr) {
482 CleanupLine(linePtr);
490 for (nodePtr = linePtr->parentPtr ; nodePtr != NULL;
494 nodePtr = linePtr->parentPtr;
543 segPtr = indexPtr->linePtr->segPtr; segPtr != NULL;
551 indexPtr->linePtr->segPtr = segPtr;
587 CleanupLine(linePtr)
588 TkTextLine *linePtr; /* Line to be cleaned up. */
605 for (prevPtrPtr = &linePtr->segPtr, segPtr = *prevPtrPtr;
609 *prevPtrPtr = (*segPtr->typePtr->cleanupProc)(segPtr, linePtr);
668 lastPtr = index2Ptr->linePtr->segPtr;
675 segPtr = index1Ptr->linePtr->segPtr;
676 index1Ptr->linePtr->segPtr = lastPtr;
683 curLinePtr = index1Ptr->linePtr;
696 if (curLinePtr != index1Ptr->linePtr) {
697 if (curNodePtr == index1Ptr->linePtr->parentPtr) {
698 index1Ptr->linePtr->nextPtr = curLinePtr->nextPtr;
700 curNodePtr->children.linePtr = curLinePtr->nextPtr;
746 segPtr->nextPtr = index1Ptr->linePtr->segPtr;
747 index1Ptr->linePtr->segPtr = segPtr;
764 if (index1Ptr->linePtr != index2Ptr->linePtr) {
770 (*segPtr->typePtr->lineChangeProc)(segPtr, index2Ptr->linePtr);
773 curNodePtr = index2Ptr->linePtr->parentPtr;
779 prevLinePtr = curNodePtr->children.linePtr;
780 if (prevLinePtr == index2Ptr->linePtr) {
781 curNodePtr->children.linePtr = index2Ptr->linePtr->nextPtr;
783 while (prevLinePtr->nextPtr != index2Ptr->linePtr) {
786 prevLinePtr->nextPtr = index2Ptr->linePtr->nextPtr;
788 ckfree((char *) index2Ptr->linePtr);
796 CleanupLine(index1Ptr->linePtr);
802 Rebalance((BTree *) index1Ptr->tree, index1Ptr->linePtr->parentPtr);
833 register TkTextLine *linePtr;
862 for (linePtr = nodePtr->children.linePtr; linesLeft > 0;
863 linePtr = linePtr->nextPtr) {
864 if (linePtr == NULL) {
869 return linePtr;
884 * follows linePtr, or NULL if there is no such line.
893 TkBTreeNextLine(linePtr)
894 register TkTextLine *linePtr; /* Pointer to existing line in
899 if (linePtr->nextPtr != NULL) {
900 return linePtr->nextPtr;
909 for (nodePtr = linePtr->parentPtr; ; nodePtr = nodePtr->parentPtr) {
921 return nodePtr->children.linePtr;
936 * preceeds linePtr, or NULL if there is no such line.
945 TkBTreePreviousLine(linePtr)
946 register TkTextLine *linePtr; /* Pointer to existing line in
956 prevPtr = linePtr->parentPtr->children.linePtr; /* First line at leaf */
957 while (prevPtr != linePtr) {
958 if (prevPtr->nextPtr == linePtr) {
972 for (nodePtr = linePtr->parentPtr; ; nodePtr = nodePtr->parentPtr) {
990 for (prevPtr = node2Ptr->children.linePtr ; ; prevPtr = prevPtr->nextPtr) {
1007 * The result is the index of linePtr within the tree, where 0
1017 TkBTreeLineIndex(linePtr)
1018 TkTextLine *linePtr; /* Pointer to existing line in
1030 nodePtr = linePtr->parentPtr;
1032 for (linePtr2 = nodePtr->children.linePtr; linePtr2 != linePtr;
1091 segPtr->nextPtr = indexPtr->linePtr->segPtr;
1092 indexPtr->linePtr->segPtr = segPtr;
1097 CleanupLine(indexPtr->linePtr);
1115 * SegPtr will be unlinked from linePtr. The segment itself
1123 TkBTreeUnlinkSegment(tree, segPtr, linePtr)
1126 TkTextLine *linePtr; /* Line that currently contains
1131 if (linePtr->segPtr == segPtr) {
1132 linePtr->segPtr = segPtr->nextPtr;
1134 for (prevPtr = linePtr->segPtr; prevPtr->nextPtr != segPtr;
1140 CleanupLine(linePtr);
1195 segPtr->nextPtr = index1Ptr->linePtr->segPtr;
1196 index1Ptr->linePtr->segPtr = segPtr;
1213 cleanupLinePtr = index1Ptr->linePtr;
1217 prevPtr = search.curIndex.linePtr->segPtr;
1219 search.curIndex.linePtr->segPtr = segPtr->nextPtr;
1227 ChangeNodeToggleCount(search.curIndex.linePtr->parentPtr,
1246 if (cleanupLinePtr != search.curIndex.linePtr) {
1248 cleanupLinePtr = search.curIndex.linePtr;
1264 segPtr->nextPtr = index2Ptr->linePtr->segPtr;
1265 index2Ptr->linePtr->segPtr = segPtr;
1281 if (cleanupLinePtr != index2Ptr->linePtr) {
1282 CleanupLine(index2Ptr->linePtr);
1502 register TkTextLine *linePtr;
1535 for (linePtr = nodePtr->children.linePtr; linePtr != (TkTextLine *) NULL;
1536 linePtr = linePtr->nextPtr) {
1537 for (offset = 0, segPtr = linePtr->segPtr ; segPtr != NULL;
1547 indexPtr->linePtr = linePtr;
1583 register TkTextLine *linePtr ,*lastLinePtr;
1618 for (lastLinePtr = NULL, linePtr = nodePtr->children.linePtr;
1619 linePtr != (TkTextLine *) NULL; linePtr = linePtr->nextPtr) {
1620 for (offset = 0, lastSegPtr = NULL, segPtr = linePtr->segPtr ;
1631 lastLinePtr = linePtr;
1637 indexPtr->linePtr = lastLinePtr;
1718 searchPtr->linesLeft = TkBTreeLineIndex(index2Ptr->linePtr) + 1
1719 - TkBTreeLineIndex(index1Ptr->linePtr);
1821 if ((TkBTreeLineIndex(index2Ptr->linePtr) == 0) &&
1830 searchPtr->linesLeft = TkBTreeLineIndex(index1Ptr->linePtr) + 1
1831 - TkBTreeLineIndex(backOne.linePtr);
1920 nodePtr = searchPtr->curIndex.linePtr->parentPtr;
1921 searchPtr->curIndex.linePtr = searchPtr->curIndex.linePtr->nextPtr;
1926 if (searchPtr->curIndex.linePtr != NULL) {
1927 segPtr = searchPtr->curIndex.linePtr->segPtr;
1993 searchPtr->curIndex.linePtr = nodePtr->children.linePtr;
1995 segPtr = searchPtr->curIndex.linePtr->segPtr;
2042 register TkTextLine *linePtr, *prevLinePtr;
2073 for (prevPtr = NULL, segPtr = searchPtr->curIndex.linePtr->segPtr ;
2114 nodePtr = searchPtr->curIndex.linePtr->parentPtr;
2115 for (prevLinePtr = NULL, linePtr = nodePtr->children.linePtr;
2116 linePtr != NULL && linePtr != searchPtr->curIndex.linePtr;
2117 prevLinePtr = linePtr, linePtr = linePtr->nextPtr) {
2121 searchPtr->curIndex.linePtr = prevLinePtr;
2208 for (prevLinePtr = NULL, linePtr = nodePtr->children.linePtr;
2209 linePtr != NULL ;
2210 prevLinePtr = linePtr, linePtr = linePtr->nextPtr) {
2213 searchPtr->curIndex.linePtr = prevLinePtr;
2237 * character given by linePtr and ch, and 0 otherwise.
2264 for (index = 0, segPtr = indexPtr->linePtr->segPtr;
2279 * that are predecessors of indexPtr->linePtr but under the same
2284 for (siblingLinePtr = indexPtr->linePtr->parentPtr->children.linePtr;
2285 siblingLinePtr != indexPtr->linePtr;
2307 for (nodePtr = indexPtr->linePtr->parentPtr; nodePtr->parentPtr != NULL;
2346 * the character at the position given by linePtr and ch. The
2385 for (index = 0, segPtr = indexPtr->linePtr->segPtr;
2396 * indexPtr->linePtr but under the same level-0 node.
2399 for (siblingLinePtr = indexPtr->linePtr->parentPtr->children.linePtr;
2400 siblingLinePtr != indexPtr->linePtr;
2416 for (nodePtr = indexPtr->linePtr->parentPtr; nodePtr->parentPtr != NULL;
2548 register TkTextLine *linePtr;
2593 for (linePtr = nodePtr->children.linePtr ; linePtr != NULL ;
2594 linePtr = linePtr->nextPtr) {
2595 for (segPtr = linePtr->segPtr; segPtr != NULL;
2632 linePtr = nodePtr->children.linePtr;
2633 while (linePtr->nextPtr != NULL) {
2634 linePtr = linePtr->nextPtr;
2636 segPtr = linePtr->segPtr;
2691 register TkTextLine *linePtr;
2711 for (linePtr = nodePtr->children.linePtr; linePtr != NULL;
2712 linePtr = linePtr->nextPtr) {
2713 if (linePtr->parentPtr != nodePtr) {
2716 if (linePtr->segPtr == NULL) {
2719 for (segPtr = linePtr->segPtr; segPtr != NULL;
2722 (*segPtr->typePtr->checkProc)(segPtr, linePtr);
2787 for (linePtr = nodePtr->children.linePtr; linePtr != NULL;
2788 linePtr = linePtr->nextPtr) {
2789 for (segPtr = linePtr->segPtr; segPtr != NULL;
2859 register TkTextLine *linePtr;
2897 linePtr = nodePtr->children.linePtr;
2898 i > 0; i--, linePtr = linePtr->nextPtr) {
2901 newPtr->children.linePtr = linePtr->nextPtr;
2902 linePtr->nextPtr = NULL;
2984 otherPtr->children.linePtr = NULL;
2987 register TkTextLine *linePtr;
2989 for (linePtr = nodePtr->children.linePtr, i = 1;
2990 linePtr->nextPtr != NULL;
2991 linePtr = linePtr->nextPtr, i++) {
2993 halfwayLinePtr = linePtr;
2996 linePtr->nextPtr = otherPtr->children.linePtr;
2998 halfwayLinePtr = linePtr;
2999 linePtr = linePtr->nextPtr;
3041 otherPtr->children.linePtr = halfwayLinePtr->nextPtr;
3083 register TkTextLine *linePtr;
3106 for (linePtr = nodePtr->children.linePtr; linePtr != NULL;
3107 linePtr = linePtr->nextPtr) {
3110 linePtr->parentPtr = nodePtr;
3111 for (segPtr = linePtr->segPtr; segPtr != NULL;
3296 CharCleanupProc(segPtr, linePtr)
3299 TkTextLine *linePtr; /* Line containing segments (not
3339 CharDeleteProc(segPtr, linePtr, treeGone)
3341 TkTextLine *linePtr; /* Line containing segment. */
3371 CharCheckProc(segPtr, linePtr)
3373 TkTextLine *linePtr; /* Line containing segment. */
3421 ToggleDeleteProc(segPtr, linePtr, treeGone)
3423 TkTextLine *linePtr; /* Line containing segment. */
3442 ChangeNodeToggleCount(linePtr->parentPtr,
3474 ToggleCleanupProc(segPtr, linePtr)
3476 TkTextLine *linePtr; /* Line that now contains segment. */
3501 ChangeNodeToggleCount(linePtr->parentPtr,
3513 ChangeNodeToggleCount(linePtr->parentPtr,
3539 ToggleLineChangeProc(segPtr, linePtr)
3541 TkTextLine *linePtr; /* Line that used to contain segment. */
3544 ChangeNodeToggleCount(linePtr->parentPtr,
3569 ToggleCheckProc(segPtr, linePtr)
3571 TkTextLine *linePtr; /* Line containing segment. */
3582 needSummary = (segPtr->body.toggle.tagPtr->tagRootPtr != linePtr->parentPtr);
3583 for (summaryPtr = linePtr->parentPtr->summaryPtr; ;
3611 * The return value is the character count for linePtr.
3620 TkBTreeCharsInLine(linePtr)
3621 TkTextLine *linePtr; /* Line whose characters should be
3628 for (segPtr = linePtr->segPtr; segPtr != NULL; segPtr = segPtr->nextPtr) {