Example #1
0
    def Activated(self):
        self.Align = "Center"
        self.Length = None
        self.lengthValue = 0
        self.continueCmd = False
        p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch")
        self.Width = p.GetFloat("WallWidth", 200)
        self.Height = p.GetFloat("WallHeight", 3000)
        self.JOIN_WALLS_SKETCHES = p.GetBool("joinWallSketches", False)
        self.AUTOJOIN = p.GetBool("autoJoinWalls", True)
        self.DECIMALS = FreeCAD.ParamGet(
            "User parameter:BaseApp/Preferences/Units").GetInt("Decimals", 2)
        import DraftGui
        self.FORMAT = DraftGui.makeFormatSpec(self.DECIMALS, 'Length')
        sel = FreeCADGui.Selection.getSelectionEx()
        done = False
        self.existing = []

        if sel:
            # automatic mode
            import Draft
            if Draft.getType(sel[0].Object) != "Wall":
                FreeCAD.ActiveDocument.openTransaction(
                    translate("Arch", "Create Wall"))
                FreeCADGui.addModule("Arch")
                for selobj in sel:
                    if Draft.getType(selobj.Object) == "Space":
                        spacedone = False
                        if selobj.HasSubObjects:
                            if "Face" in selobj.SubElementNames[0]:
                                idx = int(selobj.SubElementNames[0][4:])
                                FreeCADGui.doCommand(
                                    "Arch.makeWall(FreeCAD.ActiveDocument." +
                                    selobj.Object.Name + ",face=" + str(idx) +
                                    ")")
                                spacedone = True
                        if not spacedone:
                            FreeCADGui.doCommand(
                                'Arch.makeWall(FreeCAD.ActiveDocument.' +
                                selobj.Object.Name + ')')
                    else:
                        FreeCADGui.doCommand(
                            'Arch.makeWall(FreeCAD.ActiveDocument.' +
                            selobj.Object.Name + ')')
                FreeCAD.ActiveDocument.commitTransaction()
                FreeCAD.ActiveDocument.recompute()
                done = True

        if not done:
            # interactive mode
            import DraftTrackers
            self.points = []
            self.tracker = DraftTrackers.boxTracker()
            if hasattr(FreeCAD, "DraftWorkingPlane"):
                FreeCAD.DraftWorkingPlane.setup()
            FreeCADGui.Snapper.getPoint(callback=self.getPoint,
                                        extradlg=self.taskbox())
Example #2
0
    def Activated(self):
        self.Align = "Center"
        self.Length = None
        self.continueCmd = False
        p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch")
        self.Width = p.GetFloat("WallWidth", 200)
        self.Height = p.GetFloat("WallHeight", 3000)
        self.JOIN_WALLS_SKETCHES = p.GetBool("joinWallSketches", False)
        self.AUTOJOIN = p.GetBool("autoJoinWalls", True)
        self.DECIMALS = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Units").GetInt("Decimals", 2)
        import DraftGui

        self.FORMAT = DraftGui.makeFormatSpec(self.DECIMALS, "Length")
        sel = FreeCADGui.Selection.getSelectionEx()
        done = False
        self.existing = []

        if sel:
            # automatic mode
            import Draft

            if Draft.getType(sel[0].Object) != "Wall":
                FreeCAD.ActiveDocument.openTransaction(translate("Arch", "Create Wall"))
                FreeCADGui.doCommand("import Arch")
                for selobj in sel:
                    if Draft.getType(selobj.Object) == "Space":
                        spacedone = False
                        if selobj.HasSubObjects:
                            if "Face" in selobj.SubElementNames[0]:
                                idx = int(selobj.SubElementNames[0][4:])
                                FreeCADGui.doCommand(
                                    "Arch.makeWall(FreeCAD.ActiveDocument."
                                    + selobj.Object.Name
                                    + ",face="
                                    + str(idx)
                                    + ")"
                                )
                                spacedone = True
                        if not spacedone:
                            FreeCADGui.doCommand("Arch.makeWall(FreeCAD.ActiveDocument." + selobj.Object.Name + ")")
                    else:
                        FreeCADGui.doCommand("Arch.makeWall(FreeCAD.ActiveDocument." + selobj.Object.Name + ")")
                FreeCAD.ActiveDocument.commitTransaction()
                FreeCAD.ActiveDocument.recompute()
                done = True

        if not done:
            # interactive mode
            import DraftTrackers

            self.points = []
            self.tracker = DraftTrackers.boxTracker()
            if hasattr(FreeCAD, "DraftWorkingPlane"):
                FreeCAD.DraftWorkingPlane.setup()
            FreeCADGui.Snapper.getPoint(callback=self.getPoint, extradlg=self.taskbox())
Example #3
0
    def Activated(self):
        p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch")
        self.Length = p.GetFloat("StructureLength", 100)
        self.Width = p.GetFloat("StructureWidth", 100)
        self.Height = p.GetFloat("StructureHeight", 1000)
        self.Profile = None
        self.continueCmd = False
        self.DECIMALS = FreeCAD.ParamGet(
            "User parameter:BaseApp/Preferences/Units").GetInt("Decimals", 2)
        import DraftGui
        self.FORMAT = DraftGui.makeFormatSpec(self.DECIMALS, 'Length')
        sel = FreeCADGui.Selection.getSelection()
        if sel:
            st = Draft.getObjectsOfType(sel, "Structure")
            ax = Draft.getObjectsOfType(sel, "Axis")
            if ax:
                FreeCAD.ActiveDocument.openTransaction(
                    str(translate("Arch", "Create Structural System")))
                FreeCADGui.addModule("Arch")
                if st:
                    FreeCADGui.doCommand("Arch.makeStructuralSystem(" +
                                         ArchCommands.getStringList(st) + "," +
                                         ArchCommands.getStringList(ax) + ")")
                else:
                    FreeCADGui.doCommand("Arch.makeStructuralSystem(axes=" +
                                         ArchCommands.getStringList(ax) + ")")
                FreeCAD.ActiveDocument.commitTransaction()
                FreeCAD.ActiveDocument.recompute()
                return
            elif not (ax) and not (st):
                FreeCAD.ActiveDocument.openTransaction(
                    str(translate("Arch", "Create Structure")))
                FreeCADGui.addModule("Arch")
                for obj in sel:
                    FreeCADGui.doCommand(
                        "Arch.makeStructure(FreeCAD.ActiveDocument." +
                        obj.Name + ")")
                FreeCAD.ActiveDocument.commitTransaction()
                FreeCAD.ActiveDocument.recompute()
                return

        # interactive mode
        if hasattr(FreeCAD, "DraftWorkingPlane"):
            FreeCAD.DraftWorkingPlane.setup()
        import DraftTrackers
        self.points = []
        self.tracker = DraftTrackers.boxTracker()
        self.tracker.width(self.Width)
        self.tracker.height(self.Height)
        self.tracker.length(self.Length)
        self.tracker.on()
        FreeCADGui.Snapper.getPoint(callback=self.getPoint,
                                    movecallback=self.update,
                                    extradlg=self.taskbox())
    def update(self):
        #print("TimberTaskPanel update")
        'fills the treewidget'
        self.tree.clear()
        dirIcon = QtGui.QApplication.style().standardIcon(
            QtGui.QStyle.SP_DirIcon)
        for a in self.attribs:
            setattr(self, "tree" + a, QtGui.QTreeWidgetItem(self.tree))
            c = getattr(self, "tree" + a)
            c.setIcon(0, dirIcon)
            c.ChildIndicatorPolicy = 2
            if self.obj:
                if not hasattr(self.obj, a):
                    c.setHidden(True)
            else:
                c.setHidden(True)
        if self.obj:
            for attrib in self.attribs:
                if hasattr(self.obj, attrib):
                    Oattrib = getattr(self.obj, attrib)
                    Tattrib = getattr(self, "tree" + attrib)
                    if Oattrib:
                        if attrib == "Base":
                            Oattrib = [Oattrib]
                        for o in Oattrib:
                            item = QtGui.QTreeWidgetItem()
                            item.setText(0, o.Name)
                            item.setIcon(0, self.getIcon(o))
                            Tattrib.addChild(item)
                        self.tree.expandItem(Tattrib)
            self.DECIMALS = FreeCAD.ParamGet(
                "User parameter:BaseApp/Preferences/Units").GetInt(
                    "Decimals", 2)
            self.FORMAT = DraftGui.makeFormatSpec(self.DECIMALS, 'Length')
            self.vWidth.setText(self.FORMAT % self.obj.Width)
            self.vHeight.setText(self.FORMAT % self.obj.Height)

            "fill the presets combobox"
            presetslist = getPresetsList()
            presetname = self.obj.Preset
            idx = presetslist.index(presetname)
            self.presetsCBB.clear()
            self.presetsCBB.addItems(presetslist)
            self.presetsCBB.setCurrentIndex(idx)
            if idx < 1:
                self.presetRenameBT.setEnabled(False)
                self.presetSaveBT.setEnabled(False)
            else:
                self.presetRenameBT.setEnabled(True)
                self.presetSaveBT.setEnabled(True)

        self.retranslateUi(self.form)
Example #5
0
    def Activated(self):
        p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch")
        self.Length = p.GetFloat("StructureLength", 100)
        self.Width = p.GetFloat("StructureWidth", 100)
        self.Height = p.GetFloat("StructureHeight", 1000)
        self.Profile = None
        self.continueCmd = False
        self.DECIMALS = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Units").GetInt("Decimals", 2)
        import DraftGui

        self.FORMAT = DraftGui.makeFormatSpec(self.DECIMALS, "Length")
        sel = FreeCADGui.Selection.getSelection()
        if sel:
            st = Draft.getObjectsOfType(sel, "Structure")
            ax = Draft.getObjectsOfType(sel, "Axis")
            if ax:
                FreeCAD.ActiveDocument.openTransaction(str(translate("Arch", "Create Structural System")))
                FreeCADGui.addModule("Arch")
                if st:
                    FreeCADGui.doCommand(
                        "Arch.makeStructuralSystem("
                        + ArchCommands.getStringList(st)
                        + ","
                        + ArchCommands.getStringList(ax)
                        + ")"
                    )
                else:
                    FreeCADGui.doCommand("Arch.makeStructuralSystem(axes=" + ArchCommands.getStringList(ax) + ")")
                FreeCAD.ActiveDocument.commitTransaction()
                FreeCAD.ActiveDocument.recompute()
                return
            elif not (ax) and not (st):
                FreeCAD.ActiveDocument.openTransaction(str(translate("Arch", "Create Structure")))
                FreeCADGui.addModule("Arch")
                for obj in sel:
                    FreeCADGui.doCommand("Arch.makeStructure(FreeCAD.ActiveDocument." + obj.Name + ")")
                FreeCAD.ActiveDocument.commitTransaction()
                FreeCAD.ActiveDocument.recompute()
                return

        # interactive mode
        if hasattr(FreeCAD, "DraftWorkingPlane"):
            FreeCAD.DraftWorkingPlane.setup()
        import DraftTrackers

        self.points = []
        self.tracker = DraftTrackers.boxTracker()
        self.tracker.width(self.Width)
        self.tracker.height(self.Height)
        self.tracker.length(self.Length)
        self.tracker.on()
        FreeCADGui.Snapper.getPoint(callback=self.getPoint, movecallback=self.update, extradlg=self.taskbox())
    def update(self):
        #print("TimberTaskPanel update")
        'fills the treewidget'
        self.tree.clear()
        dirIcon = QtGui.QApplication.style().standardIcon(QtGui.QStyle.SP_DirIcon)
        for a in self.attribs:
            setattr(self,"tree"+a,QtGui.QTreeWidgetItem(self.tree))
            c = getattr(self,"tree"+a)
            c.setIcon(0,dirIcon)
            c.ChildIndicatorPolicy = 2
            if self.obj:
                if not hasattr(self.obj,a):
                           c.setHidden(True)
            else:
                c.setHidden(True)
        if self.obj:
            for attrib in self.attribs:
                if hasattr(self.obj,attrib):
                    Oattrib = getattr(self.obj,attrib)
                    Tattrib = getattr(self,"tree"+attrib)
                    if Oattrib:
                        if attrib == "Base":
                            Oattrib = [Oattrib]
                        for o in Oattrib:
                            item = QtGui.QTreeWidgetItem()
                            item.setText(0,o.Name)
                            item.setIcon(0,self.getIcon(o))
                            Tattrib.addChild(item)
                        self.tree.expandItem(Tattrib)
            self.DECIMALS = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Units").GetInt("Decimals",2)
            self.FORMAT = DraftGui.makeFormatSpec(self.DECIMALS,'Length')
            self.vWidth.setText(self.FORMAT % self.obj.Width)
            self.vHeight.setText(self.FORMAT % self.obj.Height)

            "fill the presets combobox"
            presetslist = getPresetsList()
            presetname = self.obj.Preset
            idx = presetslist.index(presetname)
            self.presetsCBB.clear()
            self.presetsCBB.addItems(presetslist)
            self.presetsCBB.setCurrentIndex(idx)
            if idx < 1:
                self.presetRenameBT.setEnabled(False)
                self.presetSaveBT.setEnabled(False)
            else:
                self.presetRenameBT.setEnabled(True)
                self.presetSaveBT.setEnabled(True)

        self.retranslateUi(self.form)
Example #7
0
    def __init__(self, obj):

        QtGui.QDialog.__init__(self)
        self.setObjectName(_fromUtf8("TooltableEditor"))
        self.resize(468, 476)
        self.verticalLayout = QtGui.QVBoxLayout(self)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.DECIMALS = FreeCAD.ParamGet(
            "User parameter:BaseApp/Preferences/Units").GetInt("Decimals", 2)
        self.FORMAT = DraftGui.makeFormatSpec(self.DECIMALS, 'Length')
        # left groupbox
        self.groupBox = QtGui.QGroupBox(self)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum,
                                       QtGui.QSizePolicy.Minimum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.groupBox.sizePolicy().hasHeightForWidth())
        self.groupBox.setSizePolicy(sizePolicy)
        self.groupBox.setObjectName(_fromUtf8("groupBox"))
        self.verticalLayout_2 = QtGui.QVBoxLayout(self.groupBox)
        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
        self.horizontalLayout_9 = QtGui.QHBoxLayout()
        self.horizontalLayout_9.setObjectName(_fromUtf8("horizontalLayout_9"))

        # import button
        self.ButtonImport = QtGui.QPushButton(self.groupBox)
        icon = QtGui.QIcon.fromTheme(_fromUtf8("document-import"))
        self.ButtonImport.setIcon(icon)
        self.ButtonImport.setObjectName(_fromUtf8("ButtonImport"))
        self.horizontalLayout_9.addWidget(self.ButtonImport)

        # export button
        self.ButtonExport = QtGui.QPushButton(self.groupBox)
        icon = QtGui.QIcon.fromTheme(_fromUtf8("document-export"))
        self.ButtonExport.setIcon(icon)
        self.ButtonExport.setObjectName(_fromUtf8("ButtonExport"))
        self.horizontalLayout_9.addWidget(self.ButtonExport)

        # tools list
        self.verticalLayout_2.addLayout(self.horizontalLayout_9)
        self.ToolsList = QtGui.QTreeWidget(self.groupBox)
        self.ToolsList.setObjectName(_fromUtf8("ToolsList"))
        self.ToolsList.header().setDefaultSectionSize(40)
        self.verticalLayout_2.addWidget(self.ToolsList)

        # add button
        self.horizontalLayout_8 = QtGui.QHBoxLayout()
        self.horizontalLayout_8.setObjectName(_fromUtf8("horizontalLayout_8"))
        self.ButtonAdd = QtGui.QPushButton(self.groupBox)
        icon = QtGui.QIcon.fromTheme(_fromUtf8("edit-add"))
        self.ButtonAdd.setIcon(icon)
        self.ButtonAdd.setObjectName(_fromUtf8("ButtonAdd"))
        self.horizontalLayout_8.addWidget(self.ButtonAdd)

        # delete button
        self.ButtonDelete = QtGui.QPushButton(self.groupBox)
        icon = QtGui.QIcon.fromTheme(_fromUtf8("edit-delete"))
        self.ButtonDelete.setIcon(icon)
        self.ButtonDelete.setObjectName(_fromUtf8("ButtonDelete"))
        self.horizontalLayout_8.addWidget(self.ButtonDelete)

        # up button
        self.ButtonUp = QtGui.QPushButton(self.groupBox)
        icon = QtGui.QIcon.fromTheme(_fromUtf8("go-up"))
        self.ButtonUp.setIcon(icon)
        self.ButtonDelete.setObjectName(_fromUtf8("ButtonUp"))
        self.horizontalLayout_8.addWidget(self.ButtonUp)

        # down button
        self.ButtonDown = QtGui.QPushButton(self.groupBox)
        icon = QtGui.QIcon.fromTheme(_fromUtf8("go-down"))
        self.ButtonDown.setIcon(icon)
        self.ButtonDown.setObjectName(_fromUtf8("ButtonDown"))
        self.horizontalLayout_8.addWidget(self.ButtonDown)

        # right groupbox
        self.verticalLayout_2.addLayout(self.horizontalLayout_8)
        self.horizontalLayout.addWidget(self.groupBox)
        self.groupBox_2 = QtGui.QGroupBox(self)
        self.groupBox_2.setObjectName(_fromUtf8("groupBox_2"))
        self.verticalLayout_3 = QtGui.QVBoxLayout(self.groupBox_2)
        self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))

        # name
        self.label = QtGui.QLabel(self.groupBox_2)
        self.label.setObjectName(_fromUtf8("label"))
        self.verticalLayout_3.addWidget(self.label)
        self.NameField = QtGui.QLineEdit(self.groupBox_2)
        self.NameField.setObjectName(_fromUtf8("NameField"))
        self.verticalLayout_3.addWidget(self.NameField)

        # type
        self.label_2 = QtGui.QLabel(self.groupBox_2)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.verticalLayout_3.addWidget(self.label_2)
        self.TypeField = QtGui.QComboBox(self.groupBox_2)
        self.TypeField.setObjectName(_fromUtf8("TypeField"))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.verticalLayout_3.addWidget(self.TypeField)

        # material
        self.label_3 = QtGui.QLabel(self.groupBox_2)
        self.label_3.setObjectName(_fromUtf8("label_3"))
        self.verticalLayout_3.addWidget(self.label_3)
        self.MaterialField = QtGui.QComboBox(self.groupBox_2)
        self.MaterialField.setObjectName(_fromUtf8("MaterialField"))
        self.MaterialField.addItem(_fromUtf8(""))
        self.MaterialField.addItem(_fromUtf8(""))
        self.MaterialField.addItem(_fromUtf8(""))
        self.MaterialField.addItem(_fromUtf8(""))
        self.MaterialField.addItem(_fromUtf8(""))
        self.MaterialField.addItem(_fromUtf8(""))
        self.MaterialField.addItem(_fromUtf8(""))
        self.MaterialField.addItem(_fromUtf8(""))
        self.verticalLayout_3.addWidget(self.MaterialField)
        self.label_4 = QtGui.QLabel(self.groupBox_2)
        self.label_4.setObjectName(_fromUtf8("label_4"))
        self.verticalLayout_3.addWidget(self.label_4)

        # diameter
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
        self.label_5 = QtGui.QLabel(self.groupBox_2)
        self.label_5.setObjectName(_fromUtf8("label_5"))
        self.horizontalLayout_2.addWidget(self.label_5)
        self.DiameterField = QtGui.QDoubleSpinBox(self.groupBox_2)
        self.DiameterField.setMaximum(9999)
        self.DiameterField.setAlignment(QtCore.Qt.AlignRight
                                        | QtCore.Qt.AlignTrailing
                                        | QtCore.Qt.AlignVCenter)
        self.DiameterField.setObjectName(_fromUtf8("DiameterField"))
        self.horizontalLayout_2.addWidget(self.DiameterField)
        self.verticalLayout_3.addLayout(self.horizontalLayout_2)

        # length offset
        self.horizontalLayout_3 = QtGui.QHBoxLayout()
        self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
        self.label_6 = QtGui.QLabel(self.groupBox_2)
        self.label_6.setObjectName(_fromUtf8("label_6"))
        self.horizontalLayout_3.addWidget(self.label_6)
        self.LengthOffsetField = QtGui.QDoubleSpinBox(self.groupBox_2)
        self.LengthOffsetField.setMaximum(9999)
        self.LengthOffsetField.setAlignment(QtCore.Qt.AlignRight
                                            | QtCore.Qt.AlignTrailing
                                            | QtCore.Qt.AlignVCenter)
        self.LengthOffsetField.setObjectName(_fromUtf8("LengthOffsetField"))
        self.horizontalLayout_3.addWidget(self.LengthOffsetField)
        self.verticalLayout_3.addLayout(self.horizontalLayout_3)

        # flat radius
        self.horizontalLayout_4 = QtGui.QHBoxLayout()
        self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
        self.label_7 = QtGui.QLabel(self.groupBox_2)
        self.label_7.setObjectName(_fromUtf8("label_7"))
        self.horizontalLayout_4.addWidget(self.label_7)
        self.FlatRadiusField = QtGui.QDoubleSpinBox(self.groupBox_2)
        self.FlatRadiusField.setMaximum(9999)
        self.FlatRadiusField.setAlignment(QtCore.Qt.AlignRight
                                          | QtCore.Qt.AlignTrailing
                                          | QtCore.Qt.AlignVCenter)
        self.FlatRadiusField.setObjectName(_fromUtf8("FlatRadiusField"))
        self.horizontalLayout_4.addWidget(self.FlatRadiusField)
        self.verticalLayout_3.addLayout(self.horizontalLayout_4)

        # corner radius
        self.horizontalLayout_5 = QtGui.QHBoxLayout()
        self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
        self.label_8 = QtGui.QLabel(self.groupBox_2)
        self.label_8.setObjectName(_fromUtf8("label_8"))
        self.horizontalLayout_5.addWidget(self.label_8)
        self.CornerRadiusField = QtGui.QDoubleSpinBox(self.groupBox_2)
        self.CornerRadiusField.setMaximum(9999)
        self.CornerRadiusField.setAlignment(QtCore.Qt.AlignRight
                                            | QtCore.Qt.AlignTrailing
                                            | QtCore.Qt.AlignVCenter)
        self.CornerRadiusField.setObjectName(_fromUtf8("CornerRadiusField"))
        self.horizontalLayout_5.addWidget(self.CornerRadiusField)
        self.verticalLayout_3.addLayout(self.horizontalLayout_5)

        # cutting edge angle
        self.horizontalLayout_6 = QtGui.QHBoxLayout()
        self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
        self.label_9 = QtGui.QLabel(self.groupBox_2)
        self.label_9.setObjectName(_fromUtf8("label_9"))
        self.horizontalLayout_6.addWidget(self.label_9)
        self.CuttingEdgeAngleField = QtGui.QDoubleSpinBox(self.groupBox_2)
        self.CuttingEdgeAngleField.setMaximum(360)
        self.CuttingEdgeAngleField.setAlignment(QtCore.Qt.AlignRight
                                                | QtCore.Qt.AlignTrailing
                                                | QtCore.Qt.AlignVCenter)
        self.CuttingEdgeAngleField.setObjectName(
            _fromUtf8("CuttingEdgeAngleField"))
        self.horizontalLayout_6.addWidget(self.CuttingEdgeAngleField)
        self.verticalLayout_3.addLayout(self.horizontalLayout_6)

        # cutting edge height
        self.horizontalLayout_7 = QtGui.QHBoxLayout()
        self.horizontalLayout_7.setObjectName(_fromUtf8("horizontalLayout_7"))
        self.label_10 = QtGui.QLabel(self.groupBox_2)
        self.label_10.setObjectName(_fromUtf8("label_10"))
        self.horizontalLayout_7.addWidget(self.label_10)
        self.CuttingEdgeHeightField = QtGui.QDoubleSpinBox(self.groupBox_2)
        self.CuttingEdgeHeightField.setMaximum(9999)
        self.CuttingEdgeHeightField.setAlignment(QtCore.Qt.AlignRight
                                                 | QtCore.Qt.AlignTrailing
                                                 | QtCore.Qt.AlignVCenter)
        self.CuttingEdgeHeightField.setObjectName(
            _fromUtf8("CuttingEdgeHeightField"))
        self.horizontalLayout_7.addWidget(self.CuttingEdgeHeightField)
        self.verticalLayout_3.addLayout(self.horizontalLayout_7)
        self.horizontalLayout.addWidget(self.groupBox_2)
        self.verticalLayout.addLayout(self.horizontalLayout)

        # ok / cancel box
        self.buttonBox = QtGui.QDialogButtonBox(self)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel
                                          | QtGui.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
        self.verticalLayout.addWidget(self.buttonBox)

        self.retranslateUi()

        # connect buttons
        QtCore.QObject.connect(self.buttonBox,
                               QtCore.SIGNAL(_fromUtf8("accepted()")),
                               self.accept)
        QtCore.QObject.connect(self.buttonBox,
                               QtCore.SIGNAL(_fromUtf8("rejected()")),
                               self.reject)
        QtCore.QObject.connect(self.ButtonImport,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               self.read)
        QtCore.QObject.connect(self.ButtonExport,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               self.write)
        QtCore.QObject.connect(self.ButtonAdd,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               self.addnew)
        QtCore.QObject.connect(self.ButtonDelete,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               self.delete)
        QtCore.QObject.connect(self.ButtonUp,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               self.moveup)
        QtCore.QObject.connect(self.ButtonDown,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               self.movedown)
        QtCore.QObject.connect(
            self.ToolsList,
            QtCore.SIGNAL(
                _fromUtf8(
                    "currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)")
            ), self.selectTool)
        QtCore.QObject.connect(self.NameField,
                               QtCore.SIGNAL(_fromUtf8("textEdited(QString)")),
                               self.changeName)
        QtCore.QObject.connect(
            self.TypeField,
            QtCore.SIGNAL(_fromUtf8("currentIndexChanged(int)")),
            self.changeType)
        QtCore.QObject.connect(
            self.MaterialField,
            QtCore.SIGNAL(_fromUtf8("currentIndexChanged(int)")),
            self.changeMaterial)
        QtCore.QObject.connect(
            self.DiameterField,
            QtCore.SIGNAL(_fromUtf8("valueChanged(double)")),
            self.changeDiameter)
        QtCore.QObject.connect(
            self.LengthOffsetField,
            QtCore.SIGNAL(_fromUtf8("valueChanged(double)")),
            self.changeLengthOffset)
        QtCore.QObject.connect(
            self.FlatRadiusField,
            QtCore.SIGNAL(_fromUtf8("valueChanged(double)")),
            self.changeFlatRadius)
        QtCore.QObject.connect(
            self.CornerRadiusField,
            QtCore.SIGNAL(_fromUtf8("valueChanged(double)")),
            self.changeCornerRadius)
        QtCore.QObject.connect(
            self.CuttingEdgeAngleField,
            QtCore.SIGNAL(_fromUtf8("valueChanged(double)")),
            self.changeCuttingEdgeAngle)
        QtCore.QObject.connect(
            self.CuttingEdgeHeightField,
            QtCore.SIGNAL(_fromUtf8("valueChanged(double)")),
            self.changeCuttingEdgeHeight)
        QtCore.QMetaObject.connectSlotsByName(self)
        self.tooltable = obj.Tooltable.copy()
        self.tool = None
        self.number = None
        self.reset()
Example #8
0
    def __init__(self, obj):

        QtGui.QDialog.__init__(self)
        self.setObjectName(_fromUtf8("TooltableEditor"))
        self.resize(468, 476)
        self.verticalLayout = QtGui.QVBoxLayout(self)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.DECIMALS = FreeCAD.ParamGet(
            "User parameter:BaseApp/Preferences/Units").GetInt("Decimals", 2)
        self.FORMAT = DraftGui.makeFormatSpec(self.DECIMALS, 'Length')
        # left groupbox
        self.groupBox = QtGui.QGroupBox(self)
        sizePolicy = QtGui.QSizePolicy(
            QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.groupBox.sizePolicy().hasHeightForWidth())
        self.groupBox.setSizePolicy(sizePolicy)
        self.groupBox.setObjectName(_fromUtf8("groupBox"))
        self.verticalLayout_2 = QtGui.QVBoxLayout(self.groupBox)
        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
        self.horizontalLayout_9 = QtGui.QHBoxLayout()
        self.horizontalLayout_9.setObjectName(_fromUtf8("horizontalLayout_9"))

        # import button
        self.ButtonImport = QtGui.QPushButton(self.groupBox)
        icon = QtGui.QIcon.fromTheme(_fromUtf8("document-import"))
        self.ButtonImport.setIcon(icon)
        self.ButtonImport.setObjectName(_fromUtf8("ButtonImport"))
        self.horizontalLayout_9.addWidget(self.ButtonImport)

        # export button
        self.ButtonExport = QtGui.QPushButton(self.groupBox)
        icon = QtGui.QIcon.fromTheme(_fromUtf8("document-export"))
        self.ButtonExport.setIcon(icon)
        self.ButtonExport.setObjectName(_fromUtf8("ButtonExport"))
        self.horizontalLayout_9.addWidget(self.ButtonExport)

        # tools list
        self.verticalLayout_2.addLayout(self.horizontalLayout_9)
        self.ToolsList = QtGui.QTreeWidget(self.groupBox)
        self.ToolsList.setObjectName(_fromUtf8("ToolsList"))
        self.ToolsList.header().setDefaultSectionSize(40)
        self.verticalLayout_2.addWidget(self.ToolsList)

        # add button
        self.horizontalLayout_8 = QtGui.QHBoxLayout()
        self.horizontalLayout_8.setObjectName(_fromUtf8("horizontalLayout_8"))
        self.ButtonAdd = QtGui.QPushButton(self.groupBox)
        icon = QtGui.QIcon.fromTheme(_fromUtf8("edit-add"))
        self.ButtonAdd.setIcon(icon)
        self.ButtonAdd.setObjectName(_fromUtf8("ButtonAdd"))
        self.horizontalLayout_8.addWidget(self.ButtonAdd)

        # delete button
        self.ButtonDelete = QtGui.QPushButton(self.groupBox)
        icon = QtGui.QIcon.fromTheme(_fromUtf8("edit-delete"))
        self.ButtonDelete.setIcon(icon)
        self.ButtonDelete.setObjectName(_fromUtf8("ButtonDelete"))
        self.horizontalLayout_8.addWidget(self.ButtonDelete)

        # up button
        self.ButtonUp = QtGui.QPushButton(self.groupBox)
        icon = QtGui.QIcon.fromTheme(_fromUtf8("go-up"))
        self.ButtonUp.setIcon(icon)
        self.ButtonDelete.setObjectName(_fromUtf8("ButtonUp"))
        self.horizontalLayout_8.addWidget(self.ButtonUp)

        # down button
        self.ButtonDown = QtGui.QPushButton(self.groupBox)
        icon = QtGui.QIcon.fromTheme(_fromUtf8("go-down"))
        self.ButtonDown.setIcon(icon)
        self.ButtonDown.setObjectName(_fromUtf8("ButtonDown"))
        self.horizontalLayout_8.addWidget(self.ButtonDown)

        # right groupbox
        self.verticalLayout_2.addLayout(self.horizontalLayout_8)
        self.horizontalLayout.addWidget(self.groupBox)
        self.groupBox_2 = QtGui.QGroupBox(self)
        self.groupBox_2.setObjectName(_fromUtf8("groupBox_2"))
        self.verticalLayout_3 = QtGui.QVBoxLayout(self.groupBox_2)
        self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))

        # name
        self.label = QtGui.QLabel(self.groupBox_2)
        self.label.setObjectName(_fromUtf8("label"))
        self.verticalLayout_3.addWidget(self.label)
        self.NameField = QtGui.QLineEdit(self.groupBox_2)
        self.NameField.setObjectName(_fromUtf8("NameField"))
        self.verticalLayout_3.addWidget(self.NameField)

        # type
        self.label_2 = QtGui.QLabel(self.groupBox_2)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.verticalLayout_3.addWidget(self.label_2)
        self.TypeField = QtGui.QComboBox(self.groupBox_2)
        self.TypeField.setObjectName(_fromUtf8("TypeField"))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.TypeField.addItem(_fromUtf8(""))
        self.verticalLayout_3.addWidget(self.TypeField)

        # material
        self.label_3 = QtGui.QLabel(self.groupBox_2)
        self.label_3.setObjectName(_fromUtf8("label_3"))
        self.verticalLayout_3.addWidget(self.label_3)
        self.MaterialField = QtGui.QComboBox(self.groupBox_2)
        self.MaterialField.setObjectName(_fromUtf8("MaterialField"))
        self.MaterialField.addItem(_fromUtf8(""))
        self.MaterialField.addItem(_fromUtf8(""))
        self.MaterialField.addItem(_fromUtf8(""))
        self.MaterialField.addItem(_fromUtf8(""))
        self.MaterialField.addItem(_fromUtf8(""))
        self.MaterialField.addItem(_fromUtf8(""))
        self.MaterialField.addItem(_fromUtf8(""))
        self.MaterialField.addItem(_fromUtf8(""))
        self.verticalLayout_3.addWidget(self.MaterialField)
        self.label_4 = QtGui.QLabel(self.groupBox_2)
        self.label_4.setObjectName(_fromUtf8("label_4"))
        self.verticalLayout_3.addWidget(self.label_4)

        # diameter
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
        self.label_5 = QtGui.QLabel(self.groupBox_2)
        self.label_5.setObjectName(_fromUtf8("label_5"))
        self.horizontalLayout_2.addWidget(self.label_5)
        self.DiameterField = QtGui.QDoubleSpinBox(self.groupBox_2)
        self.DiameterField.setMaximum(9999)
        self.DiameterField.setAlignment(
            QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter)
        self.DiameterField.setObjectName(_fromUtf8("DiameterField"))
        self.horizontalLayout_2.addWidget(self.DiameterField)
        self.verticalLayout_3.addLayout(self.horizontalLayout_2)

        # length offset
        self.horizontalLayout_3 = QtGui.QHBoxLayout()
        self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
        self.label_6 = QtGui.QLabel(self.groupBox_2)
        self.label_6.setObjectName(_fromUtf8("label_6"))
        self.horizontalLayout_3.addWidget(self.label_6)
        self.LengthOffsetField = QtGui.QDoubleSpinBox(self.groupBox_2)
        self.LengthOffsetField.setMaximum(9999)
        self.LengthOffsetField.setAlignment(
            QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter)
        self.LengthOffsetField.setObjectName(_fromUtf8("LengthOffsetField"))
        self.horizontalLayout_3.addWidget(self.LengthOffsetField)
        self.verticalLayout_3.addLayout(self.horizontalLayout_3)

        # flat radius
        self.horizontalLayout_4 = QtGui.QHBoxLayout()
        self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
        self.label_7 = QtGui.QLabel(self.groupBox_2)
        self.label_7.setObjectName(_fromUtf8("label_7"))
        self.horizontalLayout_4.addWidget(self.label_7)
        self.FlatRadiusField = QtGui.QDoubleSpinBox(self.groupBox_2)
        self.FlatRadiusField.setMaximum(9999)
        self.FlatRadiusField.setAlignment(
            QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter)
        self.FlatRadiusField.setObjectName(_fromUtf8("FlatRadiusField"))
        self.horizontalLayout_4.addWidget(self.FlatRadiusField)
        self.verticalLayout_3.addLayout(self.horizontalLayout_4)

        # corner radius
        self.horizontalLayout_5 = QtGui.QHBoxLayout()
        self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
        self.label_8 = QtGui.QLabel(self.groupBox_2)
        self.label_8.setObjectName(_fromUtf8("label_8"))
        self.horizontalLayout_5.addWidget(self.label_8)
        self.CornerRadiusField = QtGui.QDoubleSpinBox(self.groupBox_2)
        self.CornerRadiusField.setMaximum(9999)
        self.CornerRadiusField.setAlignment(
            QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter)
        self.CornerRadiusField.setObjectName(_fromUtf8("CornerRadiusField"))
        self.horizontalLayout_5.addWidget(self.CornerRadiusField)
        self.verticalLayout_3.addLayout(self.horizontalLayout_5)

        # cutting edge angle
        self.horizontalLayout_6 = QtGui.QHBoxLayout()
        self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
        self.label_9 = QtGui.QLabel(self.groupBox_2)
        self.label_9.setObjectName(_fromUtf8("label_9"))
        self.horizontalLayout_6.addWidget(self.label_9)
        self.CuttingEdgeAngleField = QtGui.QDoubleSpinBox(self.groupBox_2)
        self.CuttingEdgeAngleField.setMaximum(360)
        self.CuttingEdgeAngleField.setAlignment(
            QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter)
        self.CuttingEdgeAngleField.setObjectName(
            _fromUtf8("CuttingEdgeAngleField"))
        self.horizontalLayout_6.addWidget(self.CuttingEdgeAngleField)
        self.verticalLayout_3.addLayout(self.horizontalLayout_6)

        # cutting edge height
        self.horizontalLayout_7 = QtGui.QHBoxLayout()
        self.horizontalLayout_7.setObjectName(_fromUtf8("horizontalLayout_7"))
        self.label_10 = QtGui.QLabel(self.groupBox_2)
        self.label_10.setObjectName(_fromUtf8("label_10"))
        self.horizontalLayout_7.addWidget(self.label_10)
        self.CuttingEdgeHeightField = QtGui.QDoubleSpinBox(self.groupBox_2)
        self.CuttingEdgeHeightField.setMaximum(9999)
        self.CuttingEdgeHeightField.setAlignment(
            QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter)
        self.CuttingEdgeHeightField.setObjectName(
            _fromUtf8("CuttingEdgeHeightField"))
        self.horizontalLayout_7.addWidget(self.CuttingEdgeHeightField)
        self.verticalLayout_3.addLayout(self.horizontalLayout_7)
        self.horizontalLayout.addWidget(self.groupBox_2)
        self.verticalLayout.addLayout(self.horizontalLayout)

        # ok / cancel box
        self.buttonBox = QtGui.QDialogButtonBox(self)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(
            QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
        self.verticalLayout.addWidget(self.buttonBox)

        self.retranslateUi()

        # connect buttons
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(
            _fromUtf8("accepted()")), self.accept)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(
            _fromUtf8("rejected()")), self.reject)
        QtCore.QObject.connect(self.ButtonImport, QtCore.SIGNAL(
            _fromUtf8("clicked()")), self.read)
        QtCore.QObject.connect(self.ButtonExport, QtCore.SIGNAL(
            _fromUtf8("clicked()")), self.write)
        QtCore.QObject.connect(self.ButtonAdd, QtCore.SIGNAL(
            _fromUtf8("clicked()")), self.addnew)
        QtCore.QObject.connect(self.ButtonDelete, QtCore.SIGNAL(
            _fromUtf8("clicked()")), self.delete)
        QtCore.QObject.connect(self.ButtonUp, QtCore.SIGNAL(
            _fromUtf8("clicked()")), self.moveup)
        QtCore.QObject.connect(self.ButtonDown, QtCore.SIGNAL(
            _fromUtf8("clicked()")), self.movedown)
        QtCore.QObject.connect(self.ToolsList, QtCore.SIGNAL(_fromUtf8(
            "currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)")), self.selectTool)
        QtCore.QObject.connect(self.NameField, QtCore.SIGNAL(
            _fromUtf8("textEdited(QString)")), self.changeName)
        QtCore.QObject.connect(self.TypeField, QtCore.SIGNAL(
            _fromUtf8("currentIndexChanged(int)")), self.changeType)
        QtCore.QObject.connect(self.MaterialField, QtCore.SIGNAL(
            _fromUtf8("currentIndexChanged(int)")), self.changeMaterial)
        QtCore.QObject.connect(self.DiameterField, QtCore.SIGNAL(
            _fromUtf8("valueChanged(double)")), self.changeDiameter)
        QtCore.QObject.connect(self.LengthOffsetField, QtCore.SIGNAL(
            _fromUtf8("valueChanged(double)")), self.changeLengthOffset)
        QtCore.QObject.connect(self.FlatRadiusField, QtCore.SIGNAL(
            _fromUtf8("valueChanged(double)")), self.changeFlatRadius)
        QtCore.QObject.connect(self.CornerRadiusField, QtCore.SIGNAL(
            _fromUtf8("valueChanged(double)")), self.changeCornerRadius)
        QtCore.QObject.connect(self.CuttingEdgeAngleField, QtCore.SIGNAL(
            _fromUtf8("valueChanged(double)")), self.changeCuttingEdgeAngle)
        QtCore.QObject.connect(self.CuttingEdgeHeightField, QtCore.SIGNAL(
            _fromUtf8("valueChanged(double)")), self.changeCuttingEdgeHeight)
        QtCore.QMetaObject.connectSlotsByName(self)
        self.tooltable = obj.Tooltable.copy()
        self.tool = None
        self.number = None
        self.reset()