forked from youen/assembly_handbook
Button are activated only if view is selected
This commit is contained in:
parent
11116df87e
commit
aaeea1784f
@ -1,6 +1,7 @@
|
||||
import FreeCADGui as Gui
|
||||
import FreeCAD as App
|
||||
|
||||
import ahb_utils
|
||||
class AHB_New_Step:
|
||||
def GetResources(self):
|
||||
return {"MenuText": "New Step",
|
||||
@ -9,7 +10,7 @@ class AHB_New_Step:
|
||||
}
|
||||
|
||||
def IsActive(self):
|
||||
return True
|
||||
return ahb_utils.getCurrentView() is not None
|
||||
|
||||
def Activated(self):
|
||||
import re
|
||||
|
@ -1,6 +1,8 @@
|
||||
import FreeCADGui as Gui
|
||||
import FreeCAD as App
|
||||
|
||||
import ahb_utils
|
||||
|
||||
class AHB_View_Annotate:
|
||||
def GetResources(self):
|
||||
return {"MenuText": "Annotate view",
|
||||
@ -9,7 +11,7 @@ class AHB_View_Annotate:
|
||||
}
|
||||
|
||||
def IsActive(self):
|
||||
return True
|
||||
return ahb_utils.getCurrentView() is not None
|
||||
|
||||
def Activated(self):
|
||||
workbench = Gui.getWorkbench("AssemblyHandbookWorkbench") #: :type workbench: AssemblyHandbookWorkbench
|
||||
|
@ -1,6 +1,8 @@
|
||||
import FreeCADGui as Gui
|
||||
import FreeCAD as App
|
||||
|
||||
import ahb_utils
|
||||
|
||||
class AHB_EditViewSourceParts:
|
||||
def GetResources(self):
|
||||
return {"MenuText": "Edit view source parts",
|
||||
@ -19,9 +21,7 @@ class AHB_EditViewSourceParts:
|
||||
|
||||
def Activated(self):
|
||||
workbench = Gui.getWorkbench("AssemblyHandbookWorkbench") #: :type workbench: AssemblyHandbookWorkbench
|
||||
view = None
|
||||
if len(Gui.Selection.getSelection()) == 1 and Gui.Selection.getSelection()[0].TypeId == 'TechDraw::DrawViewPart':
|
||||
view = Gui.Selection.getSelection()[0]
|
||||
view = ahb_utils.getCurrentView()
|
||||
workbench.techDrawExtensions.toggleEditViewSourceParts(view)
|
||||
|
||||
class AHB_AddSourcePartsToView:
|
||||
|
@ -1,6 +1,7 @@
|
||||
import FreeCADGui as Gui
|
||||
import FreeCAD as App
|
||||
|
||||
import ahb_utils
|
||||
class AHB_SetViewDirection:
|
||||
def GetResources(self):
|
||||
return {"MenuText": "Set view direction",
|
||||
@ -9,22 +10,15 @@ class AHB_SetViewDirection:
|
||||
}
|
||||
|
||||
def IsActive(self):
|
||||
view = self._get_view()
|
||||
return view is not None
|
||||
return ahb_utils.getCurrentView() is not None
|
||||
|
||||
def Activated(self):
|
||||
workbench = Gui.getWorkbench("AssemblyHandbookWorkbench") #: :type workbench: AssemblyHandbookWorkbench
|
||||
view = self._get_view()
|
||||
view = ahb_utils.getCurrentView()
|
||||
if view is None:
|
||||
raise Exception("Please select a TechDraw view")
|
||||
workbench.techDrawExtensions.setCurrentViewDirection(view)
|
||||
|
||||
def _get_view(self):
|
||||
view = None if len(Gui.Selection.getSelection()) == 0 else Gui.Selection.getSelection()[0]
|
||||
if view is not None and view.TypeId != 'TechDraw::DrawViewPart':
|
||||
view = None
|
||||
return view
|
||||
|
||||
|
||||
from ahb_command import AHB_CommandWrapper
|
||||
AHB_CommandWrapper.addGuiCommand('AHB_view_set_direction', AHB_SetViewDirection())
|
||||
|
8
ahb_utils.py
Normal file
8
ahb_utils.py
Normal file
@ -0,0 +1,8 @@
|
||||
import FreeCADGui as Gui
|
||||
|
||||
def getCurrentView():
|
||||
currentSel = Gui.Selection.getSelection()
|
||||
if len(currentSel) == 1 and currentSel[0].TypeId == 'TechDraw::DrawViewPart':
|
||||
return currentSel[0]
|
||||
else:
|
||||
return None
|
Loading…
Reference in New Issue
Block a user