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;
}
예제 #2
0
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;
}
예제 #4
0
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;
}