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;
250 myMakeChangesTo.push_back(c);
253 void clearMakeChangesTo()
255 myMakeChangesTo.clear();
260 return myPathsRemoved;
268 void setProtected(
const std::string& p,
bool b)
272 myIsProtected[p] = b;
276 std::map<std::string, bool>::iterator iter = myIsProtected.find(p);
277 if (iter != myIsProtected.end())
279 myIsProtected.erase(iter);
284 bool isProtected(
const std::string& p)
const
286 return (myIsProtected.find(p) != myIsProtected.end());
291 return (myPathsRemoved.find(p) != myPathsRemoved.end());
297 virtual void reworkRelativeOrder();
311 : makVrv::DtMenuManager()
312 , myDeleteMenus(false)
322 void setDeleteMenus(
bool b)
327 bool deleteMenus()
const
329 return myDeleteMenus;
334 if (myDeleteMenus) cleanup();
339 std::string findMenuPath(
QMenu*)
const;
340 std::string findItemPath(
QAction*)
const;
356 myMenuManager.clear();
358 if (!myDeleteReferences)
360 myMenuBuilders.clear();
361 myMenuItemBuilders.clear();
369 void setDeleteReferences(
bool b)
371 myDeleteReferences = b;
374 bool deleteReferences()
const
376 return myDeleteReferences;
379 void setLocalOnly(
bool b)
384 bool localOnly()
const
394 return myMenuManager;
399 return myMenuManager;
405 return menuManager().findMenu(path);
410 return menuManager().findMenuItem(path);
417 virtual void unregisterMenu(
makVrv::DtMenu*,
bool deleteBuilder =
true);
427 virtual void merge(
const DtQtMenuAssembler::MenuBuilderMap&);
431 virtual void merge(
const DtQtMenuAssembler::MenuItemBuilderMap&);
435 myMakeChangesTo.push_back(c);
438 void clearMakeChangesTo()
440 myMakeChangesTo.clear();
443 virtual QMenuBar* menuBar()
445 if (myLocalOnly)
return 0;
449 virtual QWidget* menuWindow()
451 if (myLocalOnly)
return 0;
456 void setCreateSubMenusForMissingMenus(
bool b)
458 myCreateSubMenusForMissingMenus = b;
485 return myConfiguration;
504 virtual void createSimpleMenu(std::string menuText,
makVrv::DtMenuPath menuIdPath,
int weight = -1);
508 virtual void createSimpleMenuItem(std::string itemText,
makVrv::DtMenuPath itemIdPath,
539 return myConfiguration;