Documentation at http://tcllib.sourceforge.net/doc/ctext.html
Ctext is
What: custom text widget Where: http://tcllib.sf.net/ (within the tklib module) Description: Fast syntax highlighting text megawidget. Provides a way to control the highlighting colors for classes of keywords. Latest version has electric braces/quotes/brackets and a new edit modified instance command. Has been tested with Tcl/Tk 8.3.2 and 8.4b1. Updated: 05/2004 Contact: tklib maintainers
RLH - I just looked at the docs (which I somehow missed before). What a great widget!
AK: The docs were actually added last week, so you could not find them before.
KJN: Thanks for the docs. In case anyone else is looking, they were added to CVS on 2005-04-08, and are not yet in a released version of Tcllib. See the link at the top of the page for the HTML version.
TR: A real-life example using ctext and BWidget for interactive debugging and introspection is here: a debugger with syntax highlighting using ctext
MSH: 2006-05-05 I have just discovered a major drawback with Ctext. Using the linemap to display linenumbers all works OK till I change the size of the font used (I have highlighting using 4 fonts, normal, bold, italic and bolditalic). When the font increases (CTRL-Mousewheel), the numbers no longer line up !! After investigation I found that the -linespace font metrics is not identical for a given point size on all four fonts !! I am working on a proc to adjust the sizes of the fonts individually to maintain a nominal linespacing UNLESS someone knows better ? ;-)
MSH: 2006-06-21 Me again, Font resizing is implemented but under linux the fixed fonts are reeealy ugly when scaled up. I have since discovered another problem, I have an application which uses two text widgets one for a help system with images and another with a fixed font line numbered ctext widget. I saw that the text widget of 8.5 does pixel scrolling with images so I repacked with 8.5a2 and the help is ok but now the fixed text can scroll by a few pixels and the line numbers no longer line up !! Is there any way to force the new text widget to only scroll by whole text lines ? or has someone found another way to update the numbers in ctext ?
MB: 2006-07-27 I would like to use ctext but i fail to use the undo feature. This is my example :
package require ctext ctext .t -undo 1 pack .t .t insert 1.0 "This is a sentence." .t edit undo if {[.t edit modified]==1} then { puts "Ctext Failed" } else { puts "Ctext Pass" } destroy .t
With the current version of ctext (3.1) this prints out "Ctext Failed". I am wrong or there is a bug in line 475 or ctext.tcl where the ar(modified) value is not updated even if a ".t edit undo" is called ? This is the wrong version :
return [uplevel 1 [linsert $args 0 $self._t $cmd]]
This is the fixed :
set result [uplevel 1 [linsert $args 0 $self._t $cmd]] set ar(modified) [$self._t edit modified] return $result
Am I wrong ?
[ Category Package | Category Widget Category GUI, a part of tklib | Category tklib ]