- updated the App.plot_all() method giving it the possibility to be run as threaded or not
- updated the Tcl command PlotAll to be able to run threaded or not
This commit is contained in:
parent
8a299e8fc8
commit
1b14e9d451
|
@ -11888,11 +11888,13 @@ class App(QtCore.QObject):
|
|||
if silent is False:
|
||||
self.log.debug(" " + param + " OK!")
|
||||
|
||||
def plot_all(self, zoom=True):
|
||||
def plot_all(self, fit_view=True, use_thread=True):
|
||||
"""
|
||||
Re-generates all plots from all objects.
|
||||
|
||||
:return: None
|
||||
:param fit_view: if True will plot the objects and will adjust the zoom to fit all plotted objects into view
|
||||
:param use_thread: if True will use threading for plotting the objects
|
||||
:return:
|
||||
"""
|
||||
self.log.debug("Plot_all()")
|
||||
self.inform.emit('[success] %s...' % _("Redrawing all objects"))
|
||||
|
@ -11901,11 +11903,14 @@ class App(QtCore.QObject):
|
|||
def worker_task(obj):
|
||||
with self.proc_container.new("Plotting"):
|
||||
obj.plot(kind=self.defaults["cncjob_plot_kind"])
|
||||
if zoom:
|
||||
if fit_view is True:
|
||||
self.object_plotted.emit(obj)
|
||||
|
||||
# Send to worker
|
||||
self.worker_task.emit({'fcn': worker_task, 'params': [obj]})
|
||||
if use_thread is True:
|
||||
# Send to worker
|
||||
self.worker_task.emit({'fcn': worker_task, 'params': [obj]})
|
||||
else:
|
||||
worker_task(obj)
|
||||
|
||||
def register_folder(self, filename):
|
||||
self.defaults["global_last_folder"] = os.path.split(str(filename))[0]
|
||||
|
|
|
@ -15,6 +15,8 @@ CAD program, and create G-Code for Isolation routing.
|
|||
- multiple fixes in the Tcl commands (especially regarding the interchange between True/false and 1/0 values)
|
||||
- updated the help for all Tcl Commands
|
||||
- in Tcl Shell, the 'help' command will add also a brief description for each command in the list
|
||||
- updated the App.plot_all() method giving it the possibility to be run as threaded or not
|
||||
- updated the Tcl command PlotAll to be able to run threaded or not
|
||||
|
||||
11.04.2020
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ class TclCommandDelete(TclCommand):
|
|||
|
||||
# Dictionary of types from Tcl command, needs to be ordered , this is for options like -optionname value
|
||||
option_types = collections.OrderedDict([
|
||||
('f', bool)
|
||||
('f', str)
|
||||
])
|
||||
|
||||
# array of mandatory options for current Tcl command: required = {'name','outname'}
|
||||
|
@ -34,7 +34,9 @@ class TclCommandDelete(TclCommand):
|
|||
'main': 'Deletes the given object. If no name is given will delete all objects.',
|
||||
'args': collections.OrderedDict([
|
||||
('name', 'Name of the Object.'),
|
||||
('f', 'Use this parameter to force deletion.')
|
||||
('f', 'Use this parameter to force deletion.\n'
|
||||
'Can be used without value which will be auto assumed to be True.\n'
|
||||
'Or it can have a value: True (1) or False (0).')
|
||||
]),
|
||||
'examples': ['del new_geo -f True\n'
|
||||
'delete new_geo -f 1\n'
|
||||
|
@ -63,7 +65,7 @@ class TclCommandDelete(TclCommand):
|
|||
if args['f'] is None:
|
||||
is_forced = True
|
||||
else:
|
||||
is_forced = True if eval(str(args['f'])) else False
|
||||
is_forced = True if bool(eval(str(args['f']))) else False
|
||||
except KeyError:
|
||||
is_forced = True
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
from tclCommands.TclCommand import TclCommand
|
||||
from tclCommands.TclCommand import TclCommandSignaled
|
||||
|
||||
import collections
|
||||
|
||||
|
||||
class TclCommandPlotAll(TclCommand):
|
||||
class TclCommandPlotAll(TclCommandSignaled):
|
||||
"""
|
||||
Tcl shell command to update the plot on the user interface.
|
||||
|
||||
|
@ -23,7 +23,7 @@ class TclCommandPlotAll(TclCommand):
|
|||
|
||||
# Dictionary of types from Tcl command, needs to be ordered , this is for options like -optionname value
|
||||
option_types = collections.OrderedDict([
|
||||
|
||||
('use_thread', str)
|
||||
])
|
||||
|
||||
# array of mandatory options for current Tcl command: required = {'name','outname'}
|
||||
|
@ -33,7 +33,7 @@ class TclCommandPlotAll(TclCommand):
|
|||
help = {
|
||||
'main': "Plots all objects on GUI.",
|
||||
'args': collections.OrderedDict([
|
||||
|
||||
('use_thread', 'If to use multithreading: True (1) or False (0).')
|
||||
]),
|
||||
'examples': ['plot_all']
|
||||
}
|
||||
|
@ -45,5 +45,11 @@ class TclCommandPlotAll(TclCommand):
|
|||
:param unnamed_args:
|
||||
:return:
|
||||
"""
|
||||
|
||||
if 'use_thread' in args:
|
||||
threaded = bool(eval(args['use_thread']))
|
||||
else:
|
||||
threaded = False
|
||||
|
||||
if self.app.cmd_line_headless != 1:
|
||||
self.app.plot_all()
|
||||
self.app.plot_all(use_thread=threaded)
|
||||
|
|
Loading…
Reference in New Issue