Added Depths page.

This commit is contained in:
Markus Lampert
2017-08-02 15:24:18 -07:00
committed by Yorik van Havre
parent 0bb1c3b722
commit 9ef7a941fe
4 changed files with 35 additions and 200 deletions

View File

@@ -50,7 +50,6 @@
<file>icons/Path-Area-View.svg</file>
<file>icons/Path-Area-Workplane.svg</file>
<file>icons/preferences-path.svg</file>
<file>panels/ContourEdit.ui</file>
<file>panels/DlgJobChooser.ui</file>
<file>panels/DlgJobCreate.ui</file>
<file>panels/DlgSelectPostProcessor.ui</file>

View File

@@ -1,189 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>TaskPanel</class>
<widget class="QWidget" name="TaskPanel">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>445</width>
<height>451</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>400</height>
</size>
</property>
<property name="windowTitle">
<string>Contour</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QToolBox" name="toolBox">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="page_3">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>427</width>
<height>396</height>
</rect>
</property>
<attribute name="icon">
<iconset resource="../Path.qrc">
<normaloff>:/icons/Path-OperationB.svg</normaloff>:/icons/Path-OperationB.svg</iconset>
</attribute>
<attribute name="label">
<string>Operation</string>
</attribute>
<layout class="QFormLayout" name="formLayout_2">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="1" column="1">
<widget class="QWidget" name="widget_3" native="true">
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>Direction</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="direction">
<item>
<property name="text">
<string>CW</string>
</property>
</item>
<item>
<property name="text">
<string>CCW</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
</item>
<item row="2" column="1">
<widget class="QWidget" name="widget_2" native="true">
<layout class="QGridLayout" name="gridLayout_4">
<property name="topMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QCheckBox" name="useStartPoint">
<property name="text">
<string>Use Start Point</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QCheckBox" name="useCompensation">
<property name="text">
<string>Use Compensation</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="4" column="1">
<widget class="QWidget" name="widget_4" native="true">
<layout class="QGridLayout" name="gridLayout_6">
<property name="topMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Extra Offset</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="Gui::InputField" name="extraOffset">
<property name="minimum" stdset="0">
<double>0.000000000000000</double>
</property>
<property name="unit" stdset="0">
<string notr="true">mm</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="1">
<widget class="QFrame" name="frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="topMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>ToolController</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="uiToolController"/>
</item>
</layout>
</widget>
</item>
<item row="5" column="1">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>Gui::InputField</class>
<extends>QLineEdit</extends>
<header>Gui/InputField.h</header>
</customwidget>
</customwidgets>
<resources>
<include location="../Path.qrc"/>
<include location="../Path.qrc"/>
</resources>
<connections/>
</ui>

View File

@@ -15,7 +15,7 @@
</property>
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0">
<widget class="QLineEdit" name="startDepth"/>
<widget class="Gui::InputField" name="startDepth"/>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label">
@@ -25,7 +25,7 @@
</widget>
</item>
<item row="1" column="0">
<widget class="QLineEdit" name="finalDepth"/>
<widget class="Gui::InputField" name="finalDepth"/>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_2">
@@ -35,7 +35,7 @@
</widget>
</item>
<item row="2" column="0">
<widget class="QLineEdit" name="steopDown"/>
<widget class="Gui::InputField" name="stepDown"/>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_3">
@@ -46,6 +46,13 @@
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>Gui::InputField</class>
<extends>QLineEdit</extends>
<header>Gui/InputField.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

View File

@@ -87,7 +87,7 @@ class TaskPanelPage(object):
self.isdirty = False
def pageGetFields(self):
self.getFields(self, obj)
self.getFields(self.obj)
self.setDirty()
def pageSetFields(self):
@@ -105,21 +105,37 @@ class TaskPanelPage(object):
class TaskPanelHeightsPage(TaskPanelPage):
def getForm(self):
return FreeCADGui.PySideUic.loadUi(":/panels/PageHeightsEdit.ui")
def getTitle(self, obj):
return translate("Path_AreaOp", "Heights")
def getFields(self, obj):
obj.SafeHeight = FreeCAD.Units.Quantity(self.form.safeHeight.text()).Value
obj.ClearanceHeight = FreeCAD.Units.Quantity(self.form.clearanceHeight.text()).Value
def setFields(self, obj):
self.form.safeHeight.setText(FreeCAD.Units.Quantity(obj.SafeHeight.Value, FreeCAD.Units.Length).UserString)
self.form.clearanceHeight.setText(FreeCAD.Units.Quantity(obj.ClearanceHeight.Value, FreeCAD.Units.Length).UserString)
def getSignalsForUpdate(self, obj):
return [self.form.safeHeight.editingFinished, self.form.clearanceHeight.editingFinished]
class TaskPanelDepthsPage(TaskPanelPage):
def getForm(self):
return FreeCADGui.PySideUic.loadUi(":/panels/PageDepthsEdit.ui")
def getTitle(self, obj):
return translate("PathAreaOp", "Depths")
def getFields(self, obj):
obj.StartDepth = FreeCAD.Units.Quantity(self.form.startDepth.text()).Value
obj.FinalDepth = FreeCAD.Units.Quantity(self.form.finalDepth.text()).Value
obj.StepDown = FreeCAD.Units.Quantity(self.form.stepDown.text()).Value
def setFields(self, obj):
self.form.startDepth.setText(FreeCAD.Units.Quantity(obj.StartDepth.Value, FreeCAD.Units.Length).UserString)
self.form.finalDepth.setText(FreeCAD.Units.Quantity(obj.FinalDepth.Value, FreeCAD.Units.Length).UserString)
self.form.stepDown.setText(FreeCAD.Units.Quantity(obj.StepDown.Value, FreeCAD.Units.Length).UserString)
def getSignalsForUpdate(self, obj):
signals = []
signals.append(self.form.startDepth.editingFinished)
signals.append(self.form.finalDepth.editingFinished)
signals.append(self.form.stepDown.editingFinished)
return signals
class TaskPanel(object):
def __init__(self, obj, deleteOnReject, page, selectionFactory):
@@ -128,6 +144,9 @@ class TaskPanel(object):
self.deleteOnReject = deleteOnReject
self.featurePages = []
if PathAreaOp.FeatureDepths & obj.Proxy.opFeatures(obj):
self.featurePages.append(TaskPanelDepthsPage(obj))
if PathAreaOp.FeatureHeights & obj.Proxy.opFeatures(obj):
self.featurePages.append(TaskPanelHeightsPage(obj))
@@ -180,8 +199,7 @@ class TaskPanel(object):
def panelGetFields(self):
PathLog.track()
for page in self.featurePages:
page.pageGetFields(self.obj)
self.opGetFields(self.obj)
page.pageGetFields()
def panelSetFields(self):
PathLog.track()