Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/points_list.py
diff options
context:
space:
mode:
authorAlan Aguiar <alanjas@hotmail.com>2013-12-25 18:16:37 (GMT)
committer Alan Aguiar <alanjas@hotmail.com>2013-12-25 18:16:37 (GMT)
commite8a66fcf4d85d976e2f82829564188e389681f52 (patch)
treefc629386500aa3f5d5841db5e37563d7f79edf4e /points_list.py
parente995825e47cadf22de98a80a1390e0ac40c15d8e (diff)
simplify signals
Diffstat (limited to 'points_list.py')
-rw-r--r--points_list.py54
1 files changed, 43 insertions, 11 deletions
diff --git a/points_list.py b/points_list.py
index 142b615..53e05da 100644
--- a/points_list.py
+++ b/points_list.py
@@ -7,14 +7,14 @@ from gettext import gettext as _
class Data(gtk.TreeView):
__gsignals__ = {
- 'label-changed': (gobject.SIGNAL_RUN_FIRST, None, [str, str], ),
- 'value-changed': (gobject.SIGNAL_RUN_FIRST, None, [str, str], ), }
+ 'some-changed': (gobject.SIGNAL_RUN_FIRST, None, [str, str], ), }
+
def __init__(self, activity):
gtk.TreeView.__init__(self)
- self.model = gtk.ListStore(str, str)
+ self.model = gtk.ListStore(str, str, str, str)
self.set_model(self.model)
# Label column
@@ -33,17 +33,39 @@ class Data(gtk.TreeView):
column = gtk.TreeViewColumn(_("Name"))
value = gtk.CellRendererText()
value.set_property('editable', True)
- value.connect("edited", self._value_changed, self.model, activity)
+ value.connect("edited", self._value_changed, self.model)
column.pack_start(value)
column.set_attributes(value, text=1)
+ column.set_expand(True)
+ self.append_column(column)
+
+ # dx column
+
+ column = gtk.TreeViewColumn(_("dx"))
+ value = gtk.CellRendererText()
+ value.set_property('editable', True)
+ value.connect("edited", self._dx_changed, self.model)
+ column.pack_start(value)
+ column.set_attributes(value, text=2)
+ self.append_column(column)
+
+ # dy column
+
+ column = gtk.TreeViewColumn(_("dy"))
+ value = gtk.CellRendererText()
+ value.set_property('editable', True)
+ value.connect("edited", self._dy_changed, self.model)
+
+ column.pack_start(value)
+ column.set_attributes(value, text=3)
self.append_column(column)
self.set_enable_search(False)
self.show_all()
- def add_value(self, label, value):
+ def add_value(self, label, value, dx, dy):
selected = self.get_selection().get_selected()[1]
if not selected:
path = 0
@@ -51,7 +73,7 @@ class Data(gtk.TreeView):
elif selected:
path = self.model.get_path(selected)[0] + 1
- iter = self.model.insert(path, [label, value])
+ iter = self.model.insert(path, [label, value, dx, dy])
self.set_cursor(self.model.get_path(iter),
self.get_column(1),
@@ -72,23 +94,33 @@ class Data(gtk.TreeView):
if path is not None:
path = path[0]
self.model[path][0] = data
- self.emit("label-changed", str(path), data)
+ self.emit("some-changed", str(path), data)
def _label_changed(self, cell, path, new_text, model):
model[path][0] = new_text
- self.emit("label-changed", str(path), new_text)
+ self.emit("some-changed", str(path), new_text)
- def _value_changed(self, cell, path, new_text, model, activity):
+ def _value_changed(self, cell, path, new_text, model):
model[path][1] = new_text
- self.emit("value-changed", str(path), new_text)
+ self.emit("some-changed", str(path), new_text)
+
+ def _dx_changed(self, cell, path, new_text, model):
+ model[path][2] = new_text
+ self.emit("some-changed", str(path), new_text)
+
+ def _dy_changed(self, cell, path, new_text, model):
+ model[path][3] = new_text
+ self.emit("some-changed", str(path), new_text)
def get_info(self):
l = []
for row in self.model:
name = row[1]
status, pos = self._validate_pos(row[0])
+ dx = int(row[2])
+ dy = int(row[3])
if status:
- l.append((name, pos))
+ l.append((name, pos, dx, dy))
return l
def _validate_pos(self, pos):