24 #include <QtCore/QString>
51 makVrv::DtMenuPath::operator=(rhs);
57 makVrv::DtMenuPath::operator=(rhs);
67 const std::string& path()
const
82 void strip(
const std::string& str1,
const std::string& str2)
84 QString str = myPath.c_str();
85 str.replace(str1.c_str(), str2.c_str());
86 myPath = str.toLatin1().constData();
107 makVrv::DtToolbarPath::operator=(rhs);
113 makVrv::DtToolbarPath::operator=(rhs);
123 const std::string& path()
const
146 : makVrv::DtMenuConfiguration()
152 : makVrv::DtMenuConfiguration(c)
162 virtual bool isUnique(
const std::string&)
const;
166 return myMenuPaths.size();
169 void convert(
const std::string& str1,
const std::string& str2)
171 MenuPathSet::iterator curIter = myMenuPaths.begin();
172 for ( ; curIter != myMenuPaths.end(); curIter++)
174 if (curIter->isMenu() || curIter->isAbsolutePath())
181 MenuPathOrderMap::const_iterator iter = myMenuOrder.begin();
182 for ( ; iter != myMenuOrder.end(); iter++)
184 if (iter->first.isMenu() || iter->first.isAbsolutePath())
187 path.
strip(str1, str2);
189 newMap[path] = iter->second;
193 newMap[iter->first] = iter->second;
196 myMenuOrder = newMap;
225 virtual void addMenuItemAfter(
const std::string& menuItem,
const std::string& after);
228 virtual void removeMenuItem(
const std::string& menuItem);
233 virtual void addMenuItemBefore(
const std::string& menuItem,
const std::string& before);
239 virtual std::string mainMenu()
const;
253 myMakeChangesTo.push_back(c);
256 void clearMakeChangesTo()
258 myMakeChangesTo.clear();
263 return myPathsRemoved;
271 void setProtected(
const std::string& p,
bool b)
275 myIsProtected[p] = b;
279 std::map<std::string, bool>::iterator iter = myIsProtected.find(p);
280 if (iter != myIsProtected.end())
282 myIsProtected.erase(iter);
287 bool isProtected(
const std::string& p)
const
289 return (myIsProtected.find(p) != myIsProtected.end());
294 return (myPathsRemoved.find(p) != myPathsRemoved.end());
300 virtual void reworkRelativeOrder();
317 : makVrv::DtMenuManager()
318 , myDeleteMenus(false)
328 void setDeleteMenus(
bool b)
333 bool deleteMenus()
const
335 return myDeleteMenus;
340 if (myDeleteMenus) cleanup();
345 std::string findMenuPath(
QMenu*)
const;
346 std::string findItemPath(
QAction*)
const;
362 myMenuManager.clear();
364 if (!myDeleteReferences)
366 myMenuBuilders.clear();
367 myMenuItemBuilders.clear();
375 void setDeleteReferences(
bool b)
377 myDeleteReferences = b;
380 bool deleteReferences()
const
382 return myDeleteReferences;
385 void setLocalOnly(
bool b)
390 void setLocalMenuManager(
bool b)
392 myLocalMenuManager = b;
402 bool localOnly()
const
412 if (myLocalMenuManager)
414 return myMenuManager;
418 return DtQtMenuAssembler::menuManager();
424 if (myLocalMenuManager)
426 return myMenuManager;
437 return menuManager().findMenu(path);
442 return menuManager().findMenuItem(path);
449 virtual void unregisterMenu(
makVrv::DtMenu*,
bool deleteBuilder =
true);
459 virtual void merge(
const DtQtMenuAssembler::MenuBuilderMap&);
463 virtual void merge(
const DtQtMenuAssembler::MenuItemBuilderMap&);
467 myMakeChangesTo.push_back(c);
470 void clearMakeChangesTo()
472 myMakeChangesTo.clear();
475 virtual QMenuBar* menuBar()
477 if (myLocalOnly)
return 0;
481 virtual QWidget* menuWindow()
483 if (myLocalOnly)
return 0;
488 void setCreateSubMenusForMissingMenus(
bool b)
490 myCreateSubMenusForMissingMenus = b;
522 return myConfiguration;
541 virtual void createSimpleMenu(std::string menuText,
makVrv::DtMenuPath menuIdPath,
int weight = -1);
545 virtual void createSimpleMenuItem(std::string itemText,
makVrv::DtMenuPath itemIdPath,
578 return myConfiguration;