1Tk::Text::SuperText(3)User Contributed Perl DocumentationTk::Text::SuperText(3)
2
3
4
6 Tk::Text::SuperText - An improved text widget for Perl/Tk
7
9 $super_text = $paren->SuperText(?options?);
10
12 -background -highlightbackground -insertontime -selectborderwidth
13 -borderwidth -highlightcolor -insertwidth -selectforeground
14 -cursor -highlightthickness -padx -setgrid
15 -exportselection -insertbackground -pady -takefocus
16 -font -insertborderwidth -relief -xscrollcommand
17 -foreground -insertofftime -selectbackground -yscrollcommand
18 -ansicolor
19
20 See Tk::options for details of the standard options.
21
22 -height -spacing1 -spacing2 -spacing3
23 -state -tabs -width -wrap
24
25 See Tk::Text for details of theis options.
26
28 Name: indentMode
29 Class: IndentMode
30 Switch: -indentmode
31 Specifies how to indent when a new line is inserted in the text.
32 The possible modes are none for no indent at all or auto for
33 positioning the insertion cursor right below the first non-white
34 space character of the previous line.
35
36 Name: undoDepth
37 Class: UndoDepth
38 Switch: -undodepth
39 Sets the maximum depth for the undo buffer:a number specifies the
40 numbers of insert or delete operations that can be stored in the
41 buffer before the oldest one is poped out and forgotten;0 stops the
42 undo feature,undef sets unlimited depth.
43
44 Name: redoDepth
45 Class: RedoDepth
46 Switch: -redodepth
47 Sets the maximum depth for the redo buffer:a number specifies the
48 numbers of undo operations that can be stored in the buffer before
49 the oldest one is poped out and forgotten;0 stops the redo
50 feature,undef sets unlimited depth.
51
52 Name: showMatching
53 Class: ShowMatching
54 Switch: -showmatching
55 With a value of 1 activates the matching parentheses feature.0
56 deactivates it.
57
58 Name: matchHighlightTime
59 Class: MatchHighlightTime
60 Switch: -matchhighlighttime
61 Sets the number of milliseconds the match highlight stays visible;
62 with a value of 0 the highlight stays on till next match.
63
64 Name: matchForeground
65 Class: MatchForeground
66 Switch: -matchforeground
67 Set the foreground color for the char hilighted by the match-
68 parentheses command.
69
70 Name: matchBackground
71 Class: MatchBackground
72 Switch: -matchbackground
73 Set the background color for the char hilighted by the match-
74 parentheses command.
75
76 Name: matchingCouples
77 Class: MatchingCouples
78 Switch: -matchingcouples
79 Sets the chars that are searched for a matching counterpart. The
80 format is a simple string with matching chars coupled in left-right
81 order; here's an example: {}[]()"" . For double couples ("") the
82 match is done only on the forwarding chars.
83
84 Name: insertMode
85 Class: InsertMode
86 Switch: -insertmode
87 Sets the default insert mode: insert or overwrite .
88
89 Name: ansiColor
90 Class: AnsiColor
91 Switch: -ansicolor
92 Enables or disables use of Tk-TextANSIColor module (by Tim Jenness
93 <t.jenness@jach.hawaii.edu>). This option was implemented by Jim
94 Turner <turnerjw2@netscape.net> (THANKS for the support!)
95
97 Tk::Text::SuperText implements many new features over the standard
98 Tk::Text widget while supporting all it's standard features.Its used
99 simply as the Tk::Text widget. New Features:
100
101 · Unlimited undo/redo.
102
103 So you can undo and redo whatever you deleted/inserted whenever you
104 want. To reset the undo and redo buffers call this method:
105 $w->resetUndo;
106
107 · Rectangular selections.
108
109 Rectangular text zones can be selected, copied, deleted, shifted
110 with the mouse or with the keyboard.
111
112 · Selection right/left char and tab shift.
113
114 Text selections can be shifted left/right of one or more chars or
115 a tabs.
116
117 · Normal and 'inline' selection paste.
118
119 The 'normal' paste is the normal text paste you know :
120
121 Paste Buffer:
122 line x
123
124 line y
125
126 Text Buffer:
127 line 1
128
129 line2
130
131 Normal paste at line 1:
132 line x
133
134 line y
135
136 line 1
137
138 line 2
139
140 The 'inline' paste work as this:
141 Inline paste at line 1:
142 line x line 1
143
144 line y line 2
145
146 · Parentheses matching.
147
148 To help you inspect nested parentheses, brackets and other
149 characters, SuperText has both an automatic parenthesis matching
150 mode, and a find matching command. Automatic parenthesis matching
151 is activated when you type or when you move the insertion cursor
152 after a parenthesis. It momentarily highlightsthe matching
153 character if that character is visible in the window. To find a
154 matching character anywhere in the file, position the cursor after
155 the it, and call the find matching command.
156
157 · Autoindenting.
158
159 When you press the Return or Enter key, spaces and tabs are
160 inserted to line up the insert point under the start of the
161 previous line.
162
163 · Control codes insertion.
164
165 You can directly insert a non printable control character in the
166 text.
167
168 · Commands are managed via virtual events.
169
170 Every SuperText command is binded to a virtual event,so to call it
171 or to bind it to a key sequence use the Tk::event functions. I
172 used this format for key bind so there's no direct key-to-command
173 bind, and this give me more flexibility; however you can use normal
174 binds.
175
176 Example:
177 $w->eventAdd('Tk::Text::SuperText','<<SelectAll>>','<Control-a>');
178
179 To set default events bindigs use this methos: $w->bindDefault;
180
181 · Default key bindings are redefined (not really a feature :).
182
183 Every virtual event has an associated public method with the same
184 name of the event but with the firts char in lower case (eg:
185 <<MouseSelect>> event has a corresponding $super_text->mouseSelect
186 method).
187
188 Virtual Event/Command Default Key Binding
189
190 MouseSetInsert <Button1>
191 MouseSelect <B1-Motion>
192 MouseSelectWord <Double-1>
193 MouseSelectLine <Triple-1>
194 MouseSelectAdd <Shift-1>
195 MouseSelectAddWord <Double-Shift-1>
196 MouseSelectAddLine <Triple-Shift-1>
197 MouseSelectAutoScan <B1-Leave>
198 MouseSelectAutoScanStop <B1-Enter>,<ButtonRelease-1>
199 MouseMoveInsert <Alt-1>
200 MouseRectSelection <Control-B1-Motion>
201 MouseMovePageTo <2> MouseMovePage <B2-Motion>
202 MousePasteSelection <ButtonRelease-2>
203
204 MoveLeft <Left>
205 SelectLeft <Shift-Left>
206 SelectRectLeft <Shift-Alt-Left>
207 MoveLeftWord <Control-Left>
208 SelectLeftWord <Shift-Control-Left>
209 MoveRight <Right>
210 SelectRight <Shift-Right>
211 SelectRectRight <Shift-Alt-Right>
212 MoveRightWord <Control-Right>
213 SelectRightWord <Shift-Control-Right>
214 MoveUp <Up> SelectUp <Shift-Up>
215 SelectRectUp <Shift-Alt-Up>
216 MoveUpParagraph <Control-Up>
217 SelectUpParagraph <Shift-Control-Up>
218 MoveDown <Down>
219 SelectDown <Shift-Down>
220 SelectRectDown <Shift-Alt-Down>
221 MoveDownParagraph <Control-Down>
222 SelectDownParagraph <Shift-Control-Down>
223 MoveLineStart <Home>
224 SelectToLineStart <Shift-Home>
225 MoveTextStart <Control-Home>
226 SelectToTextStart <Shift-Control-Home>
227 MoveLineEnd <End> SelectToLineEnd <Shift-End>
228 MoveTextEnd <Control-End>
229 SelectToTextEnd <Shift-Control-End>
230 MovePageUp <Prior>
231 SelectToPageUp <Shift-Prior>
232 MovePageLeft <Control-Prior>
233 MovePageDown <Next>
234 SelectToPageDown <Shift-Next>
235 MovePageRight <Control-Next>
236 SetSelectionMark <Control-space>,<Select>
237 SelectToMark <Shift-Control-space>,<Shift-Select>
238
239 SelectAll <Control-a>
240 SelectionShiftLeft <Control-comma>
241 SelectionShiftLeftTab <Control-Alt-comma>
242 SelectionShiftRight <Control-period>
243 SelectionShiftRightTab <Control-Alt-period>
244
245 Ins <Insert> Enter <Return>
246 AutoIndentEnter <Control-Return>
247 NoAutoindentEnter <Shift-Return>
248 Del <Delete>
249 BackSpace <BackSpace>
250 DeleteToWordStart <Shift-BackSpace>
251 DeleteToWordEnd <Shift-Delete>
252 DeleteToLineStart <Alt-BackSpace>
253 DeleteToLineEnd <Alt-Delete>
254 DeleteWord <Control-BackSpace>
255 DeleteLine <Control-Delete>
256
257 InsertControlCode <Control-Escape>
258
259 FocusNext <Control-Tab>
260 FocusPrev <Shift-Control-Tab>
261
262 FlashMatchingChar <Control-b>
263 RemoveMatch <Control-B>
264 FindMatchingChar <Control-j>
265 JumpToMatchingChar <Control-J>
266
267 Escape <Escape>
268
269 Tab <Tab>
270
271 LeftTab <Shift-Tab>
272
273 Copy <Control-c>
274
275 Cut <Control-x>
276
277 Paste <Control-v>
278
279 InlinePaste <Control-V>
280
281 Undo <Control-z>
282
283 Redo <Control-Z>
284
285 Destroy <Destroy>
286
287 MenuSelect <Alt-KeyPress>
288
289 · Public methods.
290
291 $widget->mouseSetInsert
292
293 $widget->museSelect
294
295 $widget->mouseSelectWord
296
297 $widget->mouseSelectLine
298
299 $widget->mouseSelectAdd
300
301 $widget->mouseSelectAddWord
302
303 $widget->mouseSelectAddLine
304
305 $widget->mouseSelectAutoScan
306
307 $widget->mouseSelectAutoScanStop
308
309 $widget->mouseMoveInsert
310
311 $widget->mouseRectSelection
312
313 $widget->mouseMovePageTo
314
315 $widget->mouseMovePage
316
317 $widget->mousePasteSelection
318
319 $widget->moveLeft
320
321 $widget->selectLeft
322
323 $widget->selectRectLeft
324
325 $widget->moveLeftWord
326
327 $widget->selectLeftWord
328
329 $widget->moveRight
330
331 $widget->selectRight
332
333 $widget->selectRectRight
334
335 $widget->moveRightWord
336
337 $widget->selectRightWord
338
339 $widget->moveUp
340
341 $widget->selectUp
342
343 $widget->selectRectUp
344
345 $widget->moveUpParagraph
346
347 $widget->selectUpParagraph
348
349 $widget->moveDown
350
351 $widget->selectDown
352
353 $widget->selectRectDown
354
355 $widget->moveDownParagraph
356
357 $widget->selectDownParagraph
358
359 $widget->moveLineStart
360
361 $widget->selectToLineStart
362
363 $widget->moveTextStart
364
365 $widget->selectToTextStart
366
367 $widget->moveLineEnd
368
369 $widget->selectToLineEnd
370
371 $widget->moveTextEnd
372
373 $widget->selectToTextEnd
374
375 $widget->movePageUp
376
377 $widget->selectToPageUp
378
379 $widget->movePageLeft
380
381 $widget->movePageDown
382
383 $widget->selectToPageDown
384
385 $widget->movePageRight
386
387 $widget->setSelectionMark
388
389 $widget->selectToMark
390
391 $widget->selectAll
392
393 $widget->selectionShiftLeft
394
395 $widget->selectionShiftLeftTab
396
397 $widget->selectionShiftRight
398
399 $widget->selectionShiftRightTab
400
401 $widget->ins
402
403 $widget->enter
404
405 $widget->autoIndentEnter
406
407 $widget-> noAutoindentEnter
408
409 $widget->del
410
411 $widget->backSpace
412
413 $widget->deleteToWordStart
414
415 $widget->deleteToWordEnd
416
417 $widget->deleteToLineStart
418
419 $widget->deleteToLineEnd
420
421 $widget->deleteWord
422
423 $widget->deleteLine
424
425 $widget->insertControlCode
426
427 $widget->focusNext
428
429 $widget->focusPrev
430
431 $widget->flashMatchingChar
432
433 $widget->removeMatch
434
435 $widget->findMatchingChar
436
437 $widget->jumpToMatchingChar
438
439 $widget->escape
440
441 $widget->tab
442
443 $widget->leftTab
444
445 $widget->copy
446
447 $widget->cut
448
449 $widget->paste
450
451 $widget->inlinePaste
452
453 $widget->undo
454
455 $widget->redo
456
457 $widget->destroy
458
459 $widget->menuSelect
460
462 Current maintainer is Alexander Becker, "c a p f a n -at- g m x %dot% d
463 e".
464
465 Originally written by Alessandro Iob.
466
468 This program is free software; you can redistribute it and/or modify it
469 under the same terms as Perl itself.
470
472 Tk::Text Tk::ROText Tk::TextUndo
473
475 text, widget
476
477
478
479perl v5.30.0 2019-07-26 Tk::Text::SuperText(3)