- the application now uses only the default values from the app.options dict, the app.defaults dict holds the definitive default values

- fixed some outstanding issues from the PyQt6 port
- PEP8 fixes
- minor fixes
- updated the saving of Preferences to update the self.options too: the `Apply` action will update the self.options but the `Save` action will save the updated preferences to the file on disk
This commit is contained in:
Marius Stanciu
2022-02-18 23:06:58 +02:00
committed by Marius
parent 14d9ea5470
commit 65d8dcc0b2
92 changed files with 1881 additions and 1882 deletions

View File

@@ -409,7 +409,7 @@ class TclCommandSignaled(TclCommand):
passed_timeout = args['timeout']
args.pop('timeout', None)
else:
passed_timeout = self.app.defaults['global_background_timeout']
passed_timeout = self.app.options['global_background_timeout']
# set detail for processing, it will be there until next open or close
self.app.shell.open_processing(self.get_current_command())

View File

@@ -75,7 +75,7 @@ class TclCommandBbox(TclCommand):
_("Expected GerberObject or GeometryObject, got"), name, type(obj)))
if 'margin' not in args:
args['margin'] = float(self.app.defaults["gerber_bboxmargin"])
args['margin'] = float(self.app.options["gerber_bboxmargin"])
margin = args['margin']
if 'rounded' in args:
@@ -85,7 +85,7 @@ class TclCommandBbox(TclCommand):
par = args['rounded']
rounded = bool(eval(par))
else:
rounded = bool(eval(self.app.defaults["gerber_bboxrounded"]))
rounded = bool(eval(self.app.options["gerber_bboxrounded"]))
args.pop('name', None)

View File

@@ -135,25 +135,25 @@ class TclCommandCncjob(TclCommandSignaled):
else:
return
args["dia"] = args["dia"] if "dia" in args and args["dia"] else self.app.defaults["tools_mill_tooldia"]
args["dia"] = args["dia"] if "dia" in args and args["dia"] else self.app.options["tools_mill_tooldia"]
args["z_cut"] = args["z_cut"] if "z_cut" in args and args["z_cut"] else self.app.defaults["tools_mill_cutz"]
args["z_cut"] = args["z_cut"] if "z_cut" in args and args["z_cut"] else self.app.options["tools_mill_cutz"]
args["z_move"] = args["z_move"] if "z_move" in args and args["z_move"] else \
self.app.defaults["tools_mill_travelz"]
self.app.options["tools_mill_travelz"]
args["pp"] = args["pp"] if "pp" in args and isinstance(args["pp"], str) else \
self.app.defaults["tools_mill_ppname_g"]
self.app.options["tools_mill_ppname_g"]
args["feedrate"] = args["feedrate"] if "feedrate" in args and args["feedrate"] else \
self.app.defaults["tools_mill_feedrate"]
self.app.options["tools_mill_feedrate"]
if 'laser' in args["pp"] and "feedrate_z" not in args:
args["feedrate_z"] = args["feedrate"]
else:
args["feedrate_z"] = args["feedrate_z"] if "feedrate_z" in args and args["feedrate_z"] else \
self.app.defaults["tools_mill_feedrate_z"]
self.app.options["tools_mill_feedrate_z"]
args["feedrate_rapid"] = args["feedrate_rapid"] if "feedrate_rapid" in args and args["feedrate_rapid"] else \
self.app.defaults["tools_mill_feedrate_rapid"]
self.app.options["tools_mill_feedrate_rapid"]
if "extracut_length" in args:
args["extracut"] = True
@@ -162,28 +162,28 @@ class TclCommandCncjob(TclCommandSignaled):
else:
args["extracut_length"] = float(args["extracut_length"])
else:
args["extracut"] = self.app.defaults["tools_mill_extracut"]
args["extracut_length"] = self.app.defaults["tools_mill_extracut_length"]
args["extracut"] = self.app.options["tools_mill_extracut"]
args["extracut_length"] = self.app.options["tools_mill_extracut_length"]
if "dpp" in args:
args["multidepth"] = True
if args["dpp"] is None:
args["dpp"] = self.app.defaults["tools_mill_depthperpass"]
args["dpp"] = self.app.options["tools_mill_depthperpass"]
else:
args["dpp"] = float(args["dpp"])
else:
args["multidepth"] = self.app.defaults["tools_mill_multidepth"]
args["dpp"] = self.app.defaults["tools_mill_depthperpass"]
args["multidepth"] = self.app.options["tools_mill_multidepth"]
args["dpp"] = self.app.options["tools_mill_depthperpass"]
args["startz"] = args["startz"] if "startz" in args and args["startz"] else \
self.app.defaults["tools_mill_startz"]
args["endz"] = args["endz"] if "endz" in args and args["endz"] else self.app.defaults["tools_mill_endz"]
self.app.options["tools_mill_startz"]
args["endz"] = args["endz"] if "endz" in args and args["endz"] else self.app.options["tools_mill_endz"]
if "endxy" in args and args["endxy"]:
args["endxy"] = args["endxy"]
else:
if self.app.defaults["tools_mill_endxy"]:
args["endxy"] = str(self.app.defaults["tools_mill_endxy"])
if self.app.options["tools_mill_endxy"]:
args["endxy"] = str(self.app.options["tools_mill_endxy"])
else:
args["endxy"] = '0, 0'
if len(eval(args["endxy"])) != 2:
@@ -207,24 +207,24 @@ class TclCommandCncjob(TclCommandSignaled):
else:
args["dwelltime"] = float(args['dwelltime'])
else:
args["dwell"] = self.app.defaults["tools_mill_dwell"]
args["dwelltime"] = self.app.defaults["tools_mill_dwelltime"]
args["dwell"] = self.app.options["tools_mill_dwell"]
args["dwelltime"] = self.app.options["tools_mill_dwelltime"]
if "toolchangez" in args:
args["toolchange"] = True
if args["toolchangez"] is not None:
args["toolchangez"] = args["toolchangez"]
else:
args["toolchangez"] = self.app.defaults["tools_mill_toolchangez"]
args["toolchangez"] = self.app.options["tools_mill_toolchangez"]
else:
args["toolchange"] = self.app.defaults["tools_mill_toolchange"]
args["toolchangez"] = self.app.defaults["tools_mill_toolchangez"]
args["toolchange"] = self.app.options["tools_mill_toolchange"]
args["toolchangez"] = self.app.options["tools_mill_toolchangez"]
if "toolchangexy" in args and args["toolchangexy"]:
args["toolchangexy"] = args["toolchangexy"]
else:
if self.app.defaults["tools_mill_toolchangexy"]:
args["toolchangexy"] = str(self.app.defaults["tools_mill_toolchangexy"])
if self.app.options["tools_mill_toolchangexy"]:
args["toolchangexy"] = str(self.app.options["tools_mill_toolchangexy"])
else:
args["toolchangexy"] = '0, 0'
if len(eval(args["toolchangexy"])) != 2:
@@ -256,8 +256,8 @@ class TclCommandCncjob(TclCommandSignaled):
for tool_uid in list(local_tools_dict.keys()):
if 'data' in local_tools_dict[tool_uid]:
local_tools_dict[tool_uid]['data']['segx'] = self.app.defaults['geometry_segx']
local_tools_dict[tool_uid]['data']['segy'] = self.app.defaults['geometry_segx']
local_tools_dict[tool_uid]['data']['segx'] = self.app.options['geometry_segx']
local_tools_dict[tool_uid]['data']['segy'] = self.app.options['geometry_segx']
local_tools_dict[tool_uid]['data']['tools_mill_tooldia'] = args["dia"]
local_tools_dict[tool_uid]['data']['tools_mill_cutz'] = args["z_cut"]
local_tools_dict[tool_uid]['data']['tools_mill_travelz'] = args["z_move"]

View File

@@ -103,22 +103,22 @@ class TclCommandCopperClear(TclCommand):
if 'tooldia' in args:
tooldia = str(args['tooldia'])
else:
tooldia = str(self.app.defaults["tools_ncc_tools"])
tooldia = str(self.app.options["tools_ncc_tools"])
if 'overlap' in args:
overlap = float(args['overlap']) / 100.0
else:
overlap = float(self.app.defaults["tools_ncc_overlap"]) / 100.0
overlap = float(self.app.options["tools_ncc_overlap"]) / 100.0
if 'order' in args:
order = args['order']
else:
order = str(self.app.defaults["tools_ncc_order"])
order = str(self.app.options["tools_ncc_order"])
if 'margin' in args:
margin = float(args['margin'])
else:
margin = float(self.app.defaults["tools_ncc_margin"])
margin = float(self.app.options["tools_ncc_margin"])
if 'method' in args:
method = args['method']
@@ -132,7 +132,7 @@ class TclCommandCopperClear(TclCommand):
return "Method not supported or typo.\n" \
"Supported methods are: 'standard', 'seed' and 'lines'."
else:
method = str(self.app.defaults["tools_ncc_method"])
method = str(self.app.options["tools_ncc_method"])
method_data = method
if 'connect' in args:
@@ -142,7 +142,7 @@ class TclCommandCopperClear(TclCommand):
par = args['connect']
connect = bool(eval(par))
else:
connect = bool(eval(str(self.app.defaults["tools_ncc_connect"])))
connect = bool(eval(str(self.app.options["tools_ncc_connect"])))
if 'contour' in args:
try:
@@ -151,7 +151,7 @@ class TclCommandCopperClear(TclCommand):
par = args['contour']
contour = bool(eval(par))
else:
contour = bool(eval(str(self.app.defaults["tools_ncc_contour"])))
contour = bool(eval(str(self.app.options["tools_ncc_contour"])))
offset = 0.0
if 'offset' in args:
@@ -172,7 +172,7 @@ class TclCommandCopperClear(TclCommand):
par = args['rest']
rest = bool(eval(par))
else:
rest = bool(eval(str(self.app.defaults["tools_ncc_rest"])))
rest = bool(eval(str(self.app.options["tools_ncc_rest"])))
if 'outname' in args:
outname = args['outname']
@@ -202,8 +202,8 @@ class TclCommandCopperClear(TclCommand):
"tools_ncc_contour": contour,
"tools_ncc_overlap": overlap,
"segx": self.app.defaults["geometry_segx"],
"segy": self.app.defaults["geometry_segy"]
"segx": self.app.options["geometry_segx"],
"segy": self.app.options["geometry_segy"]
})
ncc_tools = {}

View File

@@ -74,12 +74,12 @@ class TclCommandCutout(TclCommand):
if 'margin' in args:
margin_par = float(args['margin'])
else:
margin_par = float(self.app.defaults["tools_cutout_margin"])
margin_par = float(self.app.options["tools_cutout_margin"])
if 'dia' in args:
dia_par = float(args['dia'])
else:
dia_par = float(self.app.defaults["tools_cutout_tooldia"])
dia_par = float(self.app.options["tools_cutout_tooldia"])
if 'gaps' in args:
if args['gaps'] not in ["tb", "lr", "4", 4]:
@@ -88,12 +88,12 @@ class TclCommandCutout(TclCommand):
return "fail"
gaps_par = str(args['gaps'])
else:
gaps_par = str(self.app.defaults["tools_cutout_gaps_ff"])
gaps_par = str(self.app.options["tools_cutout_gaps_ff"])
if 'gapsize' in args:
gapsize_par = float(args['gapsize'])
else:
gapsize_par = float(self.app.defaults["tools_cutout_gapsize"])
gapsize_par = float(self.app.options["tools_cutout_gapsize"])
if 'outname' in args:
outname = args['outname']

View File

@@ -236,7 +236,7 @@ class TclCommandDrillcncjob(TclCommandSignaled):
drillz = args["drillz"] if "drillz" in args and args["drillz"] is not None else \
obj.obj_options["tools_drill_cutz"]
toolchange = self.app.defaults["tools_drill_toolchange"]
toolchange = self.app.options["tools_drill_toolchange"]
if "toolchangez" in args:
toolchange = True
if args["toolchangez"] is not None:
@@ -244,14 +244,14 @@ class TclCommandDrillcncjob(TclCommandSignaled):
else:
toolchangez = obj.obj_options["tools_drill_toolchangez"]
else:
toolchangez = float(self.app.defaults["tools_drill_toolchangez"])
toolchangez = float(self.app.options["tools_drill_toolchangez"])
if "toolchangexy" in args and args["toolchangexy"]:
toolchange = True
xy_toolchange = args["toolchangexy"]
else:
if self.app.defaults["tools_drill_toolchangexy"]:
xy_toolchange = str(self.app.defaults["tools_drill_toolchangexy"])
if self.app.options["tools_drill_toolchangexy"]:
xy_toolchange = str(self.app.options["tools_drill_toolchangexy"])
else:
xy_toolchange = '0, 0'
if len(eval(xy_toolchange)) != 2:
@@ -262,13 +262,13 @@ class TclCommandDrillcncjob(TclCommandSignaled):
return "fail"
endz = args["endz"] if "endz" in args and args["endz"] is not None else \
self.app.defaults["tools_drill_endz"]
self.app.options["tools_drill_endz"]
if "endxy" in args and args["endxy"]:
xy_end = args["endxy"]
else:
if self.app.defaults["tools_drill_endxy"]:
xy_end = str(self.app.defaults["tools_drill_endxy"])
if self.app.options["tools_drill_endxy"]:
xy_end = str(self.app.options["tools_drill_endxy"])
else:
xy_end = '0, 0'
@@ -291,7 +291,7 @@ class TclCommandDrillcncjob(TclCommandSignaled):
cnc_job_obj.used_tools = use_tools
# preprocessor
pp_excellon_name = args["pp"] if "pp" in args and args["pp"] else self.app.defaults["tools_drill_ppname_e"]
pp_excellon_name = args["pp"] if "pp" in args and args["pp"] else self.app.options["tools_drill_ppname_e"]
cnc_job_obj.pp_excellon_name = pp_excellon_name
cnc_job_obj.obj_options['ppname_e'] = pp_excellon_name
@@ -303,19 +303,19 @@ class TclCommandDrillcncjob(TclCommandSignaled):
else:
cnc_job_obj.z_depthpercut = abs(float(obj.obj_options["dpp"]))
else:
cnc_job_obj.multidepth = self.app.defaults["tools_drill_multidepth"]
cnc_job_obj.z_depthpercut = self.app.defaults["tools_drill_depthperpass"]
cnc_job_obj.multidepth = self.app.options["tools_drill_multidepth"]
cnc_job_obj.z_depthpercut = self.app.options["tools_drill_depthperpass"]
# travel Z
cnc_job_obj.z_move = float(args["travelz"]) if "travelz" in args and args["travelz"] else \
self.app.defaults["tools_drill_travelz"]
self.app.options["tools_drill_travelz"]
# Feedrate
cnc_job_obj.feedrate = float(args["feedrate_z"]) if "feedrate_z" in args and args["feedrate_z"] else \
self.app.defaults["tools_drill_feedrate_z"]
self.app.options["tools_drill_feedrate_z"]
cnc_job_obj.z_feedrate = float(args["feedrate_z"]) if "feedrate_z" in args and args["feedrate_z"] else \
self.app.defaults["tools_drill_feedrate_z"]
self.app.options["tools_drill_feedrate_z"]
cnc_job_obj.feedrate_rapid = float(args["feedrate_rapid"]) \
if "feedrate_rapid" in args and args["feedrate_rapid"] else \
self.app.defaults["tools_drill_feedrate_rapid"]
self.app.options["tools_drill_feedrate_rapid"]
# SpindleSpped / Laser Power
if 'laser' not in pp_excellon_name:
@@ -327,20 +327,20 @@ class TclCommandDrillcncjob(TclCommandSignaled):
cnc_job_obj.laser_min_power = float(args["las_min_pwr"]) if "las_min_pwr" in args else 0.0
# spindle direction
cnc_job_obj.spindledir = self.app.defaults["tools_drill_spindledir"]
cnc_job_obj.spindledir = self.app.options["tools_drill_spindledir"]
# dwell and dwelltime
if 'dwelltime' in args:
cnc_job_obj.dwell = True
if args['dwelltime'] is not None:
cnc_job_obj.dwelltime = float(args['dwelltime'])
else:
cnc_job_obj.dwelltime = float(self.app.defaults["tools_drill_dwelltime"])
cnc_job_obj.dwelltime = float(self.app.options["tools_drill_dwelltime"])
else:
cnc_job_obj.dwell = self.app.defaults["tools_drill_dwell"]
cnc_job_obj.dwelltime = self.app.defaults["tools_drill_dwelltime"]
cnc_job_obj.dwell = self.app.options["tools_drill_dwell"]
cnc_job_obj.dwelltime = self.app.options["tools_drill_dwelltime"]
cnc_job_obj.coords_decimals = int(self.app.defaults["cncjob_coords_decimals"])
cnc_job_obj.fr_decimals = int(self.app.defaults["cncjob_fr_decimals"])
cnc_job_obj.coords_decimals = int(self.app.options["cncjob_coords_decimals"])
cnc_job_obj.fr_decimals = int(self.app.options["cncjob_fr_decimals"])
cnc_job_obj.obj_options['xmin'] = xmin
cnc_job_obj.obj_options['ymin'] = ymin
@@ -359,10 +359,10 @@ class TclCommandDrillcncjob(TclCommandSignaled):
if "startz" in args and args["startz"] is not None:
cnc_job_obj.startz = float(args["startz"])
else:
if self.app.defaults["tools_drill_startz"]:
cnc_job_obj.startz = self.app.defaults["tools_drill_startz"]
if self.app.options["tools_drill_startz"]:
cnc_job_obj.startz = self.app.options["tools_drill_startz"]
else:
cnc_job_obj.startz = self.app.defaults["tools_drill_travelz"]
cnc_job_obj.startz = self.app.options["tools_drill_travelz"]
# end Z
cnc_job_obj.z_end = float(endz)
# end X-Y location

View File

@@ -61,7 +61,7 @@ class TclCommandExportDXF(TclCommand):
source_obj_name = args['name']
if 'filename' not in args:
filename = self.app.defaults["global_last_save_folder"] + '/' + args['name']
filename = self.app.options["global_last_save_folder"] + '/' + args['name']
else:
filename = args['filename']

View File

@@ -48,5 +48,5 @@ class TclCommandExportExcellon(TclCommand):
:return:
"""
if 'filename' not in args:
args['filename'] = self.app.defaults["global_last_save_folder"] + '/' + args['name']
args['filename'] = self.app.options["global_last_save_folder"] + '/' + args['name']
self.app.f_handlers.export_excellon(use_thread=False, **args)

View File

@@ -48,5 +48,5 @@ class TclCommandExportGerber(TclCommand):
:return:
"""
if 'filename' not in args:
args['filename'] = self.app.defaults["global_last_save_folder"] + '/' + args['name']
args['filename'] = self.app.options["global_last_save_folder"] + '/' + args['name']
self.app.f_handlers.export_gerber(use_thread=False, **args)

View File

@@ -56,7 +56,7 @@ class TclCommandExportSVG(TclCommand):
source_obj_name = args['name']
if 'filename' not in args:
filename = self.app.defaults["global_last_save_folder"] + '/' + args['name']
filename = self.app.options["global_last_save_folder"] + '/' + args['name']
else:
filename = args['filename']

View File

@@ -146,22 +146,22 @@ class TclCommandGeoCutout(TclCommandSignaled):
if 'margin' in args:
margin = float(args['margin'])
else:
margin = float(self.app.defaults["tools_cutout_margin"])
margin = float(self.app.options["tools_cutout_margin"])
if 'dia' in args:
dia = float(args['dia'])
else:
dia = float(self.app.defaults["tools_cutout_tooldia"])
dia = float(self.app.options["tools_cutout_tooldia"])
if 'gaps' in args:
gaps = args['gaps']
else:
gaps = str(self.app.defaults["tools_cutout_gaps_ff"])
gaps = str(self.app.options["tools_cutout_gaps_ff"])
if 'gapsize' in args:
gapsize = float(args['gapsize'])
else:
gapsize = float(self.app.defaults["tools_cutout_gapsize"])
gapsize = float(self.app.options["tools_cutout_gapsize"])
if 'outname' in args:
outname = args['outname']

View File

@@ -61,5 +61,5 @@ class TclCommandGetPath(TclCommand):
"""
self.app.shell.append_output("Current default Tcl Shell path is: ")
path = self.app.defaults["global_tcl_path"]
path = self.app.options["global_tcl_path"]
return path

View File

@@ -55,7 +55,7 @@ class TclCommandGetSys(TclCommand):
name = args['name']
if name in self.app.defaults:
return self.app.defaults[name]
if name in self.app.options:
return self.app.options[name]
else:
return "The keyword: %s does not exist as a parameter" % str(name)

View File

@@ -84,7 +84,7 @@ class TclCommandIsolate(TclCommandSignaled):
par = args['combine']
args['combine'] = bool(eval(str(par)))
else:
args['combine'] = bool(eval(str(self.app.defaults["tools_iso_combine_passes"])))
args['combine'] = bool(eval(str(self.app.options["tools_iso_combine_passes"])))
obj = self.app.collection.get_by_name(name)
if obj is None:

View File

@@ -60,8 +60,8 @@ class TclCommandListSys(TclCommand):
"""
if 'selection' in args:
argument = args['selection']
return str([k for k in self.app.defaults.keys() if str(k).startswith(str(argument))])
return str([k for k in self.app.options.keys() if str(k).startswith(str(argument))])
else:
ret_val = list(self.app.defaults.keys())
ret_val = list(self.app.options.keys())
return str(ret_val)
# return str([*self.app.defaults])
# return str([*self.app.options])

View File

@@ -74,7 +74,7 @@ class TclCommandNregions(TclCommand):
self.raise_tcl_error('%s %s: %s.' % (_("Expected GerberObject or GeometryObject, got"), name, type(obj)))
if 'margin' not in args:
args['margin'] = float(self.app.defaults["gerber_noncoppermargin"])
args['margin'] = float(self.app.options["gerber_noncoppermargin"])
margin = float(args['margin'])
if 'rounded' in args:
@@ -84,7 +84,7 @@ class TclCommandNregions(TclCommand):
par = args['rounded']
rounded = bool(eval(par))
else:
rounded = bool(eval(self.app.defaults["gerber_noncopperrounded"]))
rounded = bool(eval(self.app.options["gerber_noncopperrounded"]))
args.pop('name', None)

View File

@@ -92,7 +92,7 @@ class TclCommandOpenDXF(TclCommandSignaled):
# Object creation
ret_val = self.app.app_obj.new_object(obj_type, outname, obj_init, plot=False)
if ret_val == 'fail':
filename = self.app.defaults['global_tcl_path'] + '/' + outname
filename = self.app.options['global_tcl_path'] + '/' + outname
ret_val = self.app.app_obj.new_object(obj_type, outname, obj_init, plot=False)
# self.app.shell.append_output(
# "No path provided or path is wrong. Using the default Path... \n")

View File

@@ -87,7 +87,7 @@ class TclCommandOpenSVG(TclCommandSignaled):
# Object creation
ret_val = self.app.app_obj.new_object(obj_type, outname, obj_init, plot=False)
if ret_val == 'fail':
filename = self.app.defaults['global_tcl_path'] + '/' + outname
filename = self.app.options['global_tcl_path'] + '/' + outname
ret_val = self.app.app_obj.new_object(obj_type, outname, obj_init, plot=False)
self.app.shell.append_output(
"No path provided or path is wrong. Using the default Path... \n")

View File

@@ -103,22 +103,22 @@ class TclCommandPaint(TclCommand):
if 'tooldia' in args:
tooldia = str(args['tooldia'])
else:
tooldia = str(self.app.defaults["tools_paint_tooldia"])
tooldia = str(self.app.options["tools_paint_tooldia"])
if 'overlap' in args:
overlap = float(args['overlap'])
else:
overlap = float(self.app.defaults["tools_paint_overlap"])
overlap = float(self.app.options["tools_paint_overlap"])
if 'order' in args:
order = args['order']
else:
order = str(self.app.defaults["tools_paint_order"])
order = str(self.app.options["tools_paint_order"])
if 'offset' in args:
offset = float(args['offset'])
else:
offset = float(self.app.defaults["tools_paint_offset"])
offset = float(self.app.options["tools_paint_offset"])
if 'method' in args:
method = args['method']
@@ -138,7 +138,7 @@ class TclCommandPaint(TclCommand):
self.app.log.error(msg)
return "fail"
else:
method = str(self.app.defaults["tools_paint_method"])
method = str(self.app.options["tools_paint_method"])
if 'connect' in args:
try:
@@ -147,7 +147,7 @@ class TclCommandPaint(TclCommand):
par = args['connect']
connect = bool(eval(par))
else:
connect = bool(eval(str(self.app.defaults["tools_paint_connect"])))
connect = bool(eval(str(self.app.options["tools_paint_connect"])))
if 'contour' in args:
try:
@@ -156,7 +156,7 @@ class TclCommandPaint(TclCommand):
par = args['contour']
contour = bool(eval(par))
else:
contour = bool(eval(str(self.app.defaults["tools_paint_contour"])))
contour = bool(eval(str(self.app.options["tools_paint_contour"])))
if 'outname' in args:
outname = args['outname']
@@ -181,17 +181,17 @@ class TclCommandPaint(TclCommand):
"name": outname,
"plot": False,
"tooldia": tooldia,
"tools_mill_cutz": self.app.defaults["tools_mill_cutz"],
"tools_paint_tipdia": float(self.app.defaults["tools_paint_tipdia"]),
"tools_paint_tipangle": float(self.app.defaults["tools_paint_tipangle"]),
"tools_mill_cutz": self.app.options["tools_mill_cutz"],
"tools_paint_tipdia": float(self.app.options["tools_paint_tipdia"]),
"tools_paint_tipangle": float(self.app.options["tools_paint_tipangle"]),
"tools_paint_offset": offset,
"tools_paint_method": method,
"tools_paint_selectmethod": select,
"tools_paint_connect": connect,
"tools_paint_contour": contour,
"tools_paint_overlap": overlap,
"segx": self.app.defaults["geometry_segx"],
"segy": self.app.defaults["geometry_segy"]
"segx": self.app.options["geometry_segx"],
"segy": self.app.options["geometry_segy"]
})
# create a `tools` dict

View File

@@ -89,6 +89,6 @@ class TclCommandSetPath(TclCommand):
cd_command = 'cd %s' % path
self.app.shell.exec_command(cd_command, no_echo=False)
self.app.defaults["global_tcl_path"] = str(path)
self.app.options["global_tcl_path"] = str(path)
msg = '[success] %s: %s' % ("Relative path set to", str(path))
self.app.inform_shell.emit(msg)

View File

@@ -75,15 +75,15 @@ class TclCommandSetSys(TclCommand):
"MM": "MM"
}
if param in self.app.defaults:
if param in self.app.options:
try:
value = tcl2py[value]
except KeyError:
pass
self.app.defaults[param] = value
self.app.defaults.propagate_defaults()
self.app.options[param] = value
self.app.options.propagate_defaults()
else:
self.raise_tcl_error("No such system parameter \"{}\".".format(param))