23 #include <QtCore/QString>
50 makVrv::DtMenuPath::operator=(rhs);
56 makVrv::DtMenuPath::operator=(rhs);
66 const std::string& path()
const
81 void strip(
const std::string& str1,
const std::string& str2)
83 QString str = myPath.c_str();
84 str.replace(str1.c_str(), str2.c_str());
85 myPath = str.toLatin1().constData();
106 makVrv::DtToolbarPath::operator=(rhs);
112 makVrv::DtToolbarPath::operator=(rhs);
122 const std::string& path()
const
145 : makVrv::DtMenuConfiguration()
151 : makVrv::DtMenuConfiguration(c)
161 virtual bool isUnique(
const std::string&)
const;
165 return myMenuPaths.size();
168 void convert(
const std::string& str1,
const std::string& str2)
170 MenuPathSet::iterator curIter = myMenuPaths.begin();
171 for ( ; curIter != myMenuPaths.end(); curIter++)
173 if (curIter->isMenu() || curIter->isAbsolutePath())
180 MenuPathOrderMap::const_iterator iter = myMenuOrder.begin();
181 for ( ; iter != myMenuOrder.end(); iter++)
183 if (iter->first.isMenu() || iter->first.isAbsolutePath())
186 path.
strip(str1, str2);
188 newMap[path] = iter->second;
192 newMap[iter->first] = iter->second;
195 myMenuOrder = newMap;
224 virtual void addMenuItemAfter(
const std::string& menuItem,
const std::string& after);
227 virtual void removeMenuItem(
const std::string& menuItem);
232 virtual void addMenuItemBefore(
const std::string& menuItem,
const std::string& before);
238 virtual std::string mainMenu()
const;
249 myMakeChangesTo.push_back(c);
252 void clearMakeChangesTo()
254 myMakeChangesTo.clear();
259 return myPathsRemoved;
267 void setProtected(
const std::string& p,
bool b)
271 myIsProtected[p] = b;
275 std::map<std::string, bool>::iterator iter = myIsProtected.find(p);
276 if (iter != myIsProtected.end())
278 myIsProtected.erase(iter);
283 bool isProtected(
const std::string& p)
const
285 return (myIsProtected.find(p) != myIsProtected.end());
290 return (myPathsRemoved.find(p) != myPathsRemoved.end());
296 virtual void reworkRelativeOrder();
310 : makVrv::DtMenuManager()
311 , myDeleteMenus(false)
321 void setDeleteMenus(
bool b)
326 bool deleteMenus()
const
328 return myDeleteMenus;
333 if (myDeleteMenus) cleanup();
338 std::string findMenuPath(
QMenu*)
const;
339 std::string findItemPath(
QAction*)
const;
355 myMenuManager.clear();
357 if (!myDeleteReferences)
359 myMenuBuilders.clear();
360 myMenuItemBuilders.clear();
368 void setDeleteReferences(
bool b)
370 myDeleteReferences = b;
373 bool deleteReferences()
const
375 return myDeleteReferences;
378 void setLocalOnly(
bool b)
383 bool localOnly()
const
393 return myMenuManager;
398 return myMenuManager;
404 return menuManager().findMenu(path);
409 return menuManager().findMenuItem(path);
416 virtual void unregisterMenu(
makVrv::DtMenu*,
bool deleteBuilder =
true);
426 virtual void merge(
const DtQtMenuAssembler::MenuBuilderMap&);
430 virtual void merge(
const DtQtMenuAssembler::MenuItemBuilderMap&);
434 myMakeChangesTo.push_back(c);
437 void clearMakeChangesTo()
439 myMakeChangesTo.clear();
442 virtual QMenuBar* menuBar()
444 if (myLocalOnly)
return 0;
450 if (myLocalOnly)
return 0;
455 void setCreateSubMenusForMissingMenus(
bool b)
457 myCreateSubMenusForMissingMenus = b;
484 return myConfiguration;
503 virtual void createSimpleMenu(std::string menuText,
makVrv::DtMenuPath menuIdPath,
int weight = -1);
507 virtual void createSimpleMenuItem(std::string itemText,
makVrv::DtMenuPath itemIdPath,
535 return myConfiguration;