| 1 | # mkBasic w |
| 2 | # |
| 3 | # Create a top-level window that displays a basic text widget. |
| 4 | # |
| 5 | # Arguments: |
| 6 | # w - Name to use for new top-level window. |
| 7 | |
| 8 | proc mkBasic {{w .basic}} { |
| 9 | catch {destroy $w} |
| 10 | toplevel $w |
| 11 | dpos $w |
| 12 | wm title $w "Text Demonstration - Basic Facilities" |
| 13 | wm iconname $w "Text Basics" |
| 14 | button $w.ok -text OK -command "destroy $w" |
| 15 | text $w.t -relief raised -bd 2 -yscrollcommand "$w.s set" -setgrid true |
| 16 | scrollbar $w.s -relief flat -command "$w.t yview" |
| 17 | pack append $w $w.ok {bottom fillx} $w.s {right filly} $w.t {expand fill} |
| 18 | $w.t insert 0.0 {\ |
| 19 | This window is a text widget. It displays one or more lines of text |
| 20 | and allows you to edit the text. Here is a summary of the things you |
| 21 | can do to a text widget: |
| 22 | |
| 23 | 1. Scrolling. Use the scrollbar to adjust the view in the text window. |
| 24 | |
| 25 | 2. Scanning. Press mouse button 2 in the text window and drag up or down. |
| 26 | This will drag the text at high speed to allow you to scan its contents. |
| 27 | |
| 28 | 3. Insert text. Press mouse button 1 to set the insertion cursor, then |
| 29 | type text. What you type will be added to the widget. You can backspace |
| 30 | over what you've typed using either the backspace key, the delete key, |
| 31 | or Control+h. |
| 32 | |
| 33 | 4. Select. Press mouse button 1 and drag to select a range of characters. |
| 34 | Once you've released the button, you can adjust the selection by pressing |
| 35 | button 1 with the shift key down. This will reset the end of the |
| 36 | selection nearest the mouse cursor and you can drag that end of the |
| 37 | selection by dragging the mouse before releasing the mouse button. |
| 38 | You can double-click to select whole words, or triple-click to select |
| 39 | whole lines. |
| 40 | |
| 41 | 5. Delete. To delete text, select the characters you'd like to delete |
| 42 | and type Control+d. |
| 43 | |
| 44 | 6. Copy the selection. To copy the selection either from this window |
| 45 | or from any other window or application, select what you want, click |
| 46 | button 1 to set the insertion cursor, then type Control+v to copy the |
| 47 | selection to the point of the insertion cursor. |
| 48 | |
| 49 | 7. Resize the window. This widget has been configured with the "setGrid" |
| 50 | option on, so that if you resize the window it will always resize to an |
| 51 | even number of characters high and wide. Also, if you make the window |
| 52 | narrow you can see that long lines automatically wrap around onto |
| 53 | additional lines so that all the information is always visible. |
| 54 | |
| 55 | When you're finished with this demonstration, press the "OK" button |
| 56 | below.} |
| 57 | $w.t mark set insert 0.0 |
| 58 | bind $w <Any-Enter> "focus $w.t" |
| 59 | } |