#include <XGUI_ObjectsBrowser.h>
#include <XGUI_OperationMgr.h>
#include <XGUI_Displayer.h>
+#include <XGUI_MenuMgr.h>
#include <ModuleBase_Operation.h>
#include <ModuleBase_Preferences.h>
return new SHAPERGUI_DataModel(this);
}
-QAction* SHAPERGUI::addFeature(const QString& theWBName, const ActionInfo& theInfo)
+QAction* SHAPERGUI::addFeature(const QString& theWBName, const ActionInfo& theInfo,
+ const bool isAddSeparator)
{
return addFeature(theWBName,
theInfo.id,
theInfo.toolTip,
theInfo.icon,
theInfo.shortcut,
- theInfo.checkable);
+ theInfo.checkable,
+ isAddSeparator);
}
//******************************************************
QAction* SHAPERGUI::addFeature(const QString& theWBName, const QString& theId,
- const QString& theTitle, const QString& theTip,
- const QIcon& theIcon, const QKeySequence& theKeys,
- bool isCheckable)
+ const QString& theTitle, const QString& theTip,
+ const QIcon& theIcon, const QKeySequence& theKeys,
+ bool isCheckable, const bool isAddSeparator)
{
static QString aLastTool = "";
static int aNb = 0;
}
aNb++;
- int aMenu = createMenu(theWBName, -1, -1, 50);
- int aTool = createTool(theWBName, theWBName);
-
int aId = myActionsList.size();
myActionsList.append(theId);
SUIT_Desktop* aDesk = application()->desktop();
QAction* aAction = createAction(aId, theTip, theIcon, theTitle, theTip, aKeys, aDesk,
isCheckable);
aAction->setData(theId);
- int aItemId = createMenu(aId, aMenu, -1, 10);
- int aToolId = createTool(aId, aTool);
+
+ int aWBMenu = createMenu(theWBName, -1, -1, 50/*10-Window, 1000 - Help*/);
+ int aItemId = createMenu(aId, aWBMenu);
+ if (isAddSeparator)
+ createMenu(separator(), aWBMenu);
+
+ int aWBTool = createTool(theWBName, theWBName);
+ int aToolId = createTool(aId, aWBTool);
+ if (isAddSeparator)
+ createTool(separator(), aWBTool);
return aAction;
}
}
QAction* SHAPERGUI::addFeatureOfNested(const QString& theWBName,
- const ActionInfo& theInfo,
- const QList<QAction*>& theNestedActions)
+ const ActionInfo& theInfo,
+ const QList<QAction*>& theNestedActions)
{
- int aMenu = createMenu(theWBName, -1, -1, 50);
- int aTool = createTool(theWBName, theWBName);
-
- int aId = myActionsList.size();
myActionsList.append(theInfo.id);
SUIT_Desktop* aDesk = application()->desktop();
SHAPERGUI_NestedButton* anAction = new SHAPERGUI_NestedButton(aDesk, theNestedActions);
anAction->setShortcut(theInfo.shortcut);
anAction->setFont(theInfo.font);
- //int aItemId = createMenu(aId, aMenu, -1, 10);
- int aToolId = createTool(anAction, aTool, aId);
+ int aWBMenu = createMenu(theWBName, -1, -1, 50);
+ int aItemId = createMenu(anAction, aWBMenu);
+ createMenu(separator(), aWBMenu); /// nested action is always separated of others
+
+ int aWBTool = createTool(theWBName, theWBName);
+ int aToolId = createTool(anAction, aWBTool);
+ createTool(separator(), aWBTool); /// nested action is always separated of others
return anAction;
}
if (aCmd && myActionsList.contains(aCmd->data().toString()))
aActions.append(aCmd);
}
- return aActions;
-}
-//******************************************************
-QStringList SHAPERGUI::commandIdList() const
-{
- return myActionsList;
+ return aActions;
}
//******************************************************
return application()->desktop();
}
-//******************************************************
-QString SHAPERGUI::commandId(const QAction* theCmd) const
-{
- int aId = actionId(theCmd);
- if (aId < myActionsList.size())
- return myActionsList[aId];
- return QString();
-}
-
-//******************************************************
-QAction* SHAPERGUI::command(const QString& theId) const
-{
- int aId = myActionsList.indexOf(theId);
- if ((aId != -1) && (aId < myActionsList.size())) {
- return action(aId);
- }
- return 0;
-}
-
void SHAPERGUI::setFeatureInfo(const QString& theFeatureId,
const std::shared_ptr<Config_FeatureMessage>& theMessage)
{
{
return workshop()->operationMgr()->abortAllOperations();
}
+
+void SHAPERGUI::createFeatureActions()
+{
+ myWorkshop->menuMgr()->createFeatureActions();
+}