QAction* SpectralLibraryMatchResults::createAction() { // Add toolbar button and menu item to invoke the window QAction* pShowAction(NULL); ToolBar* pToolBar = static_cast<ToolBar*>(Service<DesktopServices>()->getWindow("Spectral", TOOLBAR)); if (pToolBar != NULL) { MenuBar* pMenuBar = pToolBar->getMenuBar(); if (pMenuBar != NULL) { QAction* pMenuAction = pMenuBar->getMenuItem("/Spectral/Support Tools"); if (pMenuAction != NULL) { QMenu* pMenu = pMenuBar->getMenu(pMenuAction); if (pMenu != NULL) { pShowAction = pMenu->addAction("Spectral Library Match Results Window"); if (pShowAction != NULL) { QPixmap pixShowResults(ShowResultsIcon); pShowAction->setIcon(QIcon(pixShowResults)); pShowAction->setCheckable(true); pShowAction->setAutoRepeat(false); pShowAction->setStatusTip("Toggles the display of the Spectral Library Match Results Window"); pToolBar->addSeparator(); pToolBar->addButton(pShowAction); } } } } } return pShowAction; }
bool SkinsPlugIn::execute(PlugInArgList* pInArgList, PlugInArgList* pOutArgList) { MenuBar* pMenu = Service<DesktopServices>()->getMainMenuBar(); QAction* pBefore = pMenu->getMenuItem("&View/&Status Bar"); mpSkinsMenu = pMenu->addMenu("&View/S&kins", pBefore); mpSkinsMenu->setStatusTip("Change the current application skin."); VERIFY(mpSkinsMenu); VERIFY(connect(mpSkinsMenu, SIGNAL(triggered(QAction*)), this, SLOT(changeSkin(QAction*)))); QActionGroup* pActionGroup = new QActionGroup(mpSkinsMenu); pActionGroup->setExclusive(true); // Add default menu entries mpDefaultAction = mpSkinsMenu->addAction("Default"); mpDefaultAction->setCheckable(true); pActionGroup->addAction(mpDefaultAction); // Scan the skins directory const Filename* pPath = ConfigurationSettings::getSettingSupportFilesPath(); FactoryResource<FileFinder> pFinder; VERIFY(pPath && pFinder.get()); pFinder->findFile(pPath->getFullPathAndName() + "/Skins", "*.css", true); while (pFinder->findNextFile()) { std::string title; pFinder->getFileTitle(title); QAction* pAction = mpSkinsMenu->addAction(QString::fromStdString(title)); pAction->setCheckable(true); pActionGroup->addAction(pAction); } pFinder->findFile(pPath->getFullPathAndName() + "/Skins", "*.rcc", true); while (pFinder->findNextFile()) { std::string fullPath; std::string fileTitle; pFinder->getFullPath(fullPath); pFinder->getFileTitle(fileTitle); QString path = QString::fromStdString(fullPath); QString root = "/" + QString::fromStdString(fileTitle); if (QResource::registerResource(path, root)) { mRegisteredResources[root] = path; } } mDefaultStyleSheet = qApp->styleSheet(); mpDefaultAction->setChecked(true); return true; }
QAction* RangeProfilePlotManager::createAction() { QAction* pWindowAction = NULL; // Add a menu command to invoke the window MenuBar* pMenuBar = Service<DesktopServices>()->getMainMenuBar(); if (pMenuBar != NULL) { QAction* pBeforeAction = NULL; QAction* pToolsAction = pMenuBar->getMenuItem("&Tools"); if (pToolsAction != NULL) { QMenu* pMenu = pToolsAction->menu(); if (pMenu != NULL) { QList<QAction*> actions = pMenu->actions(); for (int i = 0; i < actions.count(); ++i) { QAction* pAction = actions[i]; if (pAction != NULL) { if ((pAction->text() == "S&cripting Window") && (pAction != actions.back())) { pBeforeAction = actions[i + 1]; break; } } } } } pWindowAction = pMenuBar->addCommand("&Tools/&" + getName(), getName(), pBeforeAction); if (pWindowAction != NULL) { pWindowAction->setAutoRepeat(false); pWindowAction->setCheckable(true); pWindowAction->setToolTip(QString::fromStdString(getName())); pWindowAction->setStatusTip("Toggles the display of the " + QString::fromStdString(getName())); } } return pWindowAction; }
QAction* AnnotationImagePalette::createAction() { QAction* pWindowAction = NULL; // Add a menu command to invoke the window MenuBar* pMenuBar = Service<DesktopServices>()->getMainMenuBar(); if (pMenuBar != NULL) { QAction* pBeforeAction = NULL; QAction* pToolsAction = pMenuBar->getMenuItem("&Tools"); if (pToolsAction != NULL) { QMenu* pMenu = pToolsAction->menu(); if (pMenu != NULL) { QList<QAction*> actions = pMenu->actions(); for (int i = 0; i < actions.count(); ++i) { QAction* pAction = actions[i]; if (pAction != NULL) { if ((pAction->text() == "S&cripting Window") && (pAction != actions.back())) { pBeforeAction = actions[i + 1]; break; } } } } } pWindowAction = pMenuBar->addCommand("&Tools/&Annotation Image Palette", getName(), pBeforeAction); if (pWindowAction != NULL) { pWindowAction->setToolTip("Annotation Image Palette"); pWindowAction->setStatusTip("Toggles the display of the Annotation Image Palette"); } } return pWindowAction; }