Core: Add a command to add variable sets

This commit is contained in:
Pieter Hijma
2024-03-27 17:32:10 +01:00
parent b5b4b0cba9
commit cb379dbe05
2 changed files with 36 additions and 2 deletions

View File

@@ -34,7 +34,6 @@
#include "Document.h"
#include "ViewProviderDocumentObject.h"
using namespace Gui;
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -126,6 +125,40 @@ bool StdCmdGroup::isActive()
return hasActiveDocument();
}
//===========================================================================
// Std_VarSet
//===========================================================================
DEF_STD_CMD_A(StdCmdVarSet)
StdCmdVarSet::StdCmdVarSet()
: Command("Std_VarSet")
{
sGroup = "Structure";
sMenuText = QT_TR_NOOP("Create a variable set");
sToolTipText = QT_TR_NOOP("A Variable Set is an object that maintains a set of properties to be used as "
"variables.");
sWhatsThis = "Std_VarSet";
sStatusTip = sToolTipText;
sPixmap = "VarSet";
}
void StdCmdVarSet::activated(int iMsg)
{
Q_UNUSED(iMsg);
openCommand(QT_TRANSLATE_NOOP("Command", "Add a variable set"));
std::string VarSetName;
VarSetName = getUniqueObjectName("VarSet");
doCommand(Doc,"App.activeDocument().addObject('App::VarSet','%s')",VarSetName.c_str());
doCommand(Doc, "App.ActiveDocument.getObject('%s').ViewObject.doubleClicked()", VarSetName.c_str());
}
bool StdCmdVarSet::isActive()
{
return hasActiveDocument();
}
namespace Gui {
void CreateStructureCommands()
@@ -134,6 +167,7 @@ void CreateStructureCommands()
rcCmdMgr.addCommand(new StdCmdPart());
rcCmdMgr.addCommand(new StdCmdGroup());
rcCmdMgr.addCommand(new StdCmdVarSet());
}
} // namespace Gui

View File

@@ -822,7 +822,7 @@ ToolBarItem* StdWorkbench::setupToolBars() const
// Structure
auto structure = new ToolBarItem( root );
structure->setCommand("Structure");
*structure << "Std_Part" << "Std_Group" << "Std_LinkActions";
*structure << "Std_Part" << "Std_Group" << "Std_LinkActions" << "Std_VarSet";
// Help
auto help = new ToolBarItem( root );