| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | __title__ = "FreeCAD FEM lineplot plot task panel" |
| | __author__ = "Stefan Tröger" |
| | __url__ = "https://www.freecad.org" |
| |
|
| | |
| | |
| | |
| |
|
| | from PySide import QtCore, QtGui |
| |
|
| | import FreeCAD |
| | import FreeCADGui |
| |
|
| | from . import base_fempostpanel |
| | from femguiutils import extract_link_view as elv |
| | from femguiutils import vtk_table_view |
| |
|
| | translate = FreeCAD.Qt.translate |
| |
|
| |
|
| | class _TaskPanel(base_fempostpanel._BasePostTaskPanel): |
| | """ |
| | The TaskPanel for editing properties of glyph filter |
| | """ |
| |
|
| | def __init__(self, vobj): |
| | super().__init__(vobj.Object) |
| |
|
| | |
| | self.data_widget = QtGui.QWidget() |
| | hbox = QtGui.QHBoxLayout() |
| | self.data_widget.show_plot = QtGui.QPushButton() |
| | self.data_widget.show_plot.setText(translate("FEM", "Show Plot")) |
| | hbox.addWidget(self.data_widget.show_plot) |
| | self.data_widget.show_table = QtGui.QPushButton() |
| | self.data_widget.show_table.setText(translate("FEM", "Show Data")) |
| | hbox.addWidget(self.data_widget.show_table) |
| | vbox = QtGui.QVBoxLayout() |
| | vbox.addItem(hbox) |
| | vbox.addSpacing(10) |
| |
|
| | extracts = elv.ExtractLinkView(self.obj, False, self) |
| | vbox.addWidget(extracts) |
| |
|
| | self.data_widget.setLayout(vbox) |
| | self.data_widget.setWindowTitle(translate("FEM", "Lineplot Data")) |
| | self.data_widget.setWindowIcon(FreeCADGui.getIcon(":/icons/FEM_PostLineplot.svg")) |
| |
|
| | |
| | self.view_widget = FreeCADGui.PySideUic.loadUi( |
| | FreeCAD.getHomePath() + "Mod/Fem/Resources/ui/TaskPostLineplot.ui" |
| | ) |
| | self.view_widget.setWindowTitle(translate("FEM", "Lineplot View Settings")) |
| | self.view_widget.setWindowIcon(FreeCADGui.getIcon(":/icons/FEM_PostLineplot.svg")) |
| |
|
| | self.__init_widgets() |
| |
|
| | |
| | self.form = [self.data_widget, self.view_widget] |
| |
|
| | |
| | |
| |
|
| | def __init_widgets(self): |
| |
|
| | |
| | self.data_widget.show_plot.clicked.connect(self.showPlot) |
| | self.data_widget.show_table.clicked.connect(self.showTable) |
| |
|
| | |
| | viewObj = self.obj.ViewObject |
| |
|
| | self._enumPropertyToCombobox(viewObj, "Scale", self.view_widget.Scale) |
| | self.view_widget.Grid.setChecked(viewObj.Grid) |
| |
|
| | self.view_widget.Title.setText(viewObj.Title) |
| | self.view_widget.XLabel.setText(viewObj.XLabel) |
| | self.view_widget.YLabel.setText(viewObj.YLabel) |
| |
|
| | self.view_widget.LegendShow.setChecked(viewObj.Legend) |
| | self._enumPropertyToCombobox(viewObj, "LegendLocation", self.view_widget.LegendPos) |
| |
|
| | |
| | self.view_widget.Scale.activated.connect(self.scaleChanged) |
| | self.view_widget.Grid.toggled.connect(self.gridChanged) |
| |
|
| | self.view_widget.Title.editingFinished.connect(self.titleChanged) |
| | self.view_widget.XLabel.editingFinished.connect(self.xLabelChanged) |
| | self.view_widget.YLabel.editingFinished.connect(self.yLabelChanged) |
| |
|
| | self.view_widget.LegendShow.toggled.connect(self.legendShowChanged) |
| | self.view_widget.LegendPos.activated.connect(self.legendPosChanged) |
| |
|
| | QtCore.Slot() |
| |
|
| | def showPlot(self): |
| | self.obj.ViewObject.Proxy.show_visualization() |
| |
|
| | QtCore.Slot() |
| |
|
| | def showTable(self): |
| |
|
| | |
| | data_model = vtk_table_view.VtkTableModel() |
| | data_model.setTable(self.obj.Table) |
| |
|
| | dialog = QtGui.QDialog(self.data_widget) |
| | widget = vtk_table_view.VtkTableView(data_model) |
| | layout = QtGui.QVBoxLayout() |
| | layout.addWidget(widget) |
| | layout.setContentsMargins(0, 0, 0, 0) |
| |
|
| | dialog.setLayout(layout) |
| | dialog.resize(1500, 900) |
| | dialog.show() |
| |
|
| | QtCore.Slot(int) |
| |
|
| | def scaleChanged(self, idx): |
| | self.obj.ViewObject.Scale = idx |
| |
|
| | QtCore.Slot(bool) |
| |
|
| | def gridChanged(self, state): |
| | self.obj.ViewObject.Grid = state |
| |
|
| | QtCore.Slot() |
| |
|
| | def titleChanged(self): |
| | self.obj.ViewObject.Title = self.view_widget.Title.text() |
| |
|
| | QtCore.Slot() |
| |
|
| | def xLabelChanged(self): |
| | self.obj.ViewObject.XLabel = self.view_widget.XLabel.text() |
| |
|
| | QtCore.Slot() |
| |
|
| | def yLabelChanged(self): |
| | self.obj.ViewObject.YLabel = self.view_widget.YLabel.text() |
| |
|
| | QtCore.Slot(int) |
| |
|
| | def legendPosChanged(self, idx): |
| | self.obj.ViewObject.LegendLocation = idx |
| |
|
| | QtCore.Slot(bool) |
| |
|
| | def legendShowChanged(self, state): |
| | self.obj.ViewObject.Legend = state |
| |
|