OSDN Git Service

FIRST REPOSITORY
[eos/hostdependOTHERS.git] / I386LINUX / util / I386LINUX / lib / tk8.4 / demos / paned2.tcl
1 # paned2.tcl --
2 #
3 # This demonstration script creates a toplevel window containing
4 # a paned window that separates two windows vertically.
5 #
6 # RCS: @(#) $Id: paned2.tcl,v 1.1 2002/02/22 14:07:01 dkf Exp $
7
8 if {![info exists widgetDemo]} {
9     error "This script should be run from the \"widget\" demo."
10 }
11
12 set w .paned2
13 catch {destroy $w}
14 toplevel $w
15 wm title $w "Vertical Paned Window Demonstration"
16 wm iconname $w "paned2"
17 positionWindow $w
18
19 label $w.msg -font $font -wraplength 4i -justify left -text "The sash between the two scrolled windows below can be used to divide the area between them.  Use the left mouse button to resize without redrawing by just moving the sash, and use the middle mouse button to resize opaquely (always redrawing the windows in each position.)"
20 pack $w.msg -side top
21
22 frame $w.buttons
23 pack $w.buttons -side bottom -fill x -pady 2m
24 button $w.buttons.dismiss -text Dismiss -command "destroy $w"
25 button $w.buttons.code -text "See Code" -command "showCode $w"
26 pack $w.buttons.dismiss $w.buttons.code -side left -expand 1
27
28 # Create the pane itself
29 panedwindow $w.pane -orient vertical
30 pack $w.pane -side top -expand yes -fill both -pady 2 -padx 2m
31
32 # The top window is a listbox with scrollbar
33 set paneList {
34     {List of Tk Widgets}
35     button
36     canvas
37     checkbutton
38     entry
39     frame
40     label
41     labelframe
42     listbox
43     menu
44     menubutton
45     message
46     panedwindow
47     radiobutton
48     scale
49     scrollbar
50     spinbox
51     text
52     toplevel
53 }
54 set f [frame $w.pane.top]
55 listbox $f.list -listvariable paneList -yscrollcommand "$f.scr set"
56 # Invert the first item to highlight it
57 $f.list itemconfigure 0 \
58         -background [$f.list cget -fg] -foreground [$f.list cget -bg]
59 scrollbar $f.scr -orient vertical -command "$f.list yview"
60 pack $f.scr -side right -fill y
61 pack $f.list -fill both -expand 1
62
63 # The bottom window is a text widget with scrollbar
64 set f [frame $w.pane.bottom]
65 text $f.text -xscrollcommand "$f.xscr set" -yscrollcommand "$f.yscr set" \
66         -width 30 -wrap none
67 scrollbar $f.xscr -orient horizontal -command "$f.text xview"
68 scrollbar $f.yscr -orient vertical -command "$f.text yview"
69 grid $f.text $f.yscr -sticky nsew
70 grid $f.xscr         -sticky nsew
71 grid columnconfigure $f 0 -weight 1
72 grid rowconfigure    $f 0 -weight 1
73 $f.text insert 1.0 "This is just a normal text widget"
74
75 # Now add our contents to the paned window
76 $w.pane add $w.pane.top $w.pane.bottom