示例#1
0
    def delete(self):
        doc = FreeCAD.activeDocument()
        if self.constraintObject not in doc.Objects:
            QtGui.QMessageBox.information(
                QtGui.QApplication.activeWindow(),
                translate("A2plus_constraintDialog","Constraint does not exist anymore"),
                translate("A2plus_constraintDialog","Constraint has already been deleted")
                )
            a2plib.setConstraintEditorRef(None)
            self.Deleted.emit()
            return

        flags = QtGui.QMessageBox.StandardButton.Yes | QtGui.QMessageBox.StandardButton.No
        response = QtGui.QMessageBox.information(
            QtGui.QApplication.activeWindow(),
            translate("A2plus_constraintDialog","Confirmation required"),
            translate("A2plus_constraintDialog","Really delete this constraint?"),
            flags
            )
        if response == QtGui.QMessageBox.Yes:
            try:
                removeConstraint(self.constraintObject)
            except:
                pass # perhaps constraint already deleted by user
            a2plib.setConstraintEditorRef(None)
            self.Deleted.emit()
示例#2
0
 def manageConstraint(self):
     self.constraintValueBox = a2p_ConstraintValuePanel(
         #self,
         self.activeConstraint.constraintObject,
         'createConstraint'
         )
     QtCore.QObject.connect(self.constraintValueBox, QtCore.SIGNAL("Deleted()"), self.onDeleteConstraint)
     QtCore.QObject.connect(self.constraintValueBox, QtCore.SIGNAL("Accepted()"), self.onAcceptConstraint)
     a2plib.setConstraintEditorRef(self)
示例#3
0
    def accept(self):
        doc = FreeCAD.activeDocument()
        if self.constraintObject not in doc.Objects:
            QtGui.QMessageBox.information(
                QtGui.QApplication.activeWindow(),
                translate("A2plus_constraintDialog","Constraint does not exist anymore"),
                translate("A2plus_constraintDialog","Constraint has already been deleted")
                )
            a2plib.setConstraintEditorRef(None)
            self.Deleted.emit()
            return

        self.setConstraintEditorData()
        self.Accepted.emit()
示例#4
0
    def Activated(self):
        self.selectedConstraint = a2plib.getSelectedConstraint()
        if self.selectedConstraint is None:
            QtGui.QMessageBox.information(
                QtGui.QApplication.activeWindow(),
                translate("A2plus_constraintDialog","Selection Error !"),
                translate("A2plus_constraintDialog","Please select exact one constraint first.")
                )
            return

        self.constraintValueBox = a2p_ConstraintValuePanel(
            self.selectedConstraint,
            'editConstraint'
            )
        QtCore.QObject.connect(self.constraintValueBox, QtCore.SIGNAL("Deleted()"), self.onDeleteConstraint)
        QtCore.QObject.connect(self.constraintValueBox, QtCore.SIGNAL("Accepted()"), self.onAcceptConstraint)
        a2plib.setConstraintEditorRef(self.constraintValueBox)
示例#5
0
    def cancelOperation(self):
        doc = FreeCAD.activeDocument()
        if self.constraintObject not in doc.Objects:
            QtGui.QMessageBox.information(
                QtGui.QApplication.activeWindow(),
                translate("A2plus_constraintDialog","Constraint does not exist anymore"),
                translate("A2plus_constraintDialog","Constraint has already been deleted")
                )
            a2plib.setConstraintEditorRef(None)
            self.Deleted.emit()
            return

        if self.mode == 'createConstraint':
            flags = QtGui.QMessageBox.StandardButton.Yes | QtGui.QMessageBox.StandardButton.No
            response = QtGui.QMessageBox.information(
                QtGui.QApplication.activeWindow(),
                translate("A2plus_constraintDialog","Confirmation required"),
                translate("A2plus_constraintDialog","Exit and delete new constraint?"),
                flags
                )
            if response == QtGui.QMessageBox.Yes:
                a2plib.setConstraintEditorRef(None)
                self.Deleted.emit()
            else:
                self.restoreConstraintValues()
        else:
            if self.isWindowModified() or self.winModified:
                flags = QtGui.QMessageBox.StandardButton.Yes | QtGui.QMessageBox.StandardButton.No
                response = QtGui.QMessageBox.information(
                    QtGui.QApplication.activeWindow(),
                    translate("A2plus_constraintDialog","Information"),
                    translate("A2plus_constraintDialog","Values changed! Accept Constraint?"),
                    flags
                    )
                if response == QtGui.QMessageBox.Yes:
                    self.setConstraintEditorData()
                    a2plib.setConstraintEditorRef(None)
                    self.Accepted.emit()
                else:
                    self.restoreConstraintValues()
                    a2plib.setConstraintEditorRef(None)
                    self.Accepted.emit()
            else:
                a2plib.setConstraintEditorRef(None)
                self.Accepted.emit()
示例#6
0
    def solve(self):
        doc = FreeCAD.activeDocument()
        if self.constraintObject not in doc.Objects:
            QtGui.QMessageBox.information(
                QtGui.QApplication.activeWindow(),
                translate("A2plus_constraintDialog","Constraint does not exist anymore"),
                translate("A2plus_constraintDialog","Constraint has already been deleted")
                )
            a2plib.setConstraintEditorRef(None)
            self.Deleted.emit()
            return

        self.winModified = True
        self.setConstraintEditorData()
        doc = FreeCAD.activeDocument()
        if doc is not None:
            solveConstraints(doc)
            doc.recompute()
示例#7
0
    def __init__(self,constraintObject, mode):
        super(a2p_ConstraintValuePanel,self).__init__()
        self.constraintObject = constraintObject

        #
        self.cvw = a2p_ConstraintValueWidget(
            None,
            constraintObject,
            mode
            )
        self.setWidget(self.cvw)
        self.setWindowTitle(translate("A2plus_constraintDialog",'Constraint properties'))

        #self.resize(300,500)

        QtCore.QObject.connect(self.cvw, QtCore.SIGNAL("Accepted()"), self.onAcceptConstraint)
        QtCore.QObject.connect(self.cvw, QtCore.SIGNAL("Deleted()"), self.onDeleteConstraint)

        mw = FreeCADGui.getMainWindow()
        mw.addDockWidget(QtCore.Qt.RightDockWidgetArea,self)

        self.setFloating(True)
        self.activateWindow()
        self.setAllowedAreas(QtCore.Qt.NoDockWidgetArea)

        #self.resize(300,500)

        self.move(getMoveDistToStoredPosition(self))

        a2plib.setConstraintEditorRef(self)
        if mode == 'createConstraint':
            if a2plib.getAutoSolveState():
                doc = FreeCAD.activeDocument()
                if doc is not None:
                    solveConstraints(doc)
        self.cvw.activateWindow()
示例#8
0
 def onDeleteConstraint(self):
     self.storeWindowPosition()
     self.Deleted.emit()
     a2plib.setConstraintEditorRef(None)
     a2plib.unTouchA2pObjects()
     self.deleteLater()
示例#9
0
 def onDeleteConstraint(self):
     #self.constraintValueBox.deleteLater()
     a2plib.setConstraintEditorRef(None)
     self.activeConstraint = None
     FreeCADGui.Selection.clearSelection()
示例#10
0
 def onAcceptConstraint(self):
     self.constraintValueBox.deleteLater()
     a2plib.setConstraintEditorRef(None)
     FreeCADGui.Selection.clearSelection()