Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | [.text pendingsync] returns a boolean |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | tip-438 |
Files: | files | file ages | folders |
SHA1: |
c1620a3030fca39c67871b9fafefe370 |
User & Date: | fvogel 2015-11-28 19:45:01 |
Context
2015-11-28
| ||
21:38 | Text widget documentation updated according to TIP #438 check-in: 1e6f4294 user: fvogel tags: tip-438 | |
19:45 | [.text pendingsync] returns a boolean check-in: c1620a30 user: fvogel tags: tip-438 | |
2015-11-22
| ||
20:59 | Merged core-8-5-branch check-in: 04fc47f2 user: fvogel tags: tip-438 | |
Changes
Changes to generic/tkText.c.
︙ | ︙ | |||
1370 1371 1372 1373 1374 1375 1376 | case TEXT_MARK: result = TkTextMarkCmd(textPtr, interp, objc, objv); break; case TEXT_PEER: result = TextPeerCmd(textPtr, interp, objc, objv); break; case TEXT_PENDINGSYNC: { | < < < | > | 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 | case TEXT_MARK: result = TkTextMarkCmd(textPtr, interp, objc, objv); break; case TEXT_PEER: result = TextPeerCmd(textPtr, interp, objc, objv); break; case TEXT_PENDINGSYNC: { if (objc != 2) { Tcl_WrongNumArgs(interp, 2, objv, NULL); result = TCL_ERROR; goto done; } Tcl_SetObjResult(interp, Tcl_NewBooleanObj(TkTextPendingsync(textPtr))); break; } case TEXT_REPLACE: { const TkTextIndex *indexFromPtr, *indexToPtr; if (objc < 5) { Tcl_WrongNumArgs(interp, 2, objv, |
︙ | ︙ |
Changes to generic/tkText.h.
︙ | ︙ | |||
1121 1122 1123 1124 1125 1126 1127 | MODULE_SCOPE int TkTextMarkCmd(TkText *textPtr, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); MODULE_SCOPE int TkTextMarkNameToIndex(TkText *textPtr, const char *name, TkTextIndex *indexPtr); MODULE_SCOPE void TkTextMarkSegToIndex(TkText *textPtr, TkTextSegment *markPtr, TkTextIndex *indexPtr); MODULE_SCOPE void TkTextEventuallyRepick(TkText *textPtr); | | | 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 | MODULE_SCOPE int TkTextMarkCmd(TkText *textPtr, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); MODULE_SCOPE int TkTextMarkNameToIndex(TkText *textPtr, const char *name, TkTextIndex *indexPtr); MODULE_SCOPE void TkTextMarkSegToIndex(TkText *textPtr, TkTextSegment *markPtr, TkTextIndex *indexPtr); MODULE_SCOPE void TkTextEventuallyRepick(TkText *textPtr); MODULE_SCOPE Bool TkTextPendingsync(TkText *textPtr); MODULE_SCOPE void TkTextPickCurrent(TkText *textPtr, XEvent *eventPtr); MODULE_SCOPE void TkTextPixelIndex(TkText *textPtr, int x, int y, TkTextIndex *indexPtr, int *nearest); MODULE_SCOPE int TkTextPrintIndex(const TkText *textPtr, const TkTextIndex *indexPtr, char *string); MODULE_SCOPE Tcl_Obj * TkTextNewIndexObj(TkText *textPtr, const TkTextIndex *indexPtr); |
︙ | ︙ |
Changes to generic/tkTextDisp.c.
︙ | ︙ | |||
6097 6098 6099 6100 6101 6102 6103 | } /* *-------------------------------------------------------------- * * TkTextPendingsync -- * | | < | | < > > | > | 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 | } /* *-------------------------------------------------------------- * * TkTextPendingsync -- * * This function checks if any line heights are not up-to-date. * * Results: * Returns a boolean true if it is the case, or false if all line * heights are up-to-date. * * Side effects: * None. * *-------------------------------------------------------------- */ Bool TkTextPendingsync( TkText *textPtr) /* Information about text widget. */ { TextDInfo *dInfoPtr = textPtr->dInfoPtr; return ( (dInfoPtr->lastMetricUpdateLine - dInfoPtr->currentMetricUpdateLine) ? 1 : 0); } /* *-------------------------------------------------------------- * * TkTextScanCmd -- * |
︙ | ︙ |
Changes to tests/text.test.
︙ | ︙ | |||
1040 1041 1042 1043 1044 1045 1046 | while {[.top.yt pendingsync]} {update} .top.yt yview moveto 1 set fraction1 [lindex [.top.yt yview] 0] set res [expr {$fraction1 > 0}] .top.yt delete 1.0 end .top.yt insert 1.0 $content # ensure the test is relevant | | | 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 | while {[.top.yt pendingsync]} {update} .top.yt yview moveto 1 set fraction1 [lindex [.top.yt yview] 0] set res [expr {$fraction1 > 0}] .top.yt delete 1.0 end .top.yt insert 1.0 $content # ensure the test is relevant lappend res [.top.yt pendingsync] # asynchronously wait for completion of line metrics calculation while {[.top.yt pendingsync]} {update} .top.yt yview moveto $fraction1 set fraction2 [lindex [.top.yt yview] 0] lappend res [expr {$fraction1 == $fraction2}] } -cleanup { destroy .top.yt .top |
︙ | ︙ |