| # -*-mode: python; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- |
| # |
| # $Id$ |
| # |
| # Tix Demonstration 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() |