Skip to content

Commit e1d9267

Browse files
authored
Merge pull request #3509 from Sigma1912/Gmoccapy_Add_buttons_to_tooledit_frame
Gmoccapy: Move tool table buttons to table frame, add toggle button for calculator use
2 parents b12b8bf + 82a9745 commit e1d9267

File tree

7 files changed

+99
-40
lines changed

7 files changed

+99
-40
lines changed

lib/python/gladevcp/tooledit_widget.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ def match_value_cb(model, path, iter, pathlist):
196196
for path in pathlist:
197197
liststore.remove(liststore.get_iter(path))
198198

199-
# return the selected tool number
199+
# return tool numbers of all rows with checked checkboxes
200200
def get_selected_tool(self):
201201
liststore = self.model
202202
def match_value_cb(model, path, iter, pathlist):
@@ -211,6 +211,15 @@ def match_value_cb(model, path, iter, pathlist):
211211
else:
212212
return(liststore.get_value(liststore.get_iter(pathlist[0]),1))
213213

214+
# return tool number of the highlighted (ie selected) row
215+
def get_selected_row(self):
216+
model, iter = self.view1.get_selection().get_selected()
217+
if iter:
218+
tool = model.get_value(iter, 1)
219+
return tool
220+
else:
221+
return None
222+
214223
def set_selected_tool(self,toolnumber):
215224
try:
216225
treeselection = self.view2.get_selection()
@@ -231,6 +240,8 @@ def match_tool(model, path, iter, pathlist):
231240
def add(self,widget,data=[1,0,0,'0','0','0','0','0','0','0','0','0','0','0','0',0,"comment"]):
232241
self.model.append(data)
233242
self.num_of_col +=1
243+
liststore = self.model
244+
self.wTree.get_object("treeview1").scroll_to_cell(len(liststore)-1)
234245

235246
# this is for adding a filename path after the tooleditor is already loaded.
236247
def set_filename(self,filename):
6.94 KB
Loading
8.15 KB
Loading
147 Bytes
Loading
242 Bytes
Loading

src/emc/usr_intf/gmoccapy/gmoccapy.glade

Lines changed: 28 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -695,6 +695,26 @@
695695
<property name="visible">True</property>
696696
<property name="can-focus">False</property>
697697
</object>
698+
<object class="GtkImage" id="img_tool_delete">
699+
<property name="visible">True</property>
700+
<property name="can-focus">False</property>
701+
</object>
702+
<object class="GtkImage" id="img_tool_save">
703+
<property name="visible">True</property>
704+
<property name="can-focus">False</property>
705+
</object>
706+
<object class="GtkImage" id="img_tool_reload">
707+
<property name="visible">True</property>
708+
<property name="can-focus">False</property>
709+
</object>
710+
<object class="GtkImage" id="img_tool_add">
711+
<property name="visible">True</property>
712+
<property name="can-focus">False</property>
713+
</object>
714+
<object class="GtkImage" id="img_tool_calculator">
715+
<property name="visible">True</property>
716+
<property name="can-focus">False</property>
717+
</object>
698718
<object class="GtkListStore" id="lstst_icon_themes">
699719
<columns>
700720
<!-- column-name path -->
@@ -7405,18 +7425,11 @@ MDI history</property>
74057425
<property name="visible">True</property>
74067426
<property name="can-focus">False</property>
74077427
<child>
7408-
<object class="GtkButton" id="btn_delete_tool">
7409-
<property name="label" translatable="yes">Delete</property>
7410-
<property name="use-action-appearance">False</property>
7428+
<object class="GtkLabel" id="lbl_empty_0_tool">
74117429
<property name="width-request">90</property>
74127430
<property name="height-request">56</property>
74137431
<property name="visible">True</property>
7414-
<property name="can-focus">True</property>
7415-
<property name="receives-default">True</property>
7416-
<property name="tooltip-text" translatable="yes">delete selected tool or tools</property>
7417-
<property name="halign">center</property>
7418-
<property name="valign">center</property>
7419-
<signal name="clicked" handler="on_btn_delete_tool_clicked" swapped="no"/>
7432+
<property name="can-focus">False</property>
74207433
</object>
74217434
<packing>
74227435
<property name="expand">False</property>
@@ -7425,18 +7438,11 @@ MDI history</property>
74257438
</packing>
74267439
</child>
74277440
<child>
7428-
<object class="GtkButton" id="btn_add_tool">
7429-
<property name="label" translatable="yes">Add</property>
7430-
<property name="use-action-appearance">False</property>
7441+
<object class="GtkLabel" id="lbl_empty_1_tool">
74317442
<property name="width-request">90</property>
74327443
<property name="height-request">56</property>
74337444
<property name="visible">True</property>
7434-
<property name="can-focus">True</property>
7435-
<property name="receives-default">True</property>
7436-
<property name="tooltip-text" translatable="yes">add a new tool to tool table</property>
7437-
<property name="halign">center</property>
7438-
<property name="valign">center</property>
7439-
<signal name="clicked" handler="on_btn_add_tool_clicked" swapped="no"/>
7445+
<property name="can-focus">False</property>
74407446
</object>
74417447
<packing>
74427448
<property name="expand">False</property>
@@ -7445,18 +7451,11 @@ MDI history</property>
74457451
</packing>
74467452
</child>
74477453
<child>
7448-
<object class="GtkButton" id="btn_reload_tooltable">
7449-
<property name="label" translatable="yes">Reload</property>
7450-
<property name="use-action-appearance">False</property>
7454+
<object class="GtkLabel" id="lbl_empty_2_tool">
74517455
<property name="width-request">90</property>
74527456
<property name="height-request">56</property>
74537457
<property name="visible">True</property>
7454-
<property name="can-focus">True</property>
7455-
<property name="receives-default">True</property>
7456-
<property name="tooltip-text" translatable="yes">reload tool table from file</property>
7457-
<property name="halign">center</property>
7458-
<property name="valign">center</property>
7459-
<signal name="clicked" handler="on_btn_reload_tooltable_clicked" swapped="no"/>
7458+
<property name="can-focus">False</property>
74607459
</object>
74617460
<packing>
74627461
<property name="expand">False</property>
@@ -7465,18 +7464,11 @@ MDI history</property>
74657464
</packing>
74667465
</child>
74677466
<child>
7468-
<object class="GtkButton" id="btn_apply_tool_changes">
7469-
<property name="label" translatable="yes">Apply</property>
7470-
<property name="use-action-appearance">False</property>
7467+
<object class="GtkLabel" id="lbl_empty_3_tool">
74717468
<property name="width-request">90</property>
74727469
<property name="height-request">56</property>
74737470
<property name="visible">True</property>
7474-
<property name="can-focus">True</property>
7475-
<property name="receives-default">True</property>
7476-
<property name="tooltip-text" translatable="yes">apply the changes you made, G43 will be executed only if it is active G-code</property>
7477-
<property name="halign">center</property>
7478-
<property name="valign">center</property>
7479-
<signal name="clicked" handler="on_btn_apply_tool_changes_clicked" swapped="no"/>
7471+
<property name="can-focus">False</property>
74807472
</object>
74817473
<packing>
74827474
<property name="expand">False</property>

src/emc/usr_intf/gmoccapy/gmoccapy.py

Lines changed: 59 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1957,13 +1957,60 @@ def _init_tooleditor(self):
19571957
if not self.get_ini_info.get_lathe_wear_offsets():
19581958
# hide the wear offset tabs
19591959
self.widgets.tooledit1.set_lathe_display(False)
1960-
self.widgets.tooledit1.hide_buttonbox(True)
1960+
# Modify the button box at the bottom
1961+
buttonbox = self.widgets.tooledit1.wTree.get_object("buttonbox")
1962+
buttonbox.set_layout(Gtk.ButtonBoxStyle.EDGE)
1963+
buttonbox.set_property("homogeneous", True)
1964+
# Delete button
1965+
btn_delete = self.widgets.tooledit1.wTree.get_object("delete")
1966+
btn_delete.set_size_request(56, 56)
1967+
btn_delete.set_label("")
1968+
btn_delete.set_image(self.widgets.img_tool_delete)
1969+
btn_delete.set_always_show_image(True)
1970+
# Add button
1971+
btn_add = self.widgets.tooledit1.wTree.get_object("add")
1972+
btn_add.set_size_request(56, 56)
1973+
btn_add.set_label("")
1974+
btn_add.set_image(self.widgets.img_tool_add)
1975+
btn_add.set_always_show_image(True)
1976+
# Reload button
1977+
btn_reload = self.widgets.tooledit1.wTree.get_object("reload")
1978+
btn_reload.set_size_request(56, 56)
1979+
btn_reload.set_label("")
1980+
btn_reload.set_image(self.widgets.img_tool_reload)
1981+
btn_reload.set_always_show_image(True)
1982+
# Save button
1983+
btn_save = self.widgets.tooledit1.wTree.get_object("apply")
1984+
btn_save.set_size_request(56, 56)
1985+
btn_save.set_label("")
1986+
btn_save.set_image(self.widgets.img_tool_save)
1987+
btn_save.set_always_show_image(True)
1988+
# Create a label for current tool in spindle
1989+
lbl_tool = Gtk.Label()
1990+
self.widgets.tooledit1.lbl_tool = lbl_tool
1991+
lbl_tool.show_all()
1992+
buttonbox.pack_start(lbl_tool,True,True,0)
1993+
# Calculator button
1994+
btn_calculator = Gtk.ToggleButton()
1995+
btn_calculator.set_size_request(56, 56)
1996+
btn_calculator.set_image(self.widgets.img_tool_calculator)
1997+
btn_calculator.set_tooltip_text(_("Use calculator to edit numeric values"))
1998+
btn_calculator.show_all()
1999+
btn_calculator.set_active(self.toolpage_use_calc)
2000+
btn_calculator.connect("toggled", self.on_use_calculator_toggled)
2001+
buttonbox.pack_start(btn_calculator,False,False,50)
19612002
column_cell_ids = ["toggle", "tool#1", "pos1", "x1", "y1", "z1", "a1", "b1", "c1", "u1", "v1", "w1",
19622003
"d1", "front1", "back1", "orient1", "cell_comments1"]
19632004
for col, name in enumerate(column_cell_ids):
19642005
if col > 0 and col < 16:
19652006
temp = self.widgets.tooledit1.wTree.get_object("cell_%s" % name)
19662007
temp.connect('editing-started', self.on_tool_col_edit_started, col)
2008+
# override 'tooledit_widget' method 'set_selected_tool'
2009+
self.widgets.tooledit1.set_selected_tool = self.set_selected_tool
2010+
2011+
def set_selected_tool(self, toolnumber):
2012+
lbl_tool_text = "Tool loaded: " + str(toolnumber)
2013+
self.widgets.tooledit1.lbl_tool.set_text(lbl_tool_text)
19672014

19682015
def on_tree_navigate_key_press(self, treeview, event, filter):
19692016
keyname = Gdk.keyval_name(event.keyval)
@@ -2006,6 +2053,9 @@ def on_tree_navigate_key_press(self, treeview, event, filter):
20062053
else:
20072054
pass
20082055

2056+
def on_use_calculator_toggled(self,widget):
2057+
self.toolpage_use_calc = widget.get_active()
2058+
20092059
def on_tool_col_edit_started(self, widget, filtered_path, new_text, col):
20102060
if not self.toolpage_use_calc:
20112061
return
@@ -4783,6 +4833,12 @@ def _set_icon_theme(self, name):
47834833
("img_tool_clear", "clear", 24),
47844834
("img_tool_path", "toolpath", 24),
47854835
("img_dimensions", "dimensions", 24),
4836+
# tooledit frame controls
4837+
("img_tool_delete", "delete", 32),
4838+
("img_tool_add", "add", 32),
4839+
("img_tool_reload", "refresh", 32),
4840+
("img_tool_save", "save", 32),
4841+
("img_tool_calculator", "calculator_open", 32),
47864842
# coolant
47874843
("img_coolant_on", "coolant_flood_active", 48),
47884844
("img_coolant_off", "coolant_flood_inactive", 48),
@@ -5276,7 +5332,7 @@ def on_btn_reload_tooltable_clicked(self, widget, data=None):
52765332
self.widgets.tooledit1.reload(None)
52775333
self.widgets.tooledit1.set_selected_tool(self.stat.tool_in_spindle)
52785334

5279-
def on_btn_apply_tool_changes_clicked(self, widget, data=None):
5335+
def on_btn_save_tool_changes_clicked(self, widget, data=None):
52805336
self.widgets.tooledit1.save(None)
52815337
self.widgets.tooledit1.set_selected_tool(self.stat.tool_in_spindle)
52825338

@@ -5360,7 +5416,7 @@ def on_btn_select_tool_by_no_clicked(self, widget, data=None):
53605416

53615417
# set tool with M61 Q? or with T? M6
53625418
def on_btn_selected_tool_clicked(self, widget, data=None):
5363-
tool = self.widgets.tooledit1.get_selected_tool()
5419+
tool = self.widgets.tooledit1.get_selected_row()
53645420
if tool == None:
53655421
message = _("you selected no or more than one tool, the tool selection must be unique")
53665422
self.dialogs.warning_dialog(self, _("Important Warning!"), message)

0 commit comments

Comments
 (0)