home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
tusportal.tus.k12.pa.us
/
tusportal.tus.k12.pa.us.tar
/
tusportal.tus.k12.pa.us
/
Wyse
/
latest-image.raw
/
0.img
/
usr
/
lib
/
pygtk
/
2.0
/
demos
/
tree_store.pyc
(
.txt
)
< prev
next >
Wrap
Python Compiled Bytecode
|
2010-05-11
|
8KB
|
576 lines
# Source Generated with Decompyle++
# File: in.pyc (Python 2.6)
"""Tree View/Tree Store
The GtkTreeStore is used to store data in tree form, to be used
later on by a GtkTreeView to display it. This demo builds a simple
GtkTreeStore and displays it. If you're new to the GtkTreeView widgets
and associates, look into the GtkListStore example first."""
import gobject
import gtk
(HOLIDAY_NAME_COLUMN, ALEX_COLUMN, HAVOC_COLUMN, TIM_COLUMN, OWEN_COLUMN, DAVE_COLUMN, VISIBLE_COLUMN, WORLD_COLUMN, NUM_COLUMNS) = range(9)
january = [
[
'New Years Day',
True,
True,
True,
True,
False,
True],
[
'Presidential Inauguration',
False,
True,
False,
True,
False,
False],
[
'Martin Luther King Jr. day',
False,
True,
False,
True,
False,
False]]
february = [
[
"Presidents' Day",
False,
True,
False,
True,
False,
False],
[
'Groundhog Day',
False,
False,
False,
False,
False,
False],
[
"Valentine's Day",
False,
False,
False,
False,
True,
True]]
march = [
[
'National Tree Planting Day',
False,
False,
False,
False,
False,
False],
[
"St Patrick's Day",
False,
False,
False,
False,
False,
True]]
april = [
[
"April Fools' Day",
False,
False,
False,
False,
False,
True],
[
'Army Day',
False,
False,
False,
False,
False,
False],
[
'Earth Day',
False,
False,
False,
False,
False,
True],
[
"Administrative Professionals' Day",
False,
False,
False,
False,
False,
False]]
may = [
[
"Nurses' Day",
False,
False,
False,
False,
False,
False],
[
'National Day of Prayer',
False,
False,
False,
False,
False,
False],
[
"Mothers' Day",
False,
False,
False,
False,
False,
True],
[
'Armed Forces Day',
False,
False,
False,
False,
False,
False],
[
'Memorial Day',
True,
True,
True,
True,
False,
True]]
june = [
[
"June Fathers' Day",
False,
False,
False,
False,
False,
True],
[
'Juneteenth(Liberation of Slaves)',
False,
False,
False,
False,
False,
False],
[
'Flag Day',
False,
True,
False,
True,
False,
False]]
july = [
[
"Parents' Day",
False,
False,
False,
False,
False,
True],
[
'Independence Day',
False,
True,
False,
True,
False,
False]]
august = [
[
'Air Force Day',
False,
False,
False,
False,
False,
False],
[
'Coast Guard Day',
False,
False,
False,
False,
False,
False],
[
'Friendship Day',
False,
False,
False,
False,
False,
False]]
september = [
[
"Grandparents' Day",
False,
False,
False,
False,
False,
True],
[
'Citizenship Day or Constitution Day',
False,
False,
False,
False,
False,
False],
[
'Labor Day',
True,
True,
True,
True,
False,
True]]
october = [
[
"National Children's Day",
False,
False,
False,
False,
False,
False],
[
"Bosses' Day",
False,
False,
False,
False,
False,
False],
[
'Sweetest Day',
False,
False,
False,
False,
False,
False],
[
"Mother-in-Law's Day",
False,
False,
False,
False,
False,
False],
[
'Navy Day',
False,
False,
False,
False,
False,
False],
[
'Columbus Day',
False,
True,
False,
True,
False,
False],
[
'Halloween',
False,
False,
False,
False,
False,
True]]
november = [
[
'Marine Corps Day',
False,
False,
False,
False,
False,
False],
[
"Veterans' Day",
True,
True,
True,
True,
False,
True],
[
'Thanksgiving',
False,
True,
False,
True,
False,
False]]
december = [
[
'Pearl Harbor Remembrance Day',
False,
False,
False,
False,
False,
False],
[
'Christmas',
True,
True,
True,
True,
False,
True],
[
'Kwanzaa',
False,
False,
False,
False,
False,
False]]
toplevel = [
[
'January',
False,
False,
False,
False,
False,
False,
january],
[
'February',
False,
False,
False,
False,
False,
False,
february],
[
'March',
False,
False,
False,
False,
False,
False,
march],
[
'April',
False,
False,
False,
False,
False,
False,
april],
[
'May',
False,
False,
False,
False,
False,
False,
may],
[
'June',
False,
False,
False,
False,
False,
False,
june],
[
'July',
False,
False,
False,
False,
False,
False,
july],
[
'August',
False,
False,
False,
False,
False,
False,
august],
[
'September',
False,
False,
False,
False,
False,
False,
september],
[
'October',
False,
False,
False,
False,
False,
False,
october],
[
'November',
False,
False,
False,
False,
False,
False,
november],
[
'December',
False,
False,
False,
False,
False,
False,
december]]
class TreeStoreDemo(gtk.Window):
def __init__(self, parent = None):
gtk.Window.__init__(self)
try:
self.set_screen(parent.get_screen())
except AttributeError:
self.connect('destroy', (lambda : gtk.main_quit()))
self.set_title(self.__class__.__name__)
self.set_default_size(650, 400)
self.set_border_width(8)
vbox = gtk.VBox(False, 8)
self.add(vbox)
label = gtk.Label("Jonathan's Holiday Card Planning Sheet")
vbox.pack_start(label, False, False)
sw = gtk.ScrolledWindow()
sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
vbox.pack_start(sw)
model = self._TreeStoreDemo__create_model()
treeview = gtk.TreeView(model)
treeview.set_rules_hint(True)
self._TreeStoreDemo__add_columns(treeview)
sw.add(treeview)
treeview.connect('realize', (lambda tv: tv.expand_all()))
self.show_all()
def __create_model(self):
model = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_BOOLEAN, gobject.TYPE_BOOLEAN, gobject.TYPE_BOOLEAN, gobject.TYPE_BOOLEAN, gobject.TYPE_BOOLEAN, gobject.TYPE_BOOLEAN, gobject.TYPE_BOOLEAN)
for month in toplevel:
iter = model.append(None)
model.set(iter, HOLIDAY_NAME_COLUMN, month[HOLIDAY_NAME_COLUMN], ALEX_COLUMN, False, HAVOC_COLUMN, False, TIM_COLUMN, False, OWEN_COLUMN, False, DAVE_COLUMN, False, VISIBLE_COLUMN, False, WORLD_COLUMN, False)
for holiday in month[-1]:
child_iter = model.append(iter)
model.set(child_iter, HOLIDAY_NAME_COLUMN, holiday[HOLIDAY_NAME_COLUMN], ALEX_COLUMN, holiday[ALEX_COLUMN], HAVOC_COLUMN, holiday[HAVOC_COLUMN], TIM_COLUMN, holiday[TIM_COLUMN], OWEN_COLUMN, holiday[OWEN_COLUMN], DAVE_COLUMN, holiday[DAVE_COLUMN], VISIBLE_COLUMN, True, WORLD_COLUMN, holiday[WORLD_COLUMN - 1])
return model
def on_item_toggled(self, cell, path_str, model):
column = cell.get_data('column')
iter = model.get_iter_from_string(path_str)
toggle_item = model.get_value(iter, column)
toggle_item = not toggle_item
model.set(iter, column, toggle_item)
def __add_columns(self, treeview):
model = treeview.get_model()
renderer = gtk.CellRendererText()
renderer.set_property('xalign', 0)
column = gtk.TreeViewColumn('Holiday', renderer, text = HOLIDAY_NAME_COLUMN)
column.set_clickable(True)
treeview.append_column(column)
renderer = gtk.CellRendererToggle()
renderer.set_property('xalign', 0)
renderer.set_data('column', ALEX_COLUMN)
renderer.connect('toggled', self.on_item_toggled, model)
column = gtk.TreeViewColumn('Alex', renderer, active = ALEX_COLUMN, visible = VISIBLE_COLUMN, activatable = WORLD_COLUMN)
column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
column.set_fixed_width(50)
column.set_clickable(True)
treeview.append_column(column)
renderer = gtk.CellRendererToggle()
renderer.set_property('xalign', 0)
renderer.set_data('column', HAVOC_COLUMN)
renderer.connect('toggled', self.on_item_toggled, model)
column = gtk.TreeViewColumn('Havoc', renderer, active = HAVOC_COLUMN, visible = VISIBLE_COLUMN)
column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
column.set_fixed_width(50)
column.set_clickable(True)
treeview.append_column(column)
renderer = gtk.CellRendererToggle()
renderer.set_property('xalign', 0)
renderer.set_data('column', TIM_COLUMN)
renderer.connect('toggled', self.on_item_toggled, model)
column = gtk.TreeViewColumn('Tim', renderer, active = TIM_COLUMN, visible = VISIBLE_COLUMN, activatable = WORLD_COLUMN)
column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
column.set_fixed_width(50)
column.set_clickable(True)
treeview.append_column(column)
renderer = gtk.CellRendererToggle()
renderer.set_property('xalign', 0)
renderer.set_data('column', OWEN_COLUMN)
renderer.connect('toggled', self.on_item_toggled, model)
column = gtk.TreeViewColumn('Owen', renderer, active = OWEN_COLUMN, visible = VISIBLE_COLUMN)
column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
column.set_fixed_width(50)
column.set_clickable(True)
treeview.append_column(column)
renderer = gtk.CellRendererToggle()
renderer.set_property('xalign', 0)
renderer.set_data('column', DAVE_COLUMN)
renderer.connect('toggled', self.on_item_toggled, model)
column = gtk.TreeViewColumn('Dave', renderer, active = DAVE_COLUMN, visible = VISIBLE_COLUMN)
column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
column.set_fixed_width(50)
column.set_clickable(True)
treeview.append_column(column)
def main():
TreeStoreDemo()
gtk.main()
if __name__ == '__main__':
main()