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 import logging
17
18 logger = logging.getLogger('GtkOFilter')
19
21
23 try:
24 model, iter = selection.get_selected()
25 name = model.get_value(iter, 0)
26 logger.debug("selected path: %s " % path)
27 except:
28 None
29
30
32 gtk.main_quit()
33 return False
34
36 sel = self.tv.get_selection()
37 model, iter = sel.get_selected()
38 path = model.get_value(iter, 1)
39 index = model.get_value(iter, 0)
40 del self.steering.GetOF().GetPaths()[index]
41 model.remove(iter)
42
58
60 self.steering = steering
61 gtk.VBox.__init__(self)
62
63
64 self.liststore = gtk.ListStore(int,str,str)
65
66 self.sw = gtk.ScrolledWindow()
67
68
69 self.tv = gtk.TreeView(self.liststore)
70 self.pack_start(self.sw)
71
72 self.b0 = gtk.Button('Add Path')
73 self.b1 = gtk.Button('Delete Path')
74 self.b0.connect('clicked', self.add_path)
75 self.b1.connect('clicked', self.delete_path)
76
77 self.hbbox = gtk.HButtonBox()
78 self.hbbox.pack_start(self.b0, False, False, 1)
79 self.hbbox.pack_start(self.b1, False, False, 1)
80
81 self.pack_start(self.hbbox, False)
82 self.sw.add(self.tv)
83
84 self.tv.column = [None]*3
85 self.tv.column[0] = gtk.TreeViewColumn('index')
86 self.tv.column[1] = gtk.TreeViewColumn('path')
87 self.tv.column[2] = gtk.TreeViewColumn('regex')
88
89 self.tv.cell = [None]*3
90
91 self.selection = self.tv.get_selection()
92 self.selection.connect('changed', self.on_selection_changed)
93
94 self.tv.cell[0] = gtk.CellRendererText()
95 self.tv.cell[0].set_property( 'editable', False)
96 self.tv.column[0].set_sort_column_id(0)
97 self.tv.cell[1] = gtk.CellRendererText()
98 self.tv.cell[1].set_property( 'editable', True)
99 self.tv.cell[1].connect( 'edited', self.cell_edit,self.liststore,1)
100 self.tv.cell[2] = gtk.CellRendererText()
101 self.tv.cell[2].set_property( 'editable', True)
102 self.tv.cell[2].connect( 'edited', self.cell_edit,self.liststore,2)
103
104 self.tv.append_column(self.tv.column[0])
105 self.tv.append_column(self.tv.column[1])
106 self.tv.append_column(self.tv.column[2])
107 self.tv.column[0].pack_start(self.tv.cell[0], True)
108 self.tv.column[1].pack_start(self.tv.cell[1], True)
109 self.tv.column[2].pack_start(self.tv.cell[2], True)
110 self.tv.column[0].set_attributes(self.tv.cell[0], text=0)
111 self.tv.column[1].set_attributes(self.tv.cell[1], text=1)
112 self.tv.column[2].set_attributes(self.tv.cell[2], text=2)
113
114 self.showsteerings()
115 self.show_all()
116
120
133
134
135 - def cell_edit( self, cell, path, new_text,model,col ):
136 """
137 Canges the value of the steering parameter
138 """
139 logger.debug("Change '%s' to '%s'" % (model[path][col], new_text))
140 row = model[path]
141 if (col == 1):
142 self.steering.GetOF().GetPaths()[row[0]].path = new_text
143 row[col] = u'%s' % new_text
144 elif (col == 2):
145 self.steering.GetOF().GetPaths()[row[0]].regex = new_text
146 row[col] = u'%s' % new_text
147