Added feature: Select all polygons for painting and shell support with "paint" command.

This commit is contained in:
Juan Pablo Caram
2016-09-19 16:44:29 -04:00
parent 74e936ba02
commit 7474609776
7 changed files with 242 additions and 35 deletions

View File

@@ -259,6 +259,7 @@ class App(QtCore.QObject):
"geometry_spindlespeed": self.defaults_form.geometry_group.cncspindlespeed_entry,
"geometry_paintoverlap": self.defaults_form.geometry_group.paintoverlap_entry,
"geometry_paintmargin": self.defaults_form.geometry_group.paintmargin_entry,
"geometry_selectmethod": self.defaults_form.geometry_group.selectmethod_combo,
"cncjob_plot": self.defaults_form.cncjob_group.plot_cb,
"cncjob_tooldia": self.defaults_form.cncjob_group.tooldia_entry,
"cncjob_prepend": self.defaults_form.cncjob_group.prepend_text,
@@ -304,6 +305,7 @@ class App(QtCore.QObject):
"geometry_painttooldia": 0.07,
"geometry_paintoverlap": 0.15,
"geometry_paintmargin": 0.0,
"geometry_selectmethod": "single",
"cncjob_plot": True,
"cncjob_tooldia": 0.016,
"cncjob_prepend": "",
@@ -397,6 +399,7 @@ class App(QtCore.QObject):
"geometry_painttooldia": self.options_form.geometry_group.painttooldia_entry,
"geometry_paintoverlap": self.options_form.geometry_group.paintoverlap_entry,
"geometry_paintmargin": self.options_form.geometry_group.paintmargin_entry,
"geometry_selectmethod": self.options_form.geometry_group.selectmethod_combo,
"cncjob_plot": self.options_form.cncjob_group.plot_cb,
"cncjob_tooldia": self.options_form.cncjob_group.tooldia_entry,
"cncjob_prepend": self.options_form.cncjob_group.prepend_text,
@@ -439,12 +442,15 @@ class App(QtCore.QObject):
"geometry_painttooldia": 0.07,
"geometry_paintoverlap": 0.15,
"geometry_paintmargin": 0.0,
"geometry_selectmethod": "single",
"cncjob_plot": True,
"cncjob_tooldia": 0.016,
"cncjob_prepend": "",
"cncjob_append": "",
"background_timeout": 300000, #default value is 5 minutes
"verbose_error_level": 0, # shell verbosity 0 = default(python trace only for unknown errors), 1 = show trace(show trace allways), 2 = (For the future).
"background_timeout": 300000, # Default value is 5 minutes
"verbose_error_level": 0, # Shell verbosity:
# 0 = default(python trace only for unknown errors),
# 1 = show trace(show trace allways), 2 = (For the future).
})
self.options.update(self.defaults) # Copy app defaults to project options
#self.options_write_form()
@@ -877,13 +883,13 @@ class App(QtCore.QObject):
#self.shell.append_error("?\n")
self.shell.append_error(str(e) + "\n")
def info(self, msg):
def info(self, msg, toshell=True):
"""
Informs the user. Normally on the status bar, optionally
also on the shell.
:param msg: Text to write.
:param toshell: Forward the
:param toshell: Forward the meesage to the shell.
:return: None
"""
@@ -894,12 +900,15 @@ class App(QtCore.QObject):
msg_ = match.group(2)
self.ui.fcinfo.set_status(QtCore.QString(msg_), level=level)
error = level == "error" or level == "warning"
self.shell_message(msg, error=error, show=True)
if toshell:
error = level == "error" or level == "warning"
self.shell_message(msg, error=error, show=True)
else:
self.ui.fcinfo.set_status(QtCore.QString(msg), level="info")
self.shell_message(msg)
if toshell:
self.shell_message(msg)
def load_defaults(self):
"""
@@ -981,6 +990,11 @@ class App(QtCore.QObject):
this is, updates the GUI accordingly, any other records and plots it.
This method is thread-safe.
Notes:
* If the name is in use, the self.collection will modify it
when appending it to the collection. There is no need to handle
name conflicts here.
:param kind: The kind of object to create. One of 'gerber',
'excellon', 'cncjob' and 'geometry'.
:type kind: str
@@ -998,19 +1012,6 @@ class App(QtCore.QObject):
t0 = time.time() # Debug
### Check for existing name
# while name in self.collection.get_names():
# ## Create a new name
# # Ends with number?
# App.log.debug("new_object(): Object name (%s) exists, changing." % name)
# match = re.search(r'(.*[^\d])?(\d+)$', name)
# if match: # Yes: Increment the number!
# base = match.group(1) or ''
# num = int(match.group(2))
# name = base + str(num + 1)
# else: # No: add a number!
# name += "_1"
## Create object
classdict = {
"gerber": FlatCAMGerber,