/Demo/tix/samples/NoteBook.py
http://unladen-swallow.googlecode.com/ · Python · 119 lines · 64 code · 22 blank · 33 comment · 3 complexity · 87eb1d5118fe81f78e333d636dc4d0f7 MD5 · raw file
- # -*-mode: python; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
- #
- # $Id: NoteBook.py 36560 2004-07-18 06:16:08Z tim_one $
- #
- # Tix Demostration Program
- #
- # This sample program is structured in such a way so that it can be
- # executed from the Tix demo program "tixwidgets.py": it must have a
- # procedure called "RunSample". It should also have the "if" statment
- # at the end of this file so that it can be run as a standalone
- # program.
- # This file demonstrates the use of the tixNoteBook widget, which allows
- # you to lay out your interface using a "notebook" metaphore
- #
- import Tix
- def RunSample(w):
- global root
- root = w
- # We use these options to set the sizes of the subwidgets inside the
- # notebook, so that they are well-aligned on the screen.
- prefix = Tix.OptionName(w)
- if prefix:
- prefix = '*'+prefix
- else:
- prefix = ''
- w.option_add(prefix+'*TixControl*entry.width', 10)
- w.option_add(prefix+'*TixControl*label.width', 18)
- w.option_add(prefix+'*TixControl*label.anchor', Tix.E)
- w.option_add(prefix+'*TixNoteBook*tagPadX', 8)
- # Create the notebook widget and set its backpagecolor to gray.
- # Note that the -backpagecolor option belongs to the "nbframe"
- # subwidget.
- nb = Tix.NoteBook(w, name='nb', ipadx=6, ipady=6)
- nb['bg'] = 'gray'
- nb.nbframe['backpagecolor'] = 'gray'
- # Create the two tabs on the notebook. The -underline option
- # puts a underline on the first character of the labels of the tabs.
- # Keyboard accelerators will be defined automatically according
- # to the underlined character.
- nb.add('hard_disk', label="Hard Disk", underline=0)
- nb.add('network', label="Network", underline=0)
- nb.pack(expand=1, fill=Tix.BOTH, padx=5, pady=5 ,side=Tix.TOP)
- #----------------------------------------
- # Create the first page
- #----------------------------------------
- # Create two frames: one for the common buttons, one for the
- # other widgets
- #
- tab=nb.hard_disk
- f = Tix.Frame(tab)
- common = Tix.Frame(tab)
- f.pack(side=Tix.LEFT, padx=2, pady=2, fill=Tix.BOTH, expand=1)
- common.pack(side=Tix.RIGHT, padx=2, fill=Tix.Y)
- a = Tix.Control(f, value=12, label='Access time: ')
- w = Tix.Control(f, value=400, label='Write Throughput: ')
- r = Tix.Control(f, value=400, label='Read Throughput: ')
- c = Tix.Control(f, value=1021, label='Capacity: ')
- a.pack(side=Tix.TOP, padx=20, pady=2)
- w.pack(side=Tix.TOP, padx=20, pady=2)
- r.pack(side=Tix.TOP, padx=20, pady=2)
- c.pack(side=Tix.TOP, padx=20, pady=2)
- # Create the common buttons
- createCommonButtons(common)
- #----------------------------------------
- # Create the second page
- #----------------------------------------
- tab = nb.network
- f = Tix.Frame(tab)
- common = Tix.Frame(tab)
- f.pack(side=Tix.LEFT, padx=2, pady=2, fill=Tix.BOTH, expand=1)
- common.pack(side=Tix.RIGHT, padx=2, fill=Tix.Y)
- a = Tix.Control(f, value=12, label='Access time: ')
- w = Tix.Control(f, value=400, label='Write Throughput: ')
- r = Tix.Control(f, value=400, label='Read Throughput: ')
- c = Tix.Control(f, value=1021, label='Capacity: ')
- u = Tix.Control(f, value=10, label='Users: ')
- a.pack(side=Tix.TOP, padx=20, pady=2)
- w.pack(side=Tix.TOP, padx=20, pady=2)
- r.pack(side=Tix.TOP, padx=20, pady=2)
- c.pack(side=Tix.TOP, padx=20, pady=2)
- u.pack(side=Tix.TOP, padx=20, pady=2)
- createCommonButtons(common)
- def doDestroy():
- global root
- root.destroy()
- def createCommonButtons(master):
- ok = Tix.Button(master, name='ok', text='OK', width=6,
- command=doDestroy)
- cancel = Tix.Button(master, name='cancel',
- text='Cancel', width=6,
- command=doDestroy)
- ok.pack(side=Tix.TOP, padx=2, pady=2)
- cancel.pack(side=Tix.TOP, padx=2, pady=2)
- if __name__ == '__main__':
- root = Tix.Tk()
- RunSample(root)
- root.mainloop()