From d002b6c5c65a2e4c5513daabc917fc14091be19b Mon Sep 17 00:00:00 2001 From: Juan Pablo Caram Date: Mon, 19 Jan 2015 11:53:28 -0500 Subject: [PATCH] Hid offset and scale tools from CNCJob GUI. Such features are not implemented for CNCJob objects. --- FlatCAMObj.py | 3 +++ ObjectUI.py | 47 ++++++++++++++++++++++++++++++++++------------- 2 files changed, 37 insertions(+), 13 deletions(-) diff --git a/FlatCAMObj.py b/FlatCAMObj.py index ddc7f4f0..bb5186b6 100644 --- a/FlatCAMObj.py +++ b/FlatCAMObj.py @@ -770,9 +770,12 @@ class FlatCAMCNCjob(FlatCAMObj, CNCjob): def __init__(self, name, units="in", kind="generic", z_move=0.1, feedrate=3.0, z_cut=-0.002, tooldia=0.0): + FlatCAMApp.App.log.debug("Creating CNCJob object...") + CNCjob.__init__(self, units=units, kind=kind, z_move=z_move, feedrate=feedrate, z_cut=z_cut, tooldia=tooldia) + FlatCAMObj.__init__(self, name) self.kind = "cncjob" diff --git a/ObjectUI.py b/ObjectUI.py index 2a5bf6e8..b1dc543f 100644 --- a/ObjectUI.py +++ b/ObjectUI.py @@ -39,19 +39,23 @@ class ObjectUI(QtGui.QWidget): self.name_box.addWidget(self.name_entry) ## Box box for custom widgets + # This gets populated in offspring implementations. self.custom_box = QtGui.QVBoxLayout() layout.addLayout(self.custom_box) - ## Common to all objects - ## Scale + ########################### + ## Common to all objects ## + ########################### + + #### Scale #### self.scale_label = QtGui.QLabel('Scale:') self.scale_label.setToolTip( "Change the size of the object." ) layout.addWidget(self.scale_label) - grid1 = QtGui.QGridLayout() - layout.addLayout(grid1) + self.scale_grid = QtGui.QGridLayout() + layout.addLayout(self.scale_grid) # Factor faclabel = QtGui.QLabel('Factor:') @@ -59,10 +63,10 @@ class ObjectUI(QtGui.QWidget): "Factor by which to multiply\n" "geometric features of this object." ) - grid1.addWidget(faclabel, 0, 0) + self.scale_grid.addWidget(faclabel, 0, 0) self.scale_entry = FloatEntry() self.scale_entry.set_value(1.0) - grid1.addWidget(self.scale_entry, 0, 1) + self.scale_grid.addWidget(self.scale_entry, 0, 1) # GO Button self.scale_button = QtGui.QPushButton('Scale') @@ -71,25 +75,25 @@ class ObjectUI(QtGui.QWidget): ) layout.addWidget(self.scale_button) - ## Offset + #### Offset #### self.offset_label = QtGui.QLabel('Offset:') self.offset_label.setToolTip( "Change the position of this object." ) layout.addWidget(self.offset_label) - grid2 = QtGui.QGridLayout() - layout.addLayout(grid2) + self.offset_grid = QtGui.QGridLayout() + layout.addLayout(self.offset_grid) - self.offset_label = QtGui.QLabel('Vector:') - self.offset_label.setToolTip( + self.offset_vectorlabel = QtGui.QLabel('Vector:') + self.offset_vectorlabel.setToolTip( "Amount by which to move the object\n" "in the x and y axes in (x, y) format." ) - grid2.addWidget(self.offset_label, 0, 0) + self.offset_grid.addWidget(self.offset_vectorlabel, 0, 0) self.offsetvector_entry = EvalEntry() self.offsetvector_entry.setText("(0.0, 0.0)") - grid2.addWidget(self.offsetvector_entry, 0, 1) + self.offset_grid.addWidget(self.offsetvector_entry, 0, 1) self.offset_button = QtGui.QPushButton('Offset') self.offset_button.setToolTip( @@ -106,8 +110,25 @@ class CNCObjectUI(ObjectUI): """ def __init__(self, parent=None): + """ + Creates the user interface for CNCJob objects. GUI elements should + be placed in ``self.custom_box`` to preserve the layout. + """ + ObjectUI.__init__(self, title='CNC Job Object', icon_file='share/cnc32.png', parent=parent) + # Scale and offset are not available for CNCJob objects. + # Hiding from the GUI. + for i in range(0, self.scale_grid.count()): + self.scale_grid.itemAt(i).widget().hide() + self.scale_label.hide() + self.scale_button.hide() + + for i in range(0, self.offset_grid.count()): + self.offset_grid.itemAt(i).widget().hide() + self.offset_label.hide() + self.offset_button.hide() + ## Plot options self.plot_options_label = QtGui.QLabel("Plot Options:") self.custom_box.addWidget(self.plot_options_label)