| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | """Provides the TechDraw ShareView Task Dialog.""" |
| |
|
| | __title__ = "TechDrawTools.TaskShareView" |
| | __author__ = "WandererFan" |
| | __url__ = "https://www.freecad.org" |
| | __version__ = "00.01" |
| | __date__ = "2022/01/11" |
| |
|
| | from PySide import QtCore |
| | import PySide.QtGui as QtGui |
| |
|
| | import FreeCAD as App |
| | import FreeCADGui as Gui |
| |
|
| | from TechDrawTools import TDToolsMovers |
| |
|
| | import os |
| |
|
| | translate = App.Qt.translate |
| |
|
| | class TaskShareView: |
| | def __init__(self): |
| | self._uiPath = App.getHomePath() |
| | self._uiPath = os.path.join(self._uiPath, "Mod/TechDraw/TechDrawTools/Gui/TaskMoveView.ui") |
| | self.form = Gui.PySideUic.loadUi(self._uiPath) |
| |
|
| | self.form.setWindowTitle(translate("TechDraw_ShareView", "Share View With Another Page")) |
| | self.form.lViewName.setText(translate("TechDraw_ShareView", "View to share")) |
| |
|
| | self.form.pbView.clicked.connect(self.pickView) |
| | self.form.pbFromPage.clicked.connect(self.pickFromPage) |
| | self.form.pbToPage.clicked.connect(self.pickToPage) |
| |
|
| | self.viewName = "" |
| | self.fromPageName = "" |
| | self.toPageName = "" |
| |
|
| | self.dialogOpen = False |
| |
|
| | App.setActiveTransaction("Share view") |
| |
|
| | def accept(self): |
| | |
| | view = App.ActiveDocument.getObject(self.viewName) |
| | fromPage = App.ActiveDocument.getObject(self.fromPageName) |
| | toPage = App.ActiveDocument.getObject(self.toPageName) |
| | TDToolsMovers.moveView(view, fromPage, toPage, True) |
| |
|
| | App.closeActiveTransaction() |
| | return True |
| |
|
| | def reject(self): |
| | |
| | App.closeActiveTransaction(True) |
| | return True |
| |
|
| | def pickView(self): |
| | |
| | if (self.dialogOpen) : |
| | return |
| | _dlgPath = App.getHomePath() |
| | _dlgPath = os.path.join(_dlgPath, "Mod/TechDraw/TechDrawTools/Gui/DlgPageChooser.ui") |
| | dlg = Gui.PySideUic.loadUi(_dlgPath) |
| | self.dialogOpen = True |
| | dlg.lPrompt.setText(translate("TechDraw_ShareView", "Select view to share from list.")) |
| | dlg.setWindowTitle(translate("TechDraw_ShareView", "Select View")) |
| |
|
| | views = [x for x in App.ActiveDocument.Objects if x.isDerivedFrom("TechDraw::DrawView")] |
| | for v in views: |
| | s = v.Label + " / " + v.Name |
| | item = QtGui.QListWidgetItem(s, dlg.lwPages) |
| | item.setData(QtCore.Qt.UserRole, v.Name) |
| | if (dlg.exec() == QtGui.QDialog.Accepted) : |
| | if dlg.lwPages.selectedItems(): |
| | selItem = dlg.lwPages.selectedItems()[0] |
| | self.viewName = selItem.data(QtCore.Qt.UserRole) |
| | self.form.leView.setText(self.viewName) |
| | self.dialogOpen = False |
| |
|
| | def pickFromPage(self): |
| | |
| | if (self.dialogOpen) : |
| | return |
| | _dlgPath = App.getHomePath() |
| | _dlgPath = os.path.join(_dlgPath, "Mod/TechDraw/TechDrawTools/Gui/DlgPageChooser.ui") |
| | dlg = Gui.PySideUic.loadUi(_dlgPath) |
| | self.dialogOpen = True |
| | dlg.lPrompt.setText(translate("TechDraw_ShareView", "Select from page.")) |
| | dlg.setWindowTitle(translate("TechDraw_ShareView", "Select Page")) |
| |
|
| | pages = [x for x in App.ActiveDocument.Objects if x.isDerivedFrom("TechDraw::DrawPage")] |
| | for p in pages: |
| | s = p.Label + " / " + p.Name |
| | item = QtGui.QListWidgetItem(s, dlg.lwPages) |
| | item.setData(QtCore.Qt.UserRole, p.Name) |
| | if (dlg.exec() == QtGui.QDialog.Accepted) : |
| | if dlg.lwPages.selectedItems(): |
| | selItem = dlg.lwPages.selectedItems()[0] |
| | self.fromPageName = selItem.data(QtCore.Qt.UserRole) |
| | self.form.leFromPage.setText(self.fromPageName) |
| | self.dialogOpen = False |
| |
|
| |
|
| | def pickToPage(self): |
| | |
| | if (self.dialogOpen) : |
| | return |
| | _dlgPath = App.getHomePath() |
| | _dlgPath = os.path.join(_dlgPath, "Mod/TechDraw/TechDrawTools/Gui/DlgPageChooser.ui") |
| | dlg = Gui.PySideUic.loadUi(_dlgPath) |
| | self.dialogOpen = True |
| | dlg.lPrompt.setText(translate("TechDraw_ShareView", "Select to page.")) |
| | dlg.setWindowTitle(translate("TechDraw_ShareView", "Select Page")) |
| |
|
| | pages = [x for x in App.ActiveDocument.Objects if x.isDerivedFrom("TechDraw::DrawPage")] |
| | for p in pages: |
| | s = p.Label + " / " + p.Name |
| | item = QtGui.QListWidgetItem(s, dlg.lwPages) |
| | item.setData(QtCore.Qt.UserRole, p.Name) |
| | if (dlg.exec() == QtGui.QDialog.Accepted) : |
| | if dlg.lwPages.selectedItems(): |
| | selItem = dlg.lwPages.selectedItems()[0] |
| | self.toPageName = selItem.data(QtCore.Qt.UserRole) |
| | self.form.leToPage.setText(self.toPageName) |
| | self.dialogOpen = False |
| |
|
| | def setValues(self, viewName, fromPageName, toPageName): |
| | self.viewName = viewName |
| | self.form.leView.setText(viewName) |
| | self.fromPageName = fromPageName |
| | self.form.leFromPage.setText(fromPageName) |
| | self.toPageName = toPageName |
| | self.form.leToPage.setText(toPageName) |
| |
|
| |
|