@@ -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