- minor UI changes for Gerber UI

- ~~after an object move, the apertures plotted shapes are deleted from canvas and the 'mark all' button is deselected~~
- after move tool action or any other transform (rotate, skew, scale, mirror, offset), the plotted apertures are kept plotted.
- changing units now will convert all the default values from one unit type to another
- prettified the selection shape and the moving shape
- initial work in object hovering shape
This commit is contained in:
Marius Stanciu
2019-03-04 03:47:19 +02:00
parent d79d6cf2bc
commit 06fb48eb6a
16 changed files with 373 additions and 182 deletions

View File

@@ -244,7 +244,7 @@ class ToolCalculator(FlatCAMTool):
FlatCAMTool.install(self, icon, separator, shortcut='ALT+C', **kwargs)
def set_tool_ui(self):
self.units = self.app.ui.general_options_form.general_app_group.units_radio.get_value().upper()
self.units = self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().upper()
## Initialize form
self.mm_entry.set_value('0')

View File

@@ -12,7 +12,7 @@ class Measurement(FlatCAMTool):
def __init__(self, app):
FlatCAMTool.__init__(self, app)
self.units = self.app.ui.general_options_form.general_app_group.units_radio.get_value().lower()
self.units = self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().lower()
## Title
title_label = QtWidgets.QLabel("<font size=4><b>%s</b></font><br>" % self.toolName)
@@ -173,7 +173,7 @@ class Measurement(FlatCAMTool):
# Switch notebook to tool page
self.app.ui.notebook.setCurrentWidget(self.app.ui.tool_tab)
self.units = self.app.ui.general_options_form.general_app_group.units_radio.get_value().lower()
self.units = self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().lower()
self.show()
def toggle(self):
@@ -210,7 +210,7 @@ class Measurement(FlatCAMTool):
else:
# ENABLE the Measuring TOOL
self.active = True
self.units = self.app.ui.general_options_form.general_app_group.units_radio.get_value().lower()
self.units = self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().lower()
# we disconnect the mouse/key handlers from wherever the measurement tool was called
if self.app.call_source == 'app':

View File

@@ -125,8 +125,7 @@ class ToolMove(FlatCAMTool):
# offset
sel_obj.offset((dx, dy))
sel_obj.plot()
sel_obj.clear_plot_apertures()
sel_obj.clear_mark_all()
sel_obj.replotApertures.emit()
# Update the object bounding box options
a,b,c,d = sel_obj.bounds()
@@ -237,6 +236,12 @@ class ToolMove(FlatCAMTool):
def draw_shape(self, coords):
self.sel_rect = Polygon(coords)
if self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().upper() == 'MM':
self.sel_rect = self.sel_rect.buffer(-0.1)
self.sel_rect = self.sel_rect.buffer(0.2)
else:
self.sel_rect = self.sel_rect.buffer(-0.00393)
self.sel_rect = self.sel_rect.buffer(0.00787)
blue_t = Color('blue')
blue_t.alpha = 0.2

View File

@@ -345,13 +345,13 @@ class NonCopperClear(FlatCAMTool, Gerber):
self.obj_name = ""
self.ncc_obj = None
self.tool_type_item_options = ["C1", "C2", "C3", "C4", "B", "V"]
self.units = self.app.ui.general_options_form.general_app_group.units_radio.get_value().upper()
self.units = self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().upper()
def build_ui(self):
self.ui_disconnect()
# updated units
self.units = self.app.ui.general_options_form.general_app_group.units_radio.get_value().upper()
self.units = self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().upper()
if self.units == "IN":
self.addtool_entry.set_value(0.039)

View File

@@ -353,7 +353,7 @@ class ToolPaint(FlatCAMTool, Gerber):
self.paintoverlap_entry.set_value(self.default_data["paintoverlap"])
# updated units
self.units = self.app.ui.general_options_form.general_app_group.units_radio.get_value().upper()
self.units = self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().upper()
if self.units == "IN":
self.addtool_entry.set_value(0.039)
@@ -421,7 +421,7 @@ class ToolPaint(FlatCAMTool, Gerber):
pass
# updated units
self.units = self.app.ui.general_options_form.general_app_group.units_radio.get_value().upper()
self.units = self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().upper()
sorted_tools = []
for k, v in self.paint_tools.items():

View File

@@ -126,10 +126,10 @@ class Properties(FlatCAMTool):
width = abs(ymax - ymin)
self.addChild(dims, ['Length:', '%.4f %s' % (
length, self.app.ui.general_options_form.general_app_group.units_radio.get_value().lower())], True)
length, self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().lower())], True)
self.addChild(dims, ['Width:', '%.4f %s' % (
width, self.app.ui.general_options_form.general_app_group.units_radio.get_value().lower())], True)
if self.app.ui.general_options_form.general_app_group.units_radio.get_value().lower() == 'mm':
width, self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().lower())], True)
if self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().lower() == 'mm':
area = (length * width) / 100
self.addChild(dims, ['Box Area:', '%.4f %s' % (area, 'cm2')], True)
else:
@@ -142,7 +142,7 @@ class Properties(FlatCAMTool):
'in': 'Inch',
'mm': 'Metric'
}
[str(self.app.ui.general_options_form.general_app_group.units_radio.get_value().lower())]], True)
[str(self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().lower())]], True)
for option in obj.options:
if option is 'name':

View File

@@ -484,7 +484,7 @@ class SolderPaste(FlatCAMTool):
self.name = ""
self.obj = None
self.units = self.app.ui.general_options_form.general_app_group.units_radio.get_value().upper()
self.units = self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().upper()
for name in list(self.app.postprocessors.keys()):
# populate only with postprocessor files that start with 'Paste_'
@@ -502,7 +502,7 @@ class SolderPaste(FlatCAMTool):
self.ui_disconnect()
# updated units
self.units = self.app.ui.general_options_form.general_app_group.units_radio.get_value().upper()
self.units = self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().upper()
sorted_tools = []
for k, v in self.tooltable_tools.items():