Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | |
2 | ||
3 | sub mkBasic { | |
4 | ||
5 | # Create a top-level window that displays a basic text widget. | |
6 | ||
7 | $mkBasic->destroy if Exists($mkBasic); | |
8 | $mkBasic = $top->Toplevel(); | |
9 | my $w = $mkBasic; | |
10 | dpos $w; | |
11 | $w->title('Text Demonstration - Basic Facilities'); | |
12 | $w->iconname('Text Basics'); | |
13 | my $w_ok = $w->Button(-text => 'OK', -width => 8, -command => ['destroy', $w]); | |
14 | my $w_t = $w->Text(-relief => 'sunken', -bd => '2', -setgrid => 'true'); | |
15 | my $w_s = $w->Scrollbar(-command => ['yview', $w_t]); | |
16 | $w_t->configure(-yscrollcommand => ['set', $w_s]); | |
17 | $w_ok->pack(-side => 'bottom'); | |
18 | $w_s->pack(-side => 'right', -fill => 'y'); | |
19 | $w_t->pack(-expand => 'yes', -fill => 'both'); | |
20 | ||
21 | $w_t->insert('0.0', 'This window is a text widget. It displays one or more lines of text | |
22 | and allows you to edit the text. Here is a summary of the things you | |
23 | can do to a text widget: | |
24 | ||
25 | 1. Scrolling. Use the scrollbar to adjust the view in the text window. | |
26 | ||
27 | 2. Scanning. Press mouse button 2 in the text window and drag up or down. | |
28 | This will drag the text at high speed to allow you to scan its contents. | |
29 | ||
30 | 3. Insert text. Press mouse button 1 to set the insertion cursor, then | |
31 | type text. What you type will be added to the widget. | |
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 Backspace, Delete or Control-x. | |
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 click button 2 to copy the | |
47 | selection to the point of the insertion cursor. | |
48 | ||
49 | 7. Edit. Text widgets support the standard Motif editing characters | |
50 | plus many Emacs editing characters. Backspace and Control-h erase the | |
51 | character to the left of the insertion cursor. Delete and Control-d | |
52 | erase the character to the right of the insertion cursor. Control-w | |
53 | and Meta-backspace delete the word to the left of the insertion cursor, | |
54 | and Meta-d deletes the word to the right of the insertion cursor. | |
55 | Control-k deletes from the insertion cursor to the end of the line, or | |
56 | it deletes the newline character if that is the only thing left on the | |
57 | line. Control-o opens a new line by inserting a newline character to | |
58 | the right of the insertion cursor. Control-t transposes the two characters | |
59 | to the right of the insertion cursor. | |
60 | ||
61 | 8. Resize the window. This widget has been configured with the "setGrid" | |
62 | option on, so that if you resize the window it will always resize to an | |
63 | even number of characters high and wide. Also, if you make the window | |
64 | narrow you can see that long lines automatically wrap around onto | |
65 | additional lines so that all the information is always visible. | |
66 | ||
67 | When you\'re finished with this demonstration, press the "OK" button | |
68 | below.'); | |
69 | ||
70 | $w_t->mark('set', 'insert', '0.0'); | |
71 | ||
72 | } # end mkBasic | |
73 | ||
74 | ||
75 | 1; |