Draft: Turned the tray tools into a toolbar
This commit is contained in:
parent
052999e94a
commit
e2650dc341
|
@ -179,14 +179,22 @@ class DraftToolBar:
|
|||
self.DECIMALS = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Units").GetInt("Decimals",2)
|
||||
self.FORMAT = "%." + str(self.DECIMALS) + "f mm"
|
||||
self.uiloader = FreeCADGui.UiLoader()
|
||||
|
||||
# set default to taskbar mode
|
||||
if self.taskmode == None:
|
||||
self.taskmode = 1
|
||||
|
||||
if self.taskmode:
|
||||
# add only a dummy widget, since widgets are created on demand
|
||||
self.baseWidget = QtGui.QWidget()
|
||||
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.show()
|
||||
|
||||
else:
|
||||
# create the draft Toolbar
|
||||
self.draftWidget = QtGui.QDockWidget()
|
||||
|
@ -479,6 +487,8 @@ class DraftToolBar:
|
|||
style += "#tangentButton:Checked, #symmetricButton:checked {"
|
||||
style += "background-color: rgb(20,100,250) }"
|
||||
self.baseWidget.setStyleSheet(style)
|
||||
#if hasattr(self,"tray"):
|
||||
# self.tray.setStyleSheet(style)
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
|
@ -1533,25 +1543,26 @@ class DraftToolBar:
|
|||
self.title = "Modify objects"
|
||||
def shouldShow(self):
|
||||
return (FreeCAD.ActiveDocument != None) and (FreeCADGui.Selection.getSelection() != [])
|
||||
|
||||
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()])
|
||||
# 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):
|
||||
if event.type() == QtCore.QEvent.LanguageChange:
|
||||
|
@ -1561,6 +1572,8 @@ class DraftToolBar:
|
|||
def Activated(self):
|
||||
if self.taskmode:
|
||||
self.setWatchers()
|
||||
if hasattr(self,"tray"):
|
||||
self.tray.show()
|
||||
else:
|
||||
self.draftWidget.setVisible(True)
|
||||
self.draftWidget.toggleViewAction().setVisible(True)
|
||||
|
@ -1571,7 +1584,9 @@ class DraftToolBar:
|
|||
FreeCAD.activeDraftCommand.finish()
|
||||
if self.taskmode:
|
||||
FreeCADGui.Control.clearTaskWatcher()
|
||||
self.tray = None
|
||||
#self.tray = None
|
||||
if hasattr(self,"tray"):
|
||||
self.tray.hide()
|
||||
else:
|
||||
self.draftWidget.setVisible(False)
|
||||
self.draftWidget.toggleViewAction().setVisible(False)
|
||||
|
|
Loading…
Reference in New Issue
Block a user