20 #include <vrvUtil/DtSignalConnectionManager.h>
22 #include <vrvCoreQt/DtMenu.h>
24 #include <QtCore/QObject>
25 #include <QtGui/QMenu>
27 #include <matrix/vlVector.h>
33 class DtMenuConfiguration;
45 class DtVrfBackendState;
60 bool useGlobalMenuManager =
false);
67 virtual void setupMenu(
makVrf::DtMenu*,
const makVrv::DtMenuConfiguration& initialCreateMenuConfiguration = makVrv::DtMenuConfiguration());
73 virtual bool signalCreation()
const;
77 boost::signal<void (const DtEntityType&, std::string, int, const std::vector<DtVector>&,double,
bool,
bool )> signal_createObject;
78 virtual void slot_createObject(
const DtEntityType&, std::string,
int,
const std::vector<DtVector>&,
double,
bool,
bool );
81 virtual void slot_creationStopped();
84 virtual DtEntityType nameToType(
const QString&)
const;
92 virtual void setupConnections();
94 virtual void buildCreationMenu(
const DtList& list,
96 const makVrv::DtMenuPath& rootr);
101 virtual void clearMenu();
109 virtual bool canCreate(
QAction*)
const;
116 virtual void recreateMenu();
125 virtual std::string cleanEntry(
const std::string&)
const;
129 const std::string& keywords,
const std::string& menuIcon,
const std::string& toolTip)
const;
131 virtual void addMappedActionsFrom(
QMenu*);
134 virtual bool updateSubMenuVisibilityState(
QMenu*);
137 virtual void onCreateObjectFromMenu(
const DtEntityMapperKey&,
int,
const std::string&);
140 virtual void enableMenu();
142 virtual void createMenuDestroyed();
170 , path(makVrv::DtMenuPath::empty())
171 , related(makVrv::DtMenuPath::empty())
175 makVrv::DtMenuPath path;
195 virtual QMenu* createMenu(makVrv::DtDe&,
QWidget* parent);
202 virtual void setUseGlobalMenuManager(
bool);
203 virtual bool useGlobalMenuManager()
const;
219 void setTearOffsEnabled(
bool b)
221 myTearOffsEnabled = b;
227 virtual DtEntityType nameToType(
const QString&)
const;
232 bool tearOffsEnabled()
const
234 return myTearOffsEnabled;
238 virtual void setSignalCreation(
bool);
239 bool signalCreation()
const
241 return mySignalCreation;
247 return myAdditionalItems;
252 return myAdditionalItems;
263 virtual bool removePaletteItems()
const
265 return myRemovePaletteItems;
269 virtual void setRemovePaletteItems(
bool b)
271 myRemovePaletteItems = b;
275 boost::signal<void (const DtEntityType&, std::string, int, const std::vector<DtVector>&)> signal_createObject;
279 virtual void createMenuConfiguration(makVrv::DtDe& de);
302 virtual void addItemToCreate(
const makVrv::DtMenuPath& path,
const DtEntityMapperKey& key,
306 virtual void removeItemToCreate(
const makVrv::DtMenuPath&);
309 virtual void addItemToCreateBefore(
const makVrv::DtMenuPath& path,
313 virtual void addItemToCreateAfter(
const makVrv::DtMenuPath& path,
317 virtual void slot_onCreateObject(
const DtEntityType&, std::string,
int,
const std::vector<DtVector>&);
343 virtual QMenu* createMenu( makVrv::DtDe& de,
QWidget* parent );