From: Chris M. <gi...@gi...> - 2013-02-26 08:17:47
|
gladevcp -tooleditor - add get_selected_tool and hide_buttonbox http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=781be81 --- lib/python/gladevcp/tooledit_gtk.glade | 2 +- lib/python/gladevcp/tooledit_widget.py | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/lib/python/gladevcp/tooledit_gtk.glade b/lib/python/gladevcp/tooledit_gtk.glade index 027cdbd..b535b46 100644 --- a/lib/python/gladevcp/tooledit_gtk.glade +++ b/lib/python/gladevcp/tooledit_gtk.glade @@ -281,7 +281,7 @@ <placeholder/> </child> <child> - <object class="GtkHButtonBox" id="hbuttonbox1"> + <object class="GtkHButtonBox" id="buttonbox"> <property name="visible">True</property> <property name="layout_style">center</property> <child> diff --git a/lib/python/gladevcp/tooledit_widget.py b/lib/python/gladevcp/tooledit_widget.py index 5610b17..b7ce5d7 100644 --- a/lib/python/gladevcp/tooledit_widget.py +++ b/lib/python/gladevcp/tooledit_widget.py @@ -78,6 +78,7 @@ class ToolEdit(gtk.VBox): self.all_window = self.wTree.get_object("all_window") self.view2 = self.wTree.get_object("treeview2") self.apply = self.wTree.get_object("apply") + self.buttonbox = self.wTree.get_object("buttonbox") # reparent tooledit box from Glades tp level window to tooledit's VBox window = self.wTree.get_object("tooledit_box") window.reparent(self) @@ -87,6 +88,7 @@ class ToolEdit(gtk.VBox): # check linuxcnc status every second gobject.timeout_add(1000, self.periodic_check) + # delete the selected tools def delete(self,widget): liststore = self.model def match_value_cb(model, path, iter, pathlist): @@ -101,6 +103,21 @@ class ToolEdit(gtk.VBox): for path in pathlist: liststore.remove(liststore.get_iter(path)) + # return the selected tool number + def get_selected_tool(self): + liststore = self.model + def match_value_cb(model, path, iter, pathlist): + if model.get_value(iter, 0) == 1 : + pathlist.append(path) + return False # keep the foreach going + pathlist = [] + liststore.foreach(match_value_cb, pathlist) + # foreach works in a depth first fashion + if len(pathlist) != 1: + return None + else: + return(liststore.get_value(liststore.get_iter(pathlist[0]),1)) + def add(self,widget,data=[1,0,0,'0','0','0','0','0','0','0','0','0','0','0','0','0',"comment"]): self.model.append(data) self.num_of_col +=1 @@ -273,6 +290,14 @@ class ToolEdit(gtk.VBox): if self.toolinfo == []: return None return self.toolinfo + # 'convenience' method to hide buttons + # you must call this after show_all() + def hide_buttonbox(self, data): + if data: + self.buttonbox.hide() + else: + self.buttonbox.show() + # standard Gobject method def do_get_property(self, property): name = property.name.replace('-', '_') @@ -322,6 +347,7 @@ def main(filename=None): #tooledit.set_filename("/home/chris/emc2-dev/configs/sim/gscreen/test.tbl") tooledit.set_font("sans 16") window.show_all() + #tooledit.hide_buttonbox(True) response = window.run() if response == gtk.RESPONSE_ACCEPT: print "True" |