1
2
3
4
5
6
7
8
9
10
11
12 import pygtk
13 pygtk.require('2.0')
14 import gtk
15 from iceprod.core.dataclasses import *
16 from GtkIPModule import *
17 import logging
18
19 logger = logging.getLogger('GtkSteering')
20
22
24 try:
25 model, iter = selection.get_selected()
26 name = model.get_value(iter, 0)
27 value = model.get_value(iter, 1)
28 except:
29 None
30
31
33 gtk.main_quit()
34 return False
35
42
60
61
62
64 self.steering = steering
65 gtk.VBox.__init__(self)
66
67
68 self.liststore = gtk.ListStore(str,str,str)
69
70 self.sw = gtk.ScrolledWindow()
71
72
73 self.tv = gtk.TreeView(self.liststore)
74 self.pack_start(self.sw)
75
76 self.b0 = gtk.Button('Add Parameter')
77 self.b1 = gtk.Button('Delete Parameter')
78 self.b0.connect('clicked', self.add_steering)
79 self.b1.connect('clicked', self.delete_steering)
80
81 self.hbbox = gtk.HButtonBox()
82 self.hbbox.pack_start(self.b0, False, False, 1)
83 self.hbbox.pack_start(self.b1, False, False, 1)
84
85 self.pack_start(self.hbbox, False)
86 self.sw.add(self.tv)
87
88 self.tv.column = [None]*3
89 self.tv.column[0] = gtk.TreeViewColumn('Type')
90 self.tv.column[1] = gtk.TreeViewColumn('Parameter')
91 self.tv.column[2] = gtk.TreeViewColumn('Value')
92
93 self.tv.cell = [None]*3
94
95 self.selection = self.tv.get_selection()
96 self.selection.connect('changed', self.on_selection_changed)
97
98
99 for i in range(3):
100 self.tv.cell[i] = gtk.CellRendererText()
101 self.tv.cell[i].set_property( 'editable', True)
102 self.tv.cell[i].connect( 'edited', self.cell_edit,self.liststore,i)
103 self.tv.append_column(self.tv.column[i])
104 self.tv.column[i].set_sort_column_id(i)
105 self.tv.column[i].pack_start(self.tv.cell[i], True)
106 self.tv.column[i].set_attributes(self.tv.cell[i], text=i)
107
108 self.showsteerings()
109 self.show_all()
110
114
124
125
126 - def cell_edit( self, cell, path, new_text,model,col ):
148