diff --git a/src/Mod/Draft/DraftGui.py b/src/Mod/Draft/DraftGui.py index 5d88f70268..07b879c155 100644 --- a/src/Mod/Draft/DraftGui.py +++ b/src/Mod/Draft/DraftGui.py @@ -249,9 +249,6 @@ class DraftToolBar: self.sourceCmd = None self.cancel = None self.pointcallback = None - self.taskmode = 1 # Draft.getParam("UiMode",1) - # taskmode = 0 was used by draft toolbar that is now obsolete. - # print("taskmode: ",str(self.taskmode)) # OBSOLETE BUT STILL USED BY SOME ADDONS AND MACROS self.paramcolor = Draft.getParam("color",255)>>8 @@ -294,52 +291,19 @@ class DraftToolBar: "angleValue":{"value":"avalue","unit":"Angle"} } - if self.taskmode: - # add only a dummy widget, since widgets are created on demand - self.baseWidget = DraftBaseWidget() - self.tray = QtGui.QToolBar(None) - self.tray.setObjectName("Draft tray") - self.tray.setWindowTitle("Draft tray") - self.toptray = self.tray - self.bottomtray = self.tray - self.setupTray() - self.setupStyle() - mw = FreeCADGui.getMainWindow() - mw.addToolBar(self.tray) - self.tray.setParent(mw) - self.tray.hide() - - else: # self.taskmode == 0 Draft toolbar is obsolete and has been disabled (February 2020) - # create the draft Toolbar - self.draftWidget = QtGui.QDockWidget() - self.baseWidget = DraftDockWidget() - self.draftWidget.setObjectName("draftToolbar") - self.scroll = QtGui.QScrollArea() - self.scroll.setWidgetResizable(True) - self.scroll.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) - self.scroll.setWidget(self.baseWidget) - self.draftWidget.setTitleBarWidget(self.scroll) - p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/General") - size = p.GetInt("ToolbarIconSize", 24) - if size < 24: - scale = 3.5 - else: - scale = 2.5 - self.scroll.setMinimumHeight(size * scale) - self.draftWidget.setWindowTitle(translate("draft", "Draft Command Bar")) - self.mw = FreeCADGui.getMainWindow() - self.mw.addDockWidget(QtCore.Qt.TopDockWidgetArea,self.draftWidget) - self.draftWidget.setVisible(False) - self.draftWidget.toggleViewAction().setVisible(False) - self.baseWidget.setObjectName("draftToolbar") - self.layout = QtGui.QHBoxLayout(self.baseWidget) - self.layout.setObjectName("layout") - self.toptray = self.layout - self.bottomtray = self.layout - self.setupToolBar() - self.setupTray() - self.setupStyle() - self.retranslateUi(self.baseWidget) + # add only a dummy widget, since widgets are created on demand + self.baseWidget = DraftBaseWidget() + self.tray = QtGui.QToolBar(None) + self.tray.setObjectName("Draft tray") + self.tray.setWindowTitle("Draft tray") + self.toptray = self.tray + self.bottomtray = self.tray + self.setupTray() + self.setupStyle() + mw = FreeCADGui.getMainWindow() + mw.addToolBar(self.tray) + self.tray.setParent(mw) + self.tray.hide() #--------------------------------------------------------------------------- # General UI setup @@ -447,15 +411,6 @@ class DraftToolBar: boldtxt.setBold(True) self.cmdlabel.setFont(boldtxt) - # subcommands for draft Edit, OBSOLETE - - # self.addButton = self._pushbutton("addButton", self.layout, icon="Draft_AddPoint", width=22, checkable=True) - # self.delButton = self._pushbutton("delButton", self.layout, icon="Draft_DelPoint", width=22, checkable=True) - # self.sharpButton = self._pushbutton("sharpButton", self.layout, icon="Draft_BezSharpNode", width=22, checkable=True) - # self.tangentButton = self._pushbutton("tangentButton", self.layout, icon="Draft_BezTanNode", width=22, checkable=True) - # self.symmetricButton = self._pushbutton("symmetricButton", self.layout, icon="Draft_BezSymNode", width=22, checkable=True) - # self.arc3PtButton = self._pushbutton("arc3PtButton", self.layout, icon="Draft_Arc", width=22, checkable=True) - # point xl = QtGui.QHBoxLayout() @@ -565,16 +520,10 @@ class DraftToolBar: self.isSubelementMode = self._checkbox("isSubelementMode",self.layout,checked=False) # spacer - if not self.taskmode: - # self.taskmode == 0 Draft toolbar is obsolete and has been disabled (February 2020) - spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, - QtGui.QSizePolicy.Minimum) - else: - spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, - QtGui.QSizePolicy.Expanding) + spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, + QtGui.QSizePolicy.Expanding) self.layout.addItem(spacerItem) - QtCore.QObject.connect(self.xValue,QtCore.SIGNAL("valueChanged(double)"),self.changeXValue) QtCore.QObject.connect(self.yValue,QtCore.SIGNAL("valueChanged(double)"),self.changeYValue) QtCore.QObject.connect(self.zValue,QtCore.SIGNAL("valueChanged(double)"),self.changeZValue) @@ -599,14 +548,6 @@ class DraftToolBar: QtCore.QObject.connect(self.textOkButton,QtCore.SIGNAL("clicked()"),self.sendText) QtCore.QObject.connect(self.zValue,QtCore.SIGNAL("returnPressed()"),self.setFocus) - # Draft Edit UI obsolete due to introduction of incommand context menu - # QtCore.QObject.connect(self.addButton,QtCore.SIGNAL("toggled(bool)"),self.setAddMode) - # QtCore.QObject.connect(self.delButton,QtCore.SIGNAL("toggled(bool)"),self.setDelMode) - # QtCore.QObject.connect(self.sharpButton,QtCore.SIGNAL("toggled(bool)"),self.setSharpMode) - # QtCore.QObject.connect(self.tangentButton,QtCore.SIGNAL("toggled(bool)"),self.setTangentMode) - # QtCore.QObject.connect(self.symmetricButton,QtCore.SIGNAL("toggled(bool)"),self.setSymmetricMode) - # QtCore.QObject.connect(self.arc3PtButton,QtCore.SIGNAL("toggled(bool)"),self.setArc3PtMode) - QtCore.QObject.connect(self.finishButton,QtCore.SIGNAL("pressed()"),self.finish) QtCore.QObject.connect(self.closeButton,QtCore.SIGNAL("pressed()"),self.closeLine) QtCore.QObject.connect(self.wipeButton,QtCore.SIGNAL("pressed()"),self.wipeLine) @@ -631,22 +572,6 @@ class DraftToolBar: QtCore.QObject.connect(self.chooserButton,QtCore.SIGNAL("pressed()"),self.pickFile) QtCore.QObject.connect(self.FFileValue,QtCore.SIGNAL("returnPressed()"),self.validateFile) - - # following lines can cause a crash and are not needed anymore when using the task panel - # https://forum.freecadweb.org/viewtopic.php?f=3&t=6952 - #QtCore.QObject.connect(self.FFileValue,QtCore.SIGNAL("escaped()"),self.escape) - #QtCore.QObject.connect(self.xValue,QtCore.SIGNAL("escaped()"),self.escape) - #QtCore.QObject.connect(self.yValue,QtCore.SIGNAL("escaped()"),self.escape) - #QtCore.QObject.connect(self.zValue,QtCore.SIGNAL("escaped()"),self.escape) - #QtCore.QObject.connect(self.radiusValue,QtCore.SIGNAL("escaped()"),self.escape) - #QtCore.QObject.connect(self.SSizeValue,QtCore.SIGNAL("escaped()"),self.escape) - #QtCore.QObject.connect(self.STrackValue,QtCore.SIGNAL("escaped()"),self.escape) - #QtCore.QObject.connect(self.SStringValue,QtCore.SIGNAL("escaped()"),self.escape) - - # if Ui changed to have Size & Track visible at same time, use this - #QtCore.QObject.connect(self.SSizeValue,QtCore.SIGNAL("returnPressed()"),self.checkSSize) - #QtCore.QObject.connect(self.STrackValue,QtCore.SIGNAL("returnPressed()"),self.checkSTrack) - def setupTray(self): """sets draft tray buttons up""" @@ -665,20 +590,6 @@ class DraftToolBar: p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/General") bsize = p.GetInt("ToolbarIconSize",24)+2 - # OBSOLETE - replaced by style button - #self.colorButton = self._pushbutton("colorButton",self.bottomtray, hide=False,square=True) - #self.colorPix = QtGui.QPixmap(16,16) - #self.colorPix.fill(self.color) - #self.colorButton.setIcon(QtGui.QIcon(self.colorPix)) - #self.facecolorButton = self._pushbutton("facecolorButton",self.bottomtray, hide=False,square=True) - #self.facecolorPix = QtGui.QPixmap(16,16) - #self.facecolorPix.fill(QtGui.QColor(self.facecolor)) - #self.facecolorButton.setIcon(QtGui.QIcon(self.facecolorPix)) - #self.widthButton = self._spinbox("widthButton", self.bottomtray, val=self.linewidth,hide=False,size=(bsize * 2,bsize)) - #self.widthButton.setSuffix("px") - #self.fontsizeButton = self._spinbox("fontsizeButton",self.bottomtray, val=self.fontsize,vmax=999, hide=False,double=True,size=(bsize * 4,bsize)) - #self.applyButton = self._pushbutton("applyButton", self.toptray, hide=False, icon='Draft_Apply',square=True) - self.styleButton = self._pushbutton( "stylebutton", self.toptray, icon='Draft_Apply', hide=False, width=120) @@ -698,13 +609,6 @@ class DraftToolBar: QtCore.QObject.connect(self.constrButton,QtCore.SIGNAL("toggled(bool)"),self.toggleConstrMode) QtCore.QObject.connect(self.autoGroupButton,QtCore.SIGNAL("pressed()"),self.runAutoGroup) - # OBSOLETE - replaced by style button - #QtCore.QObject.connect(self.colorButton,QtCore.SIGNAL("pressed()"),self.getcol) - #QtCore.QObject.connect(self.facecolorButton,QtCore.SIGNAL("pressed()"),self.getfacecol) - #QtCore.QObject.connect(self.widthButton,QtCore.SIGNAL("valueChanged(int)"),self.setwidth) - #QtCore.QObject.connect(self.fontsizeButton,QtCore.SIGNAL("valueChanged(double)"),self.setfontsize) - #QtCore.QObject.connect(self.applyButton,QtCore.SIGNAL("pressed()"),self.apply) - QtCore.QTimer.singleShot(2000,self.retranslateTray) # delay so translations get a chance to load def setupStyle(self): @@ -776,14 +680,6 @@ class DraftToolBar: + " instead of the classic offset")) self.occOffset.setText(translate("draft", "&OCC-style offset")) - # OBSOLETE - # self.addButton.setToolTip(translate("draft", "Add points to the current object")) - # self.delButton.setToolTip(translate("draft", "Remove points from the current object")) - # self.sharpButton.setToolTip(translate("draft", "Make Bezier node sharp")) - # self.tangentButton.setToolTip(translate("draft", "Make Bezier node tangent")) - # self.symmetricButton.setToolTip(translate("draft", "Make Bezier node symmetric")) - # self.arc3PtButton.setToolTip(translate("draft", "Toggle radius and angles arc editing")) - self.undoButton.setText(translate("draft", "&Undo")+" ("+inCommandShortcuts["Undo"][0]+")") self.undoButton.setToolTip(translate("draft", "Undo the last segment")) self.closeButton.setText(translate("draft", "Close")+" ("+inCommandShortcuts["Close"][0]+")") @@ -837,13 +733,6 @@ class DraftToolBar: self.constrButton.setToolTip(translate("draft", "Toggle construction mode")) self.autoGroupButton.setToolTip(translate("draft", "Autogroup off")) - # OBSOLETE - replaced by style button - #self.colorButton.setToolTip(translate("draft", "Current line color")) - #self.facecolorButton.setToolTip(translate("draft", "Current face color")) - #self.widthButton.setToolTip(translate("draft", "Current line width")) - #self.fontsizeButton.setToolTip(translate("draft", "Current font size")) - #self.applyButton.setToolTip(translate("draft", "Apply to selected objects")) - #--------------------------------------------------------------------------- # Interface modes @@ -852,40 +741,14 @@ class DraftToolBar: def taskUi(self,title="Draft",extra=None,icon="Draft_Draft"): # reset InputField values self.reset_ui_values() - if self.taskmode: - self.isTaskOn = True - todo.delay(FreeCADGui.Control.closeDialog,None) - self.baseWidget = DraftBaseWidget() - self.layout = QtGui.QVBoxLayout(self.baseWidget) - self.setupToolBar(task=True) - self.retranslateUi(self.baseWidget) - self.panel = DraftTaskPanel(self.baseWidget,extra) - todo.delay(FreeCADGui.Control.showDialog,self.panel) - else: # self.taskmode == 0 Draft toolbar is obsolete and has been disabled (February 2020) - # create a dummy task to block the UI during the works - class dummy: - """an empty dialog""" - def __init__(self,extra=None): - if extra: - if isinstance(extra,list): - self.form = extra - else: - self.form = [extra] - def getStandardButtons(self): - return int(QtGui.QDialogButtonBox.Close) - def accept(self): - FreeCADGui.ActiveDocument.resetEdit() - return True - def reject(self): - FreeCADGui.draftToolBar.isTaskOn = False - FreeCADGui.draftToolBar.escape() - FreeCADGui.ActiveDocument.resetEdit() - return True - def isAllowedAlterDocument(self): - return False - if FreeCADGui.Control.activeDialog(): - FreeCADGui.Control.closeDialog() - todo.delay(FreeCADGui.Control.showDialog,dummy(extra)) + self.isTaskOn = True + todo.delay(FreeCADGui.Control.closeDialog,None) + self.baseWidget = DraftBaseWidget() + self.layout = QtGui.QVBoxLayout(self.baseWidget) + self.setupToolBar(task=True) + self.retranslateUi(self.baseWidget) + self.panel = DraftTaskPanel(self.baseWidget,extra) + todo.delay(FreeCADGui.Control.showDialog,self.panel) self.setTitle(title,icon) def redraw(self): @@ -1050,48 +913,8 @@ class DraftToolBar: self.sourceCmd = None self.pointcallback = None self.mask = None - if self.taskmode: - self.isTaskOn = False - self.baseWidget = QtGui.QWidget() - else: # self.taskmode == 0 Draft toolbar is obsolete and has been disabled (February 2020) - self.setTitle(translate("draft", "None")) - self.labelx.setText(translate("draft", "X")) - self.hideXYZ() - self.numFacesLabel.hide() - self.numFaces.hide() - self.hasFill.hide() - self.finishButton.hide() - - # OBSOLETE - # self.addButton.hide() - # self.delButton.hide() - # self.sharpButton.hide() - # self.tangentButton.hide() - # self.symmetricButton.hide() - # self.arc3PtButton.hide() - - self.undoButton.hide() - self.closeButton.hide() - self.wipeButton.hide() - self.orientWPButton.hide() - self.selectButton.hide() - self.labelRadius.hide() - self.radiusValue.hide() - self.isCopy.hide() - self.textValue.hide() - self.textOkButton.hide() - self.continueCmd.hide() - self.occOffset.hide() - self.labelSString.hide() - self.SStringValue.hide() - self.labelSSize.hide() - self.SSizeValue.hide() - self.labelSTrack.hide() - self.STrackValue.hide() - self.labelFFile.hide() - self.FFileValue.hide() - self.chooserButton.hide() - + self.isTaskOn = False + self.baseWidget = QtGui.QWidget() def trimUi(self,title=translate("draft","Trimex")): self.taskUi(title, icon="Draft_Trimex") @@ -1124,45 +947,6 @@ class DraftToolBar: # Change the checkbox label as the in-command shortcut cannot be used: self.continueCmd.setText(translate("draft", "Continue")) - def SSUi(self): - ''' set up ui for ShapeString text entry ''' - self.hideXYZ() - self.labelSString.show() - self.SStringValue.show() - self.SStringValue.setText('') - todo.delay(self.SStringValue.setFocus,None) - self.continueCmd.hide() - - def SSizeUi(self): - ''' set up ui for ShapeString size entry ''' - self.labelSString.hide() - self.SStringValue.hide() - self.continueCmd.hide() - self.labelSSize.show() - self.SSizeValue.setText(FreeCAD.Units.Quantity(1,FreeCAD.Units.Length).UserString) - self.SSizeValue.show() - todo.delay(self.SSizeValue.setFocus,None) - - def STrackUi(self): - ''' set up ui for ShapeString tracking entry ''' - self.labelSSize.hide() - self.SSizeValue.hide() - self.labelSTrack.show() - self.STrackValue.setText(FreeCAD.Units.Quantity(0,FreeCAD.Units.Length).UserString) - self.STrackValue.show() - todo.delay(self.STrackValue.setFocus,None) - - def SFileUi(self): - ''' set up UI for ShapeString font file selection ''' - self.labelSTrack.hide() - self.STrackValue.hide() - if not self.FFileValue.text(): - self.FFileValue.setText(Draft.getParam("FontFile","")) - self.labelFFile.show() - self.FFileValue.show() - self.chooserButton.show() - todo.delay(self.FFileValue.setFocus,None) - def switchUi(self,store=True): if store: self.state = [] @@ -1184,17 +968,10 @@ class DraftToolBar: self.state = None def setTitle(self,title,icon="Draft_Draft"): - if self.taskmode: - self.baseWidget.setWindowTitle(title) - self.baseWidget.setWindowIcon(QtGui.QIcon(":/icons/"+icon+".svg")) - else: # self.taskmode == 0 Draft toolbar is obsolete and has been disabled (February 2020) - self.cmdlabel.setText(title) + self.baseWidget.setWindowTitle(title) + self.baseWidget.setWindowIcon(QtGui.QIcon(":/icons/"+icon+".svg")) def selectUi(self,extra=None, on_close_call=None): - if not self.taskmode: - # self.taskmode == 0 Draft toolbar is obsolete and has been disabled (February 2020) - self.labelx.setText(translate("draft", "Pick Object")) - self.labelx.show() self.makeDumbTask(extra, on_close_call) def editUi(self): @@ -1216,10 +993,6 @@ class DraftToolBar: self.isCopy.setChecked(p.GetBool("copymodeValue",False)) self.continueCmd.show() - # def vertUi(self,addmode=True): - # self.addButton.setChecked(addmode) - # self.delButton.setChecked(not(addmode)) - def checkLocal(self): """checks if x,y,z coords must be displayed as local or global""" if not self.globalMode and self.relativeMode: @@ -1239,22 +1012,13 @@ class DraftToolBar: self.labely.setText(translate("draft", "Global Y")) self.labelz.setText(translate("draft", "Global Z")) - # def setEditButtons(self,mode): - # self.addButton.setEnabled(mode) - # self.delButton.setEnabled(mode) - - # def setBezEditButtons(self,mode): - # self.sharpButton.setEnabled(mode) - # self.tangentButton.setEnabled(mode) - # self.symmetricButton.setEnabled(mode) - def setNextFocus(self): def isThere(widget): if widget.isEnabled() and widget.isVisible(): return True else: return False - if (not self.taskmode) or self.isTaskOn: + if self.isTaskOn: if isThere(self.xValue): self.setFocus() elif isThere(self.yValue): @@ -1315,74 +1079,6 @@ class DraftToolBar: # Processing functions #--------------------------------------------------------------------------- - def getcol(self): - """opens a color picker dialog""" - print("draft: warning: getcol() is obsolete") - return - oldColor = self.color - self.color=QtGui.QColorDialog.getColor(self.color) - if not QtGui.QColor.isValid(self.color): #user canceled - self.color = oldColor - return - self.colorPix.fill(self.color) - self.colorButton.setIcon(QtGui.QIcon(self.colorPix)) - if Draft.getParam("saveonexit",False): - Draft.setParam("color",self.color.rgb()<<8) - r = float(self.color.red()/255.0) - g = float(self.color.green()/255.0) - b = float(self.color.blue()/255.0) - col = (r,g,b,0.0) - for i in FreeCADGui.Selection.getSelection(): - if (i.TypeId == "App::Annotation"): - i.ViewObject.TextColor=col - else: - if "LineColor" in i.ViewObject.PropertiesList: - i.ViewObject.LineColor = col - if "PointColor" in i.ViewObject.PropertiesList: - i.ViewObject.PointColor = col - - def getfacecol(self): - """opens a color picker dialog""" - print("draft: warning: getfacecol() is obsolete") - return - oldColor = self.facecolor - self.facecolor=QtGui.QColorDialog.getColor(self.facecolor) - if not QtGui.QColor.isValid(self.facecolor): #user canceled - self.facecolor = oldColor - return - self.facecolorPix.fill(self.facecolor) - self.facecolorButton.setIcon(QtGui.QIcon(self.facecolorPix)) - if Draft.getParam("saveonexit",False): - FreeCAD.ParamGet("User parameter:BaseApp/Preferences/View")\ - .SetUnsigned("DefaultShapeColor",self.facecolor.rgb()<<8) - r = float(self.facecolor.red()/255.0) - g = float(self.facecolor.green()/255.0) - b = float(self.facecolor.blue()/255.0) - col = (r,g,b,0.0) - for i in FreeCADGui.Selection.getSelection(): - if "ShapeColor" in i.ViewObject.PropertiesList: - i.ViewObject.ShapeColor = col - - def setwidth(self,val): - print("draft: warning: setwidth() is obsolete") - return - self.linewidth = float(val) - if Draft.getParam("saveonexit",False): - Draft.setParam("linewidth",int(val)) - for i in FreeCADGui.Selection.getSelection(): - if "LineWidth" in i.ViewObject.PropertiesList: - i.ViewObject.LineWidth = float(val) - - def setfontsize(self,val): - print("draft: warning: setfontsize() is obsolete") - return - self.fontsize = float(val) - if Draft.getParam("saveonexit",False): - Draft.setParam("textheight",float(val)) - for i in FreeCADGui.Selection.getSelection(): - if "FontSize" in i.ViewObject.PropertiesList: - i.ViewObject.FontSize = float(val) - def setContinue(self,val): if self.continueCmd.isVisible(): self.continueMode = bool(val) @@ -1391,12 +1087,6 @@ class DraftToolBar: if self.hasFill.isVisible(): self.fillmode = bool(val) - def apply(self): - print("draft: warning: apply() is obsolete") - return - for i in FreeCADGui.Selection.getSelection(): - Draft.formatObject(i) - def checkx(self): if self.yValue.isEnabled(): self.yValue.setFocus() @@ -1539,7 +1229,6 @@ class DraftToolBar: FreeCAD.Console.PrintMessage( translate("draft", "Please enter a font file.")) - def finish(self, cont=None): """finish button action""" if self.sourceCmd: @@ -1727,7 +1416,7 @@ class DraftToolBar: def displayPoint(self, point=None, last=None, plane=None, mask=None): """this function displays the passed coords in the x, y, and z widgets""" - if self.taskmode and (not self.isTaskOn): + if not self.isTaskOn: return if not plane: @@ -1886,10 +1575,7 @@ class DraftToolBar: pass def isConstructionMode(self): - if self.tray or (not self.taskmode): - return self.constrButton.isChecked() - else: - return False + return self.tray is not None and self.constrButton.isChecked() def drawPage(self): self.sourceCmd.draw() @@ -1958,45 +1644,6 @@ class DraftToolBar: def popupTriggered(self,action): self.sourceCmd.proceed(str(action.text())) - # def setAddMode(self,bool): - # if self.addButton.isChecked(): - # self.delButton.setChecked(False) - # self.symmetricButton.setChecked(False) - # self.sharpButton.setChecked(False) - # self.tangentButton.setChecked(False) - - # def setDelMode(self,bool): - # if self.delButton.isChecked(): - # self.addButton.setChecked(False) - # self.symmetricButton.setChecked(False) - # self.sharpButton.setChecked(False) - # self.tangentButton.setChecked(False) - - # def setSharpMode(self,bool): - # if self.sharpButton.isChecked(): - # self.tangentButton.setChecked(False) - # self.symmetricButton.setChecked(False) - # self.addButton.setChecked(False) - # self.delButton.setChecked(False) - - # def setTangentMode(self,bool): - # if self.tangentButton.isChecked(): - # self.sharpButton.setChecked(False) - # self.symmetricButton.setChecked(False) - # self.addButton.setChecked(False) - # self.delButton.setChecked(False) - - # def setSymmetricMode(self,bool): - # if self.symmetricButton.isChecked(): - # self.sharpButton.setChecked(False) - # self.tangentButton.setChecked(False) - # self.addButton.setChecked(False) - # self.delButton.setChecked(False) - - # def setArc3PtMode(self,bool): - # if self.arc3PtButton.isChecked(): - # self.arc3PtButton.setChecked(True) - def setRadiusValue(self,val,unit=None): #print("DEBUG: setRadiusValue val: ", val, " unit: ", unit) if not isinstance(val, (int, float)): #??some code passes strings or ??? @@ -2036,16 +1683,6 @@ class DraftToolBar: self.autoGroupButton.setToolTip(translate("draft", "Autogroup off")) self.autoGroupButton.setDown(False) - def show(self): - if not self.taskmode: - # self.taskmode == 0 Draft toolbar is obsolete and has been disabled (February 2020) - self.draftWidget.setVisible(True) - - def hide(self): - if not self.taskmode: - # self.taskmode == 0 Draft toolbar is obsolete and has been disabled (February 2020) - self.draftWidget.setVisible(False) - def getXPM(self,iconname,size=16): i = QtGui.QIcon(":/icons/"+iconname+".svg") p = i.pixmap(size,size) @@ -2183,24 +1820,6 @@ class DraftToolBar: def shouldShow(self): return (FreeCAD.ActiveDocument is not None) and (FreeCADGui.Selection.getSelection() != []) - # OBSOLETE - #class DraftTrayWatcher: - # def __init__(self,traywidget): - # self.form = traywidget - # self.widgets = [self.form] - # def shouldShow(self): - # return True - #self.traywidget = QtGui.QWidget() - #self.tray = QtGui.QVBoxLayout(self.traywidget) - #self.tray.setObjectName("traylayout") - #self.toptray = QtGui.QHBoxLayout() - #self.bottomtray = QtGui.QHBoxLayout() - #self.tray.addLayout(self.toptray) - #self.tray.addLayout(self.bottomtray) - #self.setupTray() - #self.setupStyle() - #w = DraftTrayWatcher(self.traywidget) - #FreeCADGui.Control.addTaskWatcher([w,DraftCreateWatcher(),DraftModifyWatcher()]) FreeCADGui.Control.addTaskWatcher([DraftCreateWatcher(),DraftModifyWatcher()]) def changeEvent(self, event): @@ -2209,26 +1828,18 @@ class DraftToolBar: self.ui.retranslateUi(self) def Activated(self): - if self.taskmode: - self.setWatchers() - if hasattr(self,"tray"): - self.tray.show() - else: # self.taskmode == 0 Draft toolbar is obsolete and has been disabled (February 2020) - self.draftWidget.setVisible(True) - self.draftWidget.toggleViewAction().setVisible(True) + self.setWatchers() + if hasattr(self,"tray"): + self.tray.show() def Deactivated(self): if (FreeCAD.activeDraftCommand is not None): self.continueMode = False FreeCAD.activeDraftCommand.finish() - if self.taskmode: - FreeCADGui.Control.clearTaskWatcher() - #self.tray = None - if hasattr(self,"tray"): - self.tray.hide() - else: # self.taskmode == 0 Draft toolbar is obsolete and has been disabled (February 2020) - self.draftWidget.setVisible(False) - self.draftWidget.toggleViewAction().setVisible(False) + FreeCADGui.Control.clearTaskWatcher() + #self.tray = None + if hasattr(self,"tray"): + self.tray.hide() def reset_ui_values(self): """Method to reset task panel values""" diff --git a/src/Mod/Draft/draftguitools/gui_base_original.py b/src/Mod/Draft/draftguitools/gui_base_original.py index fcde96f310..69430e3a5c 100644 --- a/src/Mod/Draft/draftguitools/gui_base_original.py +++ b/src/Mod/Draft/draftguitools/gui_base_original.py @@ -137,7 +137,6 @@ class DraftTool: self.ui = Gui.draftToolBar self.featureName = name self.ui.sourceCmd = self - self.ui.show() if not noplanesetup: App.DraftWorkingPlane.setup() self.node = [] diff --git a/src/Mod/Draft/draftguitools/gui_beziers.py b/src/Mod/Draft/draftguitools/gui_beziers.py index 29424b9c31..c84185128e 100644 --- a/src/Mod/Draft/draftguitools/gui_beziers.py +++ b/src/Mod/Draft/draftguitools/gui_beziers.py @@ -187,8 +187,6 @@ class BezCurve(gui_lines.Line): if self.ui: if hasattr(self, "bezcurvetrack"): self.bezcurvetrack.finalize() - if not utils.getParam("UiMode", 1): - Gui.Control.closeDialog() if self.obj: # remove temporary object, if any old = self.obj.Name @@ -422,8 +420,6 @@ class CubicBezCurve(gui_lines.Line): if self.ui: if hasattr(self, "bezcurvetrack"): self.bezcurvetrack.finalize() - if not utils.getParam("UiMode", 1): - Gui.Control.closeDialog() if self.obj: # remove temporary object, if any old = self.obj.Name diff --git a/src/Mod/Draft/draftguitools/gui_dimensions.py b/src/Mod/Draft/draftguitools/gui_dimensions.py index 7257727230..7f941a8599 100644 --- a/src/Mod/Draft/draftguitools/gui_dimensions.py +++ b/src/Mod/Draft/draftguitools/gui_dimensions.py @@ -120,7 +120,6 @@ class Dimension(gui_base_original.Creator): self.selectmode = False self.set_selection() _msg(translate("draft", "Pick first point")) - Gui.draftToolBar.show() def set_selection(self): """Fill the nodes according to the selected geometry.""" diff --git a/src/Mod/Draft/draftguitools/gui_shapestrings.py b/src/Mod/Draft/draftguitools/gui_shapestrings.py index c2b3034fc6..93ad3f2bce 100644 --- a/src/Mod/Draft/draftguitools/gui_shapestrings.py +++ b/src/Mod/Draft/draftguitools/gui_shapestrings.py @@ -72,144 +72,10 @@ class ShapeString(gui_base_original.Creator): super(ShapeString, self).Activated(name="ShapeString") if self.ui: self.ui.sourceCmd = self - self.taskmode = utils.getParam("UiMode", 1) - if self.taskmode: - # This doesn't use the task panel defined in DraftGui - # so it is deleted and a new task panel is installed - try: - del self.task - except AttributeError: - pass - self.task = ShapeStringTaskPanelCmd(self) - self.call = self.view.addEventCallback("SoEvent", self.task.action) - _msg(translate("draft", "Pick ShapeString location point")) - todo.ToDo.delay(Gui.Control.showDialog, self.task) - else: - self.text = '' - self.ui.sourceCmd = self - self.ui.pointUi(title=translate("draft",self.featureName), - icon="Draft_ShapeString") - self.active = True - self.call = self.view.addEventCallback("SoEvent", self.action) - self.ssBase = None - self.ui.xValue.setFocus() - self.ui.xValue.selectAll() - _msg(translate("draft", "Pick ShapeString location point")) - Gui.draftToolBar.show() - - # The createObject function is no longer used. - # See the function with the same name in task_shapestring.py. - def createObject(self): - """Create the actual object in the current document.""" - # print("debug: D_T ShapeString.createObject type(self.SString):" - # + str(type(self.SString))) - - dquote = '"' - String = dquote + self.SString + dquote - - # Size and tracking are numbers; - # they are ASCII so this conversion should always work - Size = str(self.SSSize) - Tracking = str(self.SSTrack) - FFile = dquote + self.FFile + dquote - - try: - qr, sup, points, fil = self.getStrings() - Gui.addModule("Draft") - _cmd = 'Draft.make_shapestring' - _cmd += '(' - _cmd += 'String=' + String + ', ' - _cmd += 'FontFile=' + FFile + ', ' - _cmd += 'Size=' + Size + ', ' - _cmd += 'Tracking=' + Tracking - _cmd += ')' - _cmd_list = ['ss = ' + _cmd, - 'plm = FreeCAD.Placement()', - 'plm.Base = ' + DraftVecUtils.toString(self.ssBase), - 'plm.Rotation.Q = ' + qr, - 'ss.Placement = plm', - 'ss.Support = ' + sup, - 'Draft.autogroup(ss)', - 'FreeCAD.ActiveDocument.recompute()'] - self.commit(translate("draft", "Create ShapeString"), - _cmd_list) - except Exception: - _err("Draft_ShapeString: error delaying commit") - self.finish() - - def action(self, arg): - """Handle the 3D scene events. - - This is installed as an EventCallback in the Inventor view. - - Parameters - ---------- - arg: dict - Dictionary with strings that indicates the type of event received - from the 3D view. - """ - if arg["Type"] == "SoKeyboardEvent": - if arg["Key"] == "ESCAPE": - self.finish() - elif arg["Type"] == "SoLocation2Event": # mouse movement detection - if self.active: - (self.point, - ctrlPoint, info) = gui_tool_utils.getPoint(self, arg, - noTracker=True) - gui_tool_utils.redraw3DView() - elif arg["Type"] == "SoMouseButtonEvent": - if (arg["State"] == "DOWN") and (arg["Button"] == "BUTTON1"): - if not self.ssBase: - self.ssBase = self.point - self.active = False - Gui.Snapper.off() - self.ui.SSUi() - - def numericInput(self, numx, numy, numz): - """Validate the entry fields in the user interface. - - This function is called by the toolbar or taskpanel interface - when valid x, y, and z have been entered in the input fields. - """ - self.ssBase = App.Vector(numx, numy, numz) - self.ui.SSUi() # move on to next step in parameter entry - - def numericSSize(self, ssize): - """Validate the size in the user interface. - - This function is called by the toolbar or taskpanel interface - when a valid size parameter has been entered in the input field. - """ - self.SSSize = ssize - self.ui.STrackUi() - - def numericSTrack(self, strack): - """Validate the tracking value in the user interface. - - This function is called by the toolbar or taskpanel interface - when a valid tracking value has been entered in the input field. - """ - self.SSTrack = strack - self.ui.SFileUi() - - def validSString(self, sstring): - """Validate the string value in the user interface. - - This function is called by the toolbar or taskpanel interface - when a valid string value has been entered in the input field. - """ - self.SString = sstring - self.ui.SSizeUi() - - def validFFile(self, FFile): - """Validate the font file value in the user interface. - - This function is called by the toolbar or taskpanel interface - when a valid font file value has been entered in the input field. - """ - self.FFile = FFile - # last step in ShapeString parm capture, create object - self.createObject() + self.task = ShapeStringTaskPanelCmd(self) + self.call = self.view.addEventCallback("SoEvent", self.task.action) + _msg(translate("draft", "Pick ShapeString location point")) + todo.ToDo.delay(Gui.Control.showDialog, self.task) Gui.addCommand('Draft_ShapeString', ShapeString()) diff --git a/src/Mod/Draft/draftguitools/gui_splines.py b/src/Mod/Draft/draftguitools/gui_splines.py index 0e883ec271..87e0a754d4 100644 --- a/src/Mod/Draft/draftguitools/gui_splines.py +++ b/src/Mod/Draft/draftguitools/gui_splines.py @@ -157,8 +157,6 @@ class BSpline(gui_lines.Line): """ if self.ui: self.bsplinetrack.finalize() - if not utils.getParam("UiMode", 1): - Gui.Control.closeDialog() if self.obj: # Remove temporary object, if any old = self.obj.Name diff --git a/src/Mod/Draft/draftguitools/gui_texts.py b/src/Mod/Draft/draftguitools/gui_texts.py index 7f69bd8e96..ab4ee4bfca 100644 --- a/src/Mod/Draft/draftguitools/gui_texts.py +++ b/src/Mod/Draft/draftguitools/gui_texts.py @@ -74,7 +74,6 @@ class Text(gui_base_original.Creator): self.ui.xValue.setFocus() self.ui.xValue.selectAll() _msg(translate("draft", "Pick location point")) - Gui.draftToolBar.show() def finish(self, cont=False): """Terminate the operation. diff --git a/src/Mod/Draft/draftutils/utils.py b/src/Mod/Draft/draftutils/utils.py index 835798e354..2e4b1979bc 100644 --- a/src/Mod/Draft/draftutils/utils.py +++ b/src/Mod/Draft/draftutils/utils.py @@ -167,7 +167,7 @@ def get_param_type(param): """ if param in ("dimsymbol", "dimPrecision", "dimorientation", "precision", "defaultWP", "snapRange", "gridEvery", - "linewidth", "UiMode", "modconstrain", "modsnap", + "linewidth", "modconstrain", "modsnap", "maxSnapEdges", "modalt", "HatchPatternResolution", "snapStyle", "dimstyle", "gridSize", "gridTransparency"): return "int"