22 #include <QtCore/QString>
49 makVrv::DtMenuPath::operator=(rhs);
55 makVrv::DtMenuPath::operator=(rhs);
65 const std::string& path()
const
80 void strip(
const std::string& str1,
const std::string& str2)
82 QString str = myPath.c_str();
83 str.replace(str1.c_str(), str2.c_str());
84 myPath = str.toLatin1().constData();
95 : makVrv::DtMenuConfiguration()
101 : makVrv::DtMenuConfiguration(c)
111 virtual bool isUnique(
const std::string&)
const;
115 return myMenuPaths.size();
118 void convert(
const std::string& str1,
const std::string& str2)
120 MenuPathSet::iterator curIter = myMenuPaths.begin();
121 for ( ; curIter != myMenuPaths.end(); curIter++)
123 if (curIter->isMenu() || curIter->isAbsolutePath())
130 MenuPathOrderMap::const_iterator iter = myMenuOrder.begin();
131 for ( ; iter != myMenuOrder.end(); iter++)
133 if (iter->first.isMenu() || iter->first.isAbsolutePath())
136 path.
strip(str1, str2);
138 newMap[path] = iter->second;
142 newMap[iter->first] = iter->second;
145 myMenuOrder = newMap;
174 virtual void addMenuItemAfter(
const std::string& menuItem,
const std::string& after);
177 virtual void removeMenuItem(
const std::string& menuItem);
182 virtual void addMenuItemBefore(
const std::string& menuItem,
const std::string& before);
188 virtual std::string mainMenu()
const;
199 myMakeChangesTo.push_back(c);
202 void clearMakeChangesTo()
204 myMakeChangesTo.clear();
209 return myPathsRemoved;
217 void setProtected(
const std::string& p,
bool b)
221 myIsProtected[p] = b;
225 std::map<std::string, bool>::iterator iter = myIsProtected.find(p);
226 if (iter != myIsProtected.end())
228 myIsProtected.erase(iter);
233 bool isProtected(
const std::string& p)
const
235 return (myIsProtected.find(p) != myIsProtected.end());
240 return (myPathsRemoved.find(p) != myPathsRemoved.end());
246 virtual void reworkRelativeOrder();
260 : makVrv::DtMenuManager()
261 , myDeleteMenus(false)
265 void setDeleteMenus(
bool b)
270 bool deleteMenus()
const
272 return myDeleteMenus;
277 if (myDeleteMenus) cleanup();
282 std::string findMenuPath(
QMenu*)
const;
283 std::string findItemPath(
QAction*)
const;
299 if (!myDeleteReferences)
301 myMenuBuilders.clear();
302 myMenuItemBuilders.clear();
310 void setDeleteReferences(
bool b)
312 myDeleteReferences = b;
315 bool deleteReferences()
const
317 return myDeleteReferences;
320 void setLocalOnly(
bool b)
325 bool localOnly()
const
335 return myMenuManager;
340 return myMenuManager;
346 return menuManager().findMenu(path);
351 return menuManager().findMenuItem(path);
358 virtual void unregisterMenu(
makVrv::DtMenu*,
bool deleteBuilder =
true);
368 myMakeChangesTo.push_back(c);
371 void clearMakeChangesTo()
373 myMakeChangesTo.clear();
378 if (myLocalOnly)
return 0;
384 if (myLocalOnly)
return 0;
389 void setCreateSubMenusForMissingMenus(
bool b)
391 myCreateSubMenusForMissingMenus = b;
418 return myConfiguration;
437 virtual void createSimpleMenu(std::string menuText,
makVrv::DtMenuPath menuIdPath,
int weight = -1);
441 virtual void createSimpleMenuItem(std::string itemText,
makVrv::DtMenuPath itemIdPath,
469 return myConfiguration;