00001 #include "Iguana/Studio/interface/IgQtAppHelpService.h" 00002 #include "Iguana/Studio/interface/IgQtAppHelp.h" 00003 #include "Iguana/Studio/interface/IgQtAppMenuService.h" 00004 #include "Iguana/Studio/interface/iguana-small.xpm" 00005 #include <qmenubar.h> 00006 #include <qpopupmenu.h> 00007 00008 IG_DEFINE_STATE_ELEMENT (IgQtAppHelpService, "Services/Qt/App Help"); 00009 00010 IgQtAppHelpService::IgQtAppHelpService (IgState *state, 00011 QWidget *mainWindow) 00012 : m_state (state), 00013 m_mainWindow (mainWindow), 00014 m_about (new IgQtAppHelp (state, mainWindow)) 00015 { 00016 ASSERT (state); 00017 ASSERT (mainWindow); 00018 state->put (s_key, this); 00019 00020 ASSERT (IgQtAppMenuService::get (state)); 00021 QMenuBar *menu = IgQtAppMenuService::get (state)->menuBar (); 00022 QPopupMenu *help = new QPopupMenu (mainWindow); 00023 00024 help->setCaption ("Help"); 00025 help->insertTearOffHandle (); 00026 help->insertItem 00027 ("IGUANA &Web site", m_about, SLOT (iguanaWebSite ()), Qt::Key_F1, 00028 MENU_ID_HELP_IGUANA_WEB, IgQtAppMenuService::index 00029 (help, MENU_ID_HELP_IGUANA_WEB)); 00030 help->insertSeparator (); 00031 help->insertItem 00032 ("&Report Bug...", m_about, SLOT (reportBugDialog ()), 0, 00033 MENU_ID_HELP_REPORT_BUG, IgQtAppMenuService::index 00034 (help, MENU_ID_HELP_REPORT_BUG)); 00035 help->insertSeparator (); 00036 help->insertItem 00037 ("What's &This", m_about, SLOT (whatsThis ()), Qt::SHIFT+Qt::Key_F1, 00038 MENU_ID_HELP_WHATSTHIS, IgQtAppMenuService::index 00039 (help, MENU_ID_HELP_WHATSTHIS)); 00040 help->insertItem 00041 ("Viewer &Buttons", m_about, SLOT (buttons ()), 0, 00042 MENU_ID_HELP_BUTTONS, IgQtAppMenuService::index 00043 (help, MENU_ID_HELP_BUTTONS)); 00044 help->insertSeparator (); 00045 help->insertItem 00046 ("About Qt", m_about, SLOT (aboutQt ()), 0, 00047 MENU_ID_HELP_ABOUT_QT, IgQtAppMenuService::index 00048 (help, MENU_ID_HELP_ABOUT_QT)); 00049 help->insertItem 00050 (QPixmap (iguana_small_xpm), "&About IGUANA", m_about, SLOT (about ()), 0, 00051 MENU_ID_HELP_ABOUT, IgQtAppMenuService::index 00052 (help, MENU_ID_HELP_ABOUT)); 00053 00054 menu->insertItem ("&Help", help, MENU_ID_HELP, 00055 IgQtAppMenuService::index (menu, MENU_ID_HELP)); 00056 } 00057 00058 IgQtAppHelpService::~IgQtAppHelpService (void) 00059 { 00060 ASSERT (m_state); 00061 ASSERT (m_mainWindow); 00062 m_state->detach (s_key); 00063 } 00064