[dots/remove-assistant: 20/38] table_editor: get editing working



commit c9d9b486c0d47b68124cc35eabcee13d9e68ff17
Author: Fernando Herrera <fherrera onirica com>
Date:   Fri Jul 9 20:46:56 2010 +0200

    table_editor: get editing working

 dots/table_editor.py |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)
---
diff --git a/dots/table_editor.py b/dots/table_editor.py
index 4115c3c..2606e20 100755
--- a/dots/table_editor.py
+++ b/dots/table_editor.py
@@ -195,6 +195,7 @@ class OpDialog(gtk.Dialog):
 class EditDialog(gtk.Dialog):
 	def __init__(self, opcode=None, operands=None):
 		self.opcode = opcode
+		self.entries = []
 		if self.opcode is None:
 			d = OpDialog()
 			d.run()
@@ -219,6 +220,7 @@ class EditDialog(gtk.Dialog):
 			hbox = gtk.HBox (False, 6)
 			label = gtk.Label (s)
 			entry = gtk.Entry()
+			self.entries.append(entry)
 			if len(operands_list) > 0:
 				operand = ""
 				while operand == "": operand = operands_list.pop()
@@ -231,6 +233,7 @@ class EditDialog(gtk.Dialog):
 			hbox = gtk.HBox (False, 6)
 			label = gtk.Label ("Comments")
 			entry = gtk.Entry()
+			self.entries.append(entry)
 			operands_list.reverse()
 			entry.set_text (" ".join (operands_list).lstrip(" "))
 			hbox.pack_start (label)
@@ -241,6 +244,15 @@ class EditDialog(gtk.Dialog):
 		self.get_content_area().add (vbox)
 		self.show_all()
 
+	def get_opcode(self):
+		return self.opcode
+
+	def get_operands(self):
+		operands = ""
+		for e in self.entries:
+			operands += e.get_text() + " " 
+		return operands
+
 
 def row_clicked(view, event):
 	if event.type != gtk.gdk._2BUTTON_PRESS:
@@ -253,11 +265,20 @@ def row_clicked(view, event):
 	dialog = EditDialog (opcode, operands)
 
 	response = dialog.run()
+	if response == gtk.RESPONSE_ACCEPT:
+		model.set_value (iter, 0, dialog.get_opcode())
+		model.set_value (iter, 1, dialog.get_operands())
 	dialog.destroy()
 
 def add_clicked(button, view):
 	dialog = EditDialog (None, None)
 	response = dialog.run()
+	if response == gtk.RESPONSE_ACCEPT:
+		model = view.get_model()
+		iter = model.append((dialog.get_opcode(), dialog.get_operands()))
+		selection = view.get_selection()
+		selection.select_iter(iter)
+		view.scroll_to_cell(model.get_path(iter))
 	dialog.destroy()
 	
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]