Merge pull request #5072 from Roy-043/Draft-fix-shortcuts-in-menus-and-more
Draft: fix shortcuts in menus and more
This commit is contained in:
@@ -51,37 +51,83 @@ class ArchWorkbench(FreeCADGui.Workbench):
|
||||
import Draft_rc
|
||||
import DraftTools
|
||||
import DraftGui
|
||||
from draftguitools import gui_circulararray
|
||||
from draftguitools import gui_polararray
|
||||
from draftguitools import gui_orthoarray
|
||||
from draftguitools import gui_arrays
|
||||
import Arch_rc
|
||||
import Arch
|
||||
|
||||
from ArchStructure import _ArchStructureGroupCommand
|
||||
from ArchAxis import _ArchAxisGroupCommand
|
||||
from ArchPanel import CommandPanelGroup
|
||||
from ArchMaterial import _ArchMaterialToolsCommand
|
||||
from ArchPipe import _ArchPipeGroupCommand
|
||||
|
||||
stru_group = _ArchStructureGroupCommand
|
||||
axis_group = _ArchAxisGroupCommand
|
||||
pan_group = CommandPanelGroup
|
||||
mat_group = _ArchMaterialToolsCommand
|
||||
pipe_group = _ArchPipeGroupCommand
|
||||
|
||||
# Set up command lists
|
||||
self.archtools = ["Arch_Wall", "Arch_StructureTools", "Arch_Rebar",
|
||||
"Arch_CurtainWall","Arch_BuildingPart",
|
||||
"Arch_Project", "Arch_Site", "Arch_Building",
|
||||
"Arch_Floor", "Arch_Reference",
|
||||
"Arch_Window", "Arch_Roof", "Arch_AxisTools",
|
||||
"Arch_SectionPlane", "Arch_Space", "Arch_Stairs",
|
||||
"Arch_PanelTools", "Arch_Equipment",
|
||||
"Arch_Frame", "Arch_Fence", "Arch_Truss",
|
||||
"Arch_Profile","Arch_MaterialTools",
|
||||
"Arch_Schedule", "Arch_PipeTools",
|
||||
"Arch_CutPlane", "Arch_CutLine",
|
||||
"Arch_Add", "Arch_Remove", "Arch_Survey"]
|
||||
self.utilities = ["Arch_Component", "Arch_CloneComponent",
|
||||
"Arch_SplitMesh", "Arch_MeshToShape",
|
||||
"Arch_SelectNonSolidMeshes", "Arch_RemoveShape",
|
||||
"Arch_CloseHoles", "Arch_MergeWalls", "Arch_Check",
|
||||
"Arch_ToggleIfcBrepFlag", "Arch_3Views",
|
||||
"Arch_IfcSpreadsheet", "Arch_ToggleSubs"]
|
||||
self.archtools = ["Arch_Wall",
|
||||
([QT_TRANSLATE_NOOP("Arch", "Structure tools")],
|
||||
list(stru_group.GetCommands(stru_group))), # tuple len=2: submenu
|
||||
("Arch_StructureTools", ), # tuple len=1: toolbar flyout
|
||||
"Arch_Rebar_Submenu", # will be replaced or removed
|
||||
"Arch_Rebar", # may be replaced
|
||||
"Arch_CurtainWall",
|
||||
"Arch_BuildingPart",
|
||||
"Arch_Project",
|
||||
"Arch_Site",
|
||||
"Arch_Building",
|
||||
"Arch_Floor",
|
||||
"Arch_Reference",
|
||||
"Arch_Window",
|
||||
"Arch_Roof",
|
||||
([QT_TRANSLATE_NOOP("Arch", "Axis tools")],
|
||||
list(axis_group.GetCommands(axis_group))),
|
||||
("Arch_AxisTools", ),
|
||||
"Arch_SectionPlane",
|
||||
"Arch_Space",
|
||||
"Arch_Stairs",
|
||||
([QT_TRANSLATE_NOOP("Arch", "Panel tools")],
|
||||
list(pan_group.GetCommands(pan_group))),
|
||||
("Arch_PanelTools", ),
|
||||
"Arch_Equipment",
|
||||
"Arch_Frame",
|
||||
"Arch_Fence",
|
||||
"Arch_Truss",
|
||||
"Arch_Profile",
|
||||
([QT_TRANSLATE_NOOP("Arch", "Material tools")],
|
||||
list(mat_group.GetCommands(mat_group))),
|
||||
("Arch_MaterialTools", ),
|
||||
"Arch_Schedule",
|
||||
([QT_TRANSLATE_NOOP("Arch", "Pipe tools")],
|
||||
list(pipe_group.GetCommands(pipe_group))),
|
||||
("Arch_PipeTools", ),
|
||||
"Arch_CutPlane",
|
||||
"Arch_CutLine",
|
||||
"Arch_Add",
|
||||
"Arch_Remove",
|
||||
"Arch_Survey"]
|
||||
|
||||
self.utilities = ["Arch_Component",
|
||||
"Arch_CloneComponent",
|
||||
"Arch_SplitMesh",
|
||||
"Arch_MeshToShape",
|
||||
"Arch_SelectNonSolidMeshes",
|
||||
"Arch_RemoveShape",
|
||||
"Arch_CloseHoles",
|
||||
"Arch_MergeWalls",
|
||||
"Arch_Check",
|
||||
"Arch_ToggleIfcBrepFlag",
|
||||
"Arch_3Views",
|
||||
"Arch_IfcSpreadsheet",
|
||||
"Arch_ToggleSubs"]
|
||||
|
||||
# Add the rebar tools from the Reinforcement addon, if available
|
||||
try:
|
||||
import RebarTools
|
||||
except Exception:
|
||||
del self.archtools[3] # remove "Arch_Rebar_Submenu"
|
||||
pass
|
||||
else:
|
||||
class RebarGroupCommand:
|
||||
@@ -97,42 +143,58 @@ class ArchWorkbench(FreeCADGui.Workbench):
|
||||
def IsActive(self):
|
||||
return not FreeCAD.ActiveDocument is None
|
||||
FreeCADGui.addCommand('Arch_RebarTools', RebarGroupCommand())
|
||||
self.archtools[2] = "Arch_RebarTools"
|
||||
self.archtools[3] = ([QT_TRANSLATE_NOOP("Arch", "Rebar tools")],
|
||||
RebarTools.RebarCommands + ["Arch_Rebar"])
|
||||
self.archtools[4] = ("Arch_RebarTools", )
|
||||
|
||||
# Set up Draft command lists
|
||||
import draftutils.init_tools as it
|
||||
self.draft_drawing_commands = it.get_draft_drawing_commands()
|
||||
self.draft_annotation_commands = it.get_draft_annotation_commands()
|
||||
self.draft_modification_commands = it.get_draft_modification_commands()
|
||||
self.draft_utility_commands = it.get_draft_utility_commands_menu()
|
||||
self.draft_context_commands = it.get_draft_context_commands()
|
||||
self.draft_line_commands = it.get_draft_line_commands()
|
||||
self.draft_utility_commands = it.get_draft_utility_commands()
|
||||
|
||||
# Set up toolbars
|
||||
self.appendToolbar(QT_TRANSLATE_NOOP("Workbench", "Arch tools"), self.archtools)
|
||||
self.appendToolbar(QT_TRANSLATE_NOOP("Draft", "Draft creation tools"), self.draft_drawing_commands)
|
||||
self.appendToolbar(QT_TRANSLATE_NOOP("Draft", "Draft annotation tools"), self.draft_annotation_commands)
|
||||
self.appendToolbar(QT_TRANSLATE_NOOP("Draft", "Draft modification tools"), self.draft_modification_commands)
|
||||
it.init_toolbar(self,
|
||||
QT_TRANSLATE_NOOP("Workbench", "Arch tools"),
|
||||
self.archtools)
|
||||
it.init_toolbar(self,
|
||||
QT_TRANSLATE_NOOP("Draft", "Draft creation tools"),
|
||||
self.draft_drawing_commands)
|
||||
it.init_toolbar(self,
|
||||
QT_TRANSLATE_NOOP("Draft", "Draft annotation tools"),
|
||||
self.draft_annotation_commands)
|
||||
it.init_toolbar(self,
|
||||
QT_TRANSLATE_NOOP("Draft", "Draft modification tools"),
|
||||
self.draft_modification_commands)
|
||||
|
||||
# Set up menus
|
||||
self.appendMenu([QT_TRANSLATE_NOOP("arch", "&Arch"),
|
||||
QT_TRANSLATE_NOOP("arch", "Utilities")],
|
||||
self.utilities)
|
||||
self.appendMenu(QT_TRANSLATE_NOOP("arch", "&Arch"), self.archtools)
|
||||
it.init_menu(self,
|
||||
[QT_TRANSLATE_NOOP("Arch", "&Arch"),
|
||||
QT_TRANSLATE_NOOP("Arch", "Utilities")],
|
||||
self.utilities)
|
||||
it.init_menu(self,
|
||||
[QT_TRANSLATE_NOOP("Arch", "&Arch")],
|
||||
self.archtools)
|
||||
it.init_menu(self,
|
||||
[QT_TRANSLATE_NOOP("Arch", "&Draft"),
|
||||
QT_TRANSLATE_NOOP("Arch", "Creation")],
|
||||
self.draft_drawing_commands)
|
||||
it.init_menu(self,
|
||||
[QT_TRANSLATE_NOOP("Arch", "&Draft"),
|
||||
QT_TRANSLATE_NOOP("Arch", "Annotation")],
|
||||
self.draft_annotation_commands)
|
||||
it.init_menu(self,
|
||||
[QT_TRANSLATE_NOOP("Arch", "&Draft"),
|
||||
QT_TRANSLATE_NOOP("Arch", "Modification")],
|
||||
self.draft_modification_commands)
|
||||
it.init_menu(self,
|
||||
[QT_TRANSLATE_NOOP("Arch", "&Draft"),
|
||||
QT_TRANSLATE_NOOP("Arch", "Utilities")],
|
||||
self.draft_utility_commands)
|
||||
|
||||
self.appendMenu([QT_TRANSLATE_NOOP("arch", "&Draft"),
|
||||
QT_TRANSLATE_NOOP("arch", "Creation")],
|
||||
self.draft_drawing_commands)
|
||||
self.appendMenu([QT_TRANSLATE_NOOP("arch", "&Draft"),
|
||||
QT_TRANSLATE_NOOP("arch", "Annotation")],
|
||||
self.draft_annotation_commands)
|
||||
self.appendMenu([QT_TRANSLATE_NOOP("arch", "&Draft"),
|
||||
QT_TRANSLATE_NOOP("arch", "Modification")],
|
||||
self.draft_modification_commands)
|
||||
self.appendMenu([QT_TRANSLATE_NOOP("arch", "&Draft"),
|
||||
QT_TRANSLATE_NOOP("arch", "Utilities")],
|
||||
self.draft_utility_commands
|
||||
+ self.draft_context_commands)
|
||||
FreeCADGui.addIconPath(":/icons")
|
||||
FreeCADGui.addLanguagePath(":/translations")
|
||||
|
||||
|
||||
@@ -95,22 +95,38 @@ class DraftWorkbench(FreeCADGui.Workbench):
|
||||
self.drawing_commands = it.get_draft_drawing_commands()
|
||||
self.annotation_commands = it.get_draft_annotation_commands()
|
||||
self.modification_commands = it.get_draft_modification_commands()
|
||||
self.utility_commands_menu = it.get_draft_utility_commands_menu()
|
||||
self.utility_commands_toolbar = it.get_draft_utility_commands_toolbar()
|
||||
self.context_commands = it.get_draft_context_commands()
|
||||
self.line_commands = it.get_draft_line_commands()
|
||||
self.utility_commands = it.get_draft_utility_commands()
|
||||
self.utility_small = it.get_draft_small_commands()
|
||||
|
||||
# Set up toolbars
|
||||
self.appendToolbar(QT_TRANSLATE_NOOP("Draft", "Draft creation tools"), self.drawing_commands)
|
||||
self.appendToolbar(QT_TRANSLATE_NOOP("Draft", "Draft annotation tools"), self.annotation_commands)
|
||||
self.appendToolbar(QT_TRANSLATE_NOOP("Draft", "Draft modification tools"), self.modification_commands)
|
||||
self.appendToolbar(QT_TRANSLATE_NOOP("Draft", "Draft utility tools"), self.utility_small)
|
||||
it.init_toolbar(self,
|
||||
QT_TRANSLATE_NOOP("Draft", "Draft creation tools"),
|
||||
self.drawing_commands)
|
||||
it.init_toolbar(self,
|
||||
QT_TRANSLATE_NOOP("Draft", "Draft annotation tools"),
|
||||
self.annotation_commands)
|
||||
it.init_toolbar(self,
|
||||
QT_TRANSLATE_NOOP("Draft", "Draft modification tools"),
|
||||
self.modification_commands)
|
||||
it.init_toolbar(self,
|
||||
QT_TRANSLATE_NOOP("Draft", "Draft utility tools"),
|
||||
self.utility_commands_toolbar)
|
||||
|
||||
# Set up menus
|
||||
self.appendMenu(QT_TRANSLATE_NOOP("Draft", "&Drafting"), self.drawing_commands)
|
||||
self.appendMenu(QT_TRANSLATE_NOOP("Draft", "&Annotation"), self.annotation_commands)
|
||||
self.appendMenu(QT_TRANSLATE_NOOP("Draft", "&Modification"), self.modification_commands)
|
||||
self.appendMenu(QT_TRANSLATE_NOOP("Draft", "&Utilities"), self.utility_commands + self.context_commands)
|
||||
it.init_menu(self,
|
||||
[QT_TRANSLATE_NOOP("Draft", "&Drafting")],
|
||||
self.drawing_commands)
|
||||
it.init_menu(self,
|
||||
[QT_TRANSLATE_NOOP("Draft", "&Annotation")],
|
||||
self.annotation_commands)
|
||||
it.init_menu(self,
|
||||
[QT_TRANSLATE_NOOP("Draft", "&Modification")],
|
||||
self.modification_commands)
|
||||
it.init_menu(self,
|
||||
[QT_TRANSLATE_NOOP("Draft", "&Utilities")],
|
||||
self.utility_commands_menu)
|
||||
|
||||
# Set up preferences pages
|
||||
if hasattr(FreeCADGui, "draftToolBar"):
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# ***************************************************************************
|
||||
# * (c) 2020 Eliud Cabrera Castillo <e.cabrera-castillo@tum.de> *
|
||||
# * Copyright (c) 2020 Eliud Cabrera Castillo <e.cabrera-castillo@tum.de> *
|
||||
# * Copyright (c) 2021 FreeCAD Developers *
|
||||
# * *
|
||||
# * This file is part of the FreeCAD CAx development system. *
|
||||
# * *
|
||||
@@ -20,13 +21,9 @@
|
||||
# * USA *
|
||||
# * *
|
||||
# ***************************************************************************
|
||||
"""Provides lists of commands in order to set up toolbars of the workbench.
|
||||
|
||||
This module returns lists of commands, so that the toolbars
|
||||
can be initialized by Draft, and by other workbenches.
|
||||
These commands should be defined in `DraftTools`, and in the individual
|
||||
modules in `draftguitools`.
|
||||
"""
|
||||
"""Provides functions and lists of commands to set up Draft menus and toolbars."""
|
||||
|
||||
## @package init_tools
|
||||
# \ingroup draftutils
|
||||
# \brief Provides lists of commands to set up toolbars of the workbench.
|
||||
@@ -40,137 +37,188 @@ from PySide.QtCore import QT_TRANSLATE_NOOP
|
||||
|
||||
def get_draft_drawing_commands():
|
||||
"""Return the drawing commands list."""
|
||||
return ["Draft_Line", "Draft_Wire", "Draft_Fillet",
|
||||
"Draft_ArcTools",
|
||||
"Draft_Circle", "Draft_Ellipse", "Draft_Rectangle",
|
||||
"Draft_Polygon", "Draft_BSpline", "Draft_BezierTools",
|
||||
"Draft_Point", "Draft_Facebinder",
|
||||
"Draft_ShapeString","Draft_Hatch"]
|
||||
from draftguitools import gui_arcs
|
||||
from draftguitools import gui_beziers
|
||||
arc_group = gui_arcs.ArcGroup
|
||||
bez_group = gui_beziers.BezierGroup
|
||||
|
||||
return ["Draft_Line",
|
||||
"Draft_Wire",
|
||||
"Draft_Fillet",
|
||||
([QT_TRANSLATE_NOOP("Draft", "Arc tools")],
|
||||
list(arc_group.GetCommands(arc_group))), # tuple len=2: submenu
|
||||
("Draft_ArcTools", ), # tuple len=1: toolbar flyout
|
||||
"Draft_Circle",
|
||||
"Draft_Ellipse",
|
||||
"Draft_Rectangle",
|
||||
"Draft_Polygon",
|
||||
"Draft_BSpline",
|
||||
([QT_TRANSLATE_NOOP("Draft", "Bezier tools")],
|
||||
list(bez_group.GetCommands(bez_group))),
|
||||
("Draft_BezierTools", ),
|
||||
"Draft_Point",
|
||||
"Draft_Facebinder",
|
||||
"Draft_ShapeString",
|
||||
"Draft_Hatch"]
|
||||
|
||||
|
||||
def get_draft_annotation_commands():
|
||||
"""Return the annotation commands list."""
|
||||
return ["Draft_Text", "Draft_Dimension",
|
||||
"Draft_Label", "Draft_AnnotationStyleEditor"]
|
||||
|
||||
|
||||
def get_draft_array_commands():
|
||||
"""Return the array commands list."""
|
||||
return ["Draft_ArrayTools"]
|
||||
|
||||
|
||||
def get_draft_small_commands():
|
||||
"""Return a list with only some utilities."""
|
||||
return ["Draft_Layer",
|
||||
"Draft_WorkingPlaneProxy",
|
||||
"Draft_ToggleDisplayMode",
|
||||
"Draft_AddNamedGroup",
|
||||
"Draft_AddToGroup",
|
||||
"Draft_SelectGroup",
|
||||
"Draft_AddConstruction"]
|
||||
return ["Draft_Text",
|
||||
"Draft_Dimension",
|
||||
"Draft_Label",
|
||||
"Draft_AnnotationStyleEditor"]
|
||||
|
||||
|
||||
def get_draft_modification_commands():
|
||||
"""Return the modification commands list."""
|
||||
lst = ["Draft_Move", "Draft_Rotate",
|
||||
"Draft_Scale", "Draft_Mirror",
|
||||
"Draft_Offset", "Draft_Trimex",
|
||||
"Draft_Stretch",
|
||||
"Separator",
|
||||
"Draft_Clone"]
|
||||
lst += get_draft_array_commands()
|
||||
lst += ["Separator",
|
||||
"Draft_Edit", "Draft_SubelementHighlight",
|
||||
from draftguitools import gui_arrays
|
||||
arr_group = gui_arrays.ArrayGroup
|
||||
|
||||
return ["Draft_Move",
|
||||
"Draft_Rotate",
|
||||
"Draft_Scale",
|
||||
"Draft_Mirror",
|
||||
"Draft_Offset",
|
||||
"Draft_Trimex",
|
||||
"Draft_Stretch",
|
||||
"Separator",
|
||||
"Draft_Join", "Draft_Split",
|
||||
"Draft_Upgrade", "Draft_Downgrade",
|
||||
"Draft_Clone",
|
||||
([QT_TRANSLATE_NOOP("Draft", "Array tools")],
|
||||
list(arr_group.GetCommands(arr_group))), # tuple len=2: submenu
|
||||
("Draft_ArrayTools", ), # tuple len=1: toolbar flyout
|
||||
"Separator",
|
||||
"Draft_WireToBSpline", "Draft_Draft2Sketch",
|
||||
"Draft_Slope", "Draft_FlipDimension",
|
||||
"Draft_Edit",
|
||||
"Draft_SubelementHighlight",
|
||||
"Separator",
|
||||
"Draft_Join",
|
||||
"Draft_Split",
|
||||
"Draft_Upgrade",
|
||||
"Draft_Downgrade",
|
||||
"Separator",
|
||||
"Draft_WireToBSpline",
|
||||
"Draft_Draft2Sketch",
|
||||
"Draft_Slope",
|
||||
"Draft_FlipDimension",
|
||||
"Separator",
|
||||
"Draft_Shape2DView"]
|
||||
return lst
|
||||
|
||||
|
||||
def get_draft_context_commands():
|
||||
"""Return the context menu commands list."""
|
||||
return ["Draft_ApplyStyle", "Draft_ToggleDisplayMode",
|
||||
"Draft_AddNamedGroup", "Draft_AddToGroup", "Draft_SelectGroup",
|
||||
"Draft_SelectPlane", "Draft_ShowSnapBar",
|
||||
"Draft_ToggleGrid", "Draft_SetStyle"]
|
||||
|
||||
|
||||
def get_draft_line_commands():
|
||||
"""Return the line commands list."""
|
||||
return ["Draft_UndoLine", "Draft_FinishLine",
|
||||
"Draft_CloseLine"]
|
||||
|
||||
|
||||
def get_draft_utility_commands():
|
||||
"""Return the utility commands list."""
|
||||
return ["Draft_Layer",
|
||||
"Draft_Heal",
|
||||
def get_draft_utility_commands_menu():
|
||||
"""Return the utility commands list for the menu."""
|
||||
return ["Draft_SetStyle",
|
||||
"Draft_ApplyStyle",
|
||||
"Separator",
|
||||
"Draft_Layer",
|
||||
"Draft_AddNamedGroup",
|
||||
"Draft_AddToGroup",
|
||||
"Draft_SelectGroup",
|
||||
"Draft_ToggleConstructionMode",
|
||||
"Draft_ToggleContinueMode",
|
||||
"Draft_AddConstruction",
|
||||
"Separator",
|
||||
"Draft_ToggleDisplayMode",
|
||||
"Draft_ToggleGrid",
|
||||
"Draft_SelectPlane",
|
||||
"Draft_WorkingPlaneProxy",
|
||||
"Draft_AddConstruction"]
|
||||
"Separator",
|
||||
"Draft_Heal",
|
||||
"Draft_ToggleContinueMode",
|
||||
"Draft_ShowSnapBar"]
|
||||
|
||||
|
||||
def get_draft_utility_commands_toolbar():
|
||||
"""Return the utility commands list for the toolbar."""
|
||||
return ["Draft_Layer",
|
||||
"Draft_AddNamedGroup",
|
||||
"Draft_AddToGroup",
|
||||
"Draft_SelectGroup",
|
||||
"Draft_AddConstruction",
|
||||
"Draft_ToggleDisplayMode",
|
||||
"Draft_WorkingPlaneProxy"]
|
||||
|
||||
|
||||
def get_draft_snap_commands():
|
||||
"""Return the snapping commands list."""
|
||||
return ['Draft_Snap_Lock',
|
||||
'Draft_Snap_Endpoint', 'Draft_Snap_Midpoint',
|
||||
'Draft_Snap_Center', 'Draft_Snap_Angle',
|
||||
'Draft_Snap_Intersection', 'Draft_Snap_Perpendicular',
|
||||
'Draft_Snap_Extension', 'Draft_Snap_Parallel',
|
||||
'Draft_Snap_Special', 'Draft_Snap_Near',
|
||||
'Draft_Snap_Ortho', 'Draft_Snap_Grid',
|
||||
'Draft_Snap_WorkingPlane', 'Draft_Snap_Dimensions',
|
||||
'Separator', 'Draft_ToggleGrid'
|
||||
]
|
||||
'Draft_Snap_Endpoint',
|
||||
'Draft_Snap_Midpoint',
|
||||
'Draft_Snap_Center',
|
||||
'Draft_Snap_Angle',
|
||||
'Draft_Snap_Intersection',
|
||||
'Draft_Snap_Perpendicular',
|
||||
'Draft_Snap_Extension',
|
||||
'Draft_Snap_Parallel',
|
||||
'Draft_Snap_Special',
|
||||
'Draft_Snap_Near',
|
||||
'Draft_Snap_Ortho',
|
||||
'Draft_Snap_Grid',
|
||||
'Draft_Snap_WorkingPlane',
|
||||
'Draft_Snap_Dimensions',
|
||||
'Separator', 'Draft_ToggleGrid']
|
||||
|
||||
|
||||
def init_draft_toolbars(workbench):
|
||||
"""Initialize the Draft toolbars.
|
||||
def get_draft_context_commands():
|
||||
"""Return the context menu commands list."""
|
||||
return ["Draft_ApplyStyle",
|
||||
"Draft_ToggleDisplayMode",
|
||||
"Draft_AddNamedGroup",
|
||||
"Draft_AddToGroup",
|
||||
"Draft_SelectGroup",
|
||||
"Draft_SelectPlane",
|
||||
"Draft_ShowSnapBar",
|
||||
"Draft_ToggleGrid",
|
||||
"Draft_SetStyle"]
|
||||
|
||||
|
||||
def get_draft_line_commands():
|
||||
"""Return the line commands list."""
|
||||
return ["Draft_UndoLine",
|
||||
"Draft_FinishLine",
|
||||
"Draft_CloseLine"]
|
||||
|
||||
|
||||
def init_toolbar(workbench, toolbar, cmd_list):
|
||||
"""Initialize a toolbar.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
workbench: Gui.Workbench
|
||||
The workbench class on which the commands have to be available.
|
||||
If called from within the `Initialize` method
|
||||
of a workbench class defined inside `InitGui.py`,
|
||||
it can be used as `setup_draft_toolbars(self)`.
|
||||
The workbench. The commands from cmd_list must be available.
|
||||
|
||||
toolbar: string
|
||||
The name of the toolbar.
|
||||
|
||||
cmd_list: list of strings or list of strings and tuples
|
||||
See f.e. the return value of get_draft_drawing_commands.
|
||||
"""
|
||||
workbench.appendToolbar(QT_TRANSLATE_NOOP("Draft",
|
||||
"Draft creation tools"),
|
||||
get_draft_drawing_commands())
|
||||
workbench.appendToolbar(QT_TRANSLATE_NOOP("Draft",
|
||||
"Draft annotation tools"),
|
||||
get_draft_annotation_commands())
|
||||
workbench.appendToolbar(QT_TRANSLATE_NOOP("Draft",
|
||||
"Draft modification tools"),
|
||||
get_draft_modification_commands())
|
||||
for cmd in cmd_list:
|
||||
if isinstance(cmd, tuple):
|
||||
if len(cmd) == 1:
|
||||
workbench.appendToolbar(toolbar, [cmd[0]])
|
||||
else:
|
||||
workbench.appendToolbar(toolbar, [cmd])
|
||||
|
||||
|
||||
def init_draft_menus(workbench):
|
||||
"""Initialize the Draft menus.
|
||||
def init_menu(workbench, menu_list, cmd_list):
|
||||
"""Initialize a menu.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
workbench: Gui.Workbench
|
||||
The workbench class on which the commands have to be available.
|
||||
If called from within the `Initialize` method
|
||||
of a workbench class defined inside `InitGui.py`,
|
||||
it can be used as `setup_draft_menus(self)`.
|
||||
The workbench. The commands from cmd_list must be available.
|
||||
|
||||
menu_list: list of strings
|
||||
The main and optional submenu(s). The commands, and additonal
|
||||
submenus (if any), are added to the last (sub)menu in the list.
|
||||
|
||||
cmd_list: list of strings or list of strings and tuples
|
||||
See f.e. the return value of get_draft_drawing_commands.
|
||||
"""
|
||||
workbench.appendMenu(QT_TRANSLATE_NOOP("Draft", "&Drafting"),
|
||||
get_draft_drawing_commands())
|
||||
workbench.appendMenu(QT_TRANSLATE_NOOP("Draft", "&Annotation"),
|
||||
get_draft_annotation_commands())
|
||||
workbench.appendMenu(QT_TRANSLATE_NOOP("Draft", "&Modification"),
|
||||
get_draft_modification_commands())
|
||||
workbench.appendMenu(QT_TRANSLATE_NOOP("Draft", "&Utilities"),
|
||||
get_draft_utility_commands()
|
||||
+ get_draft_context_commands())
|
||||
for cmd in cmd_list:
|
||||
if isinstance(cmd, tuple):
|
||||
if len(cmd) == 2:
|
||||
workbench.appendMenu(menu_list + cmd[0], cmd[1])
|
||||
else:
|
||||
workbench.appendMenu(menu_list, [cmd])
|
||||
|
||||
## @}
|
||||
|
||||
Reference in New Issue
Block a user