From 5a2b2304f9f5347f8571a8a48d3136347efbf64d Mon Sep 17 00:00:00 2001 From: Paddle Date: Mon, 4 Sep 2023 18:23:49 +0200 Subject: [PATCH] Split Commands.py so that each command has a file. --- src/Mod/Assembly/CMakeLists.txt | 3 +- src/Mod/Assembly/CommandCreateAssembly.py | 66 +++++++++++++++++++ .../{Commands.py => CommandInsertLink.py} | 30 +-------- src/Mod/Assembly/InitGui.py | 2 +- 4 files changed, 70 insertions(+), 31 deletions(-) create mode 100644 src/Mod/Assembly/CommandCreateAssembly.py rename src/Mod/Assembly/{Commands.py => CommandInsertLink.py} (91%) diff --git a/src/Mod/Assembly/CMakeLists.txt b/src/Mod/Assembly/CMakeLists.txt index 26c1245418..e948f8d502 100644 --- a/src/Mod/Assembly/CMakeLists.txt +++ b/src/Mod/Assembly/CMakeLists.txt @@ -6,7 +6,8 @@ endif(BUILD_GUI) set(Assembly_Scripts Init.py - Commands.py + CommandCreateAssembly.py + CommandInsertLink.py TestAssemblyWorkbench.py Preferences.py AssemblyImport.py diff --git a/src/Mod/Assembly/CommandCreateAssembly.py b/src/Mod/Assembly/CommandCreateAssembly.py new file mode 100644 index 0000000000..59f04d0fb1 --- /dev/null +++ b/src/Mod/Assembly/CommandCreateAssembly.py @@ -0,0 +1,66 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later +# /**************************************************************************** +# * +# Copyright (c) 2023 Ondsel * +# * +# This file is part of FreeCAD. * +# * +# FreeCAD is free software: you can redistribute it and/or modify it * +# under the terms of the GNU Lesser General Public License as * +# published by the Free Software Foundation, either version 2.1 of the * +# License, or (at your option) any later version. * +# * +# FreeCAD is distributed in the hope that it will be useful, but * +# WITHOUT ANY WARRANTY; without even the implied warranty of * +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * +# Lesser General Public License for more details. * +# * +# You should have received a copy of the GNU Lesser General Public * +# License along with FreeCAD. If not, see * +# . * +# * +# ***************************************************************************/ + +import FreeCAD as App + +from PySide.QtCore import QT_TRANSLATE_NOOP + +if App.GuiUp: + import FreeCADGui as Gui + +# translate = App.Qt.translate + +__title__ = "Assembly Command Create Assembly" +__author__ = "Ondsel" +__url__ = "https://www.freecad.org" + + +class CommandCreateAssembly: + def __init__(self): + pass + + def GetResources(self): + return { + "Pixmap": "Geoassembly", + "MenuText": QT_TRANSLATE_NOOP("Assembly_CreateAssembly", "Create Assembly"), + "Accel": "A", + "ToolTip": QT_TRANSLATE_NOOP( + "Assembly_CreateAssembly", + "Create an assembly object in the current document.", + ), + "CmdType": "ForEdit", + } + + def IsActive(self): + return App.ActiveDocument is not None + + def Activated(self): + App.setActiveTransaction("Create assembly") + assembly = App.ActiveDocument.addObject("App::Part", "Assembly") + assembly.Type = "Assembly" + Gui.ActiveDocument.ActiveView.setActiveObject("part", assembly) + App.closeActiveTransaction() + + +if App.GuiUp: + Gui.addCommand("Assembly_CreateAssembly", CommandCreateAssembly()) diff --git a/src/Mod/Assembly/Commands.py b/src/Mod/Assembly/CommandInsertLink.py similarity index 91% rename from src/Mod/Assembly/Commands.py rename to src/Mod/Assembly/CommandInsertLink.py index 73e37a98dd..c3932bf6c8 100644 --- a/src/Mod/Assembly/Commands.py +++ b/src/Mod/Assembly/CommandInsertLink.py @@ -32,7 +32,7 @@ if App.GuiUp: # translate = App.Qt.translate -__title__ = "Assembly Commands" +__title__ = "Assembly Command Insert Link" __author__ = "Ondsel" __url__ = "https://www.freecad.org" @@ -60,33 +60,6 @@ def isDocTemporary(doc): return docTemporary -class CommandCreateAssembly: - def __init__(self): - pass - - def GetResources(self): - return { - "Pixmap": "Geoassembly", - "MenuText": QT_TRANSLATE_NOOP("Assembly_CreateAssembly", "Create Assembly"), - "Accel": "A", - "ToolTip": QT_TRANSLATE_NOOP( - "Assembly_CreateAssembly", - "Create an assembly object in the current document.", - ), - "CmdType": "ForEdit", - } - - def IsActive(self): - return App.ActiveDocument is not None - - def Activated(self): - App.setActiveTransaction("Create assembly") - assembly = App.ActiveDocument.addObject("App::Part", "Assembly") - assembly.Type = "Assembly" - Gui.ActiveDocument.ActiveView.setActiveObject("part", assembly) - App.closeActiveTransaction() - - class CommandInsertLink: def __init__(self): pass @@ -308,5 +281,4 @@ class TaskAssemblyInsertLink(QtCore.QObject): if App.GuiUp: - Gui.addCommand("Assembly_CreateAssembly", CommandCreateAssembly()) Gui.addCommand("Assembly_InsertLink", CommandInsertLink()) diff --git a/src/Mod/Assembly/InitGui.py b/src/Mod/Assembly/InitGui.py index 0e63a6d653..d5333eee80 100644 --- a/src/Mod/Assembly/InitGui.py +++ b/src/Mod/Assembly/InitGui.py @@ -65,7 +65,7 @@ class AssemblyWorkbench(Workbench): # load the builtin modules from PySide import QtCore, QtGui from PySide.QtCore import QT_TRANSLATE_NOOP - import Commands + import CommandCreateAssembly, CommandInsertLink from Preferences import PreferencesPage # from Preferences import preferences