本文整理汇总了C++中core::ActionContainer::addMenu方法的典型用法代码示例。如果您正苦于以下问题:C++ ActionContainer::addMenu方法的具体用法?C++ ActionContainer::addMenu怎么用?C++ ActionContainer::addMenu使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类core::ActionContainer
的用法示例。
在下文中一共展示了ActionContainer::addMenu方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setupMenu
void FindPlugin::setupMenu()
{
Core::ActionContainer *medit = Core::ActionManager::actionContainer(Core::Constants::M_EDIT);
Core::ActionContainer *mfind = Core::ActionManager::createMenu(Constants::M_FIND);
medit->addMenu(mfind, Core::Constants::G_EDIT_FIND);
mfind->menu()->setTitle(tr("&Find/Replace"));
mfind->appendGroup(Constants::G_FIND_CURRENTDOCUMENT);
mfind->appendGroup(Constants::G_FIND_FILTERS);
mfind->appendGroup(Constants::G_FIND_FLAGS);
mfind->appendGroup(Constants::G_FIND_ACTIONS);
Core::Context globalcontext(Core::Constants::C_GLOBAL);
Core::Command *cmd;
mfind->addSeparator(globalcontext, Constants::G_FIND_FLAGS);
mfind->addSeparator(globalcontext, Constants::G_FIND_ACTIONS);
Core::ActionContainer *mfindadvanced = Core::ActionManager::createMenu(Constants::M_FIND_ADVANCED);
mfindadvanced->menu()->setTitle(tr("Advanced Find"));
mfind->addMenu(mfindadvanced, Constants::G_FIND_FILTERS);
d->m_openFindDialog = new QAction(tr("Open Advanced Find..."), this);
d->m_openFindDialog->setIconText(tr("Advanced..."));
cmd = Core::ActionManager::registerAction(d->m_openFindDialog, Constants::ADVANCED_FIND, globalcontext);
cmd->setDefaultKeySequence(QKeySequence(tr("Ctrl+Shift+F")));
mfindadvanced->addAction(cmd);
connect(d->m_openFindDialog, SIGNAL(triggered()), this, SLOT(openFindFilter()));
}
示例2: createMenu
void TfsPlugin::createMenu()
{
Core::Context context(Core::Constants::C_GLOBAL);
// Create menu item for Mercurial
tfsContainer = Core::ActionManager::createMenu("Tfs.TfsMenu");
QMenu *menu = tfsContainer->menu();
menu->setTitle(tr("&TFS"));
createFileActions(context);
tfsContainer->addSeparator(context);
createDirectoryActions(context);
tfsContainer->addSeparator(context);
createRepositoryActions(context);
tfsContainer->addSeparator(context);
createRepositoryManagementActions(context);
tfsContainer->addSeparator(context);
createLessUsedActions(context);
// Request the Tools menu and add the Tfs menu to it
Core::ActionContainer *toolsMenu = Core::ActionManager::actionContainer(Core::Id(Core::Constants::M_TOOLS));
toolsMenu->addMenu(tfsContainer);
m_menuAction = tfsContainer->menu()->menuAction();
}
示例3: initialize
bool MacrosPlugin::initialize(const QStringList &arguments, QString *errorMessage)
{
Q_UNUSED(arguments);
Q_UNUSED(errorMessage);
addAutoReleasedObject(new MacroOptionsPage);
addAutoReleasedObject(new MacroLocatorFilter);
Core::Context globalcontext(Core::Constants::C_GLOBAL);
Core::Context textContext(TextEditor::Constants::C_TEXTEDITOR);
m_macroManager = new MacroManager(this);
// Menus
Core::ActionContainer *mtools = Core::ActionManager::actionContainer(Core::Constants::M_TOOLS);
Core::ActionContainer *mmacrotools = Core::ActionManager::createMenu(Constants::M_TOOLS_MACRO);
QMenu *menu = mmacrotools->menu();
menu->setTitle(tr("&Macros"));
menu->setEnabled(true);
mtools->addMenu(mmacrotools);
QAction *startMacro = new QAction(tr("Record Macro"), this);
Core::Command *command = Core::ActionManager::registerAction(startMacro, Constants::START_MACRO, textContext);
command->setDefaultKeySequence(QKeySequence(Core::UseMacShortcuts ? tr("Ctrl+(") : tr("Alt+(")));
mmacrotools->addAction(command);
connect(startMacro, SIGNAL(triggered()), m_macroManager, SLOT(startMacro()));
QAction *endMacro = new QAction(tr("Stop Recording Macro"), this);
endMacro->setEnabled(false);
command = Core::ActionManager::registerAction(endMacro, Constants::END_MACRO, globalcontext);
command->setDefaultKeySequence(QKeySequence(Core::UseMacShortcuts ? tr("Ctrl+)") : tr("Alt+)")));
mmacrotools->addAction(command);
connect(endMacro, SIGNAL(triggered()), m_macroManager, SLOT(endMacro()));
QAction *executeLastMacro = new QAction(tr("Play Last Macro"), this);
command = Core::ActionManager::registerAction(executeLastMacro, Constants::EXECUTE_LAST_MACRO, textContext);
command->setDefaultKeySequence(QKeySequence(Core::UseMacShortcuts ? tr("Meta+R") : tr("Alt+R")));
mmacrotools->addAction(command);
connect(executeLastMacro, SIGNAL(triggered()), m_macroManager, SLOT(executeLastMacro()));
QAction *saveLastMacro = new QAction(tr("Save Last Macro"), this);
saveLastMacro->setEnabled(false);
command = Core::ActionManager::registerAction(saveLastMacro, Constants::SAVE_LAST_MACRO, textContext);
mmacrotools->addAction(command);
connect(saveLastMacro, SIGNAL(triggered()), m_macroManager, SLOT(saveLastMacro()));
return true;
}
示例4: createMenu
void BazaarPlugin::createMenu()
{
Core::Context context(Core::Constants::C_GLOBAL);
// Create menu item for Bazaar
m_bazaarContainer = m_actionManager->createMenu(Core::Id("Bazaar.BazaarMenu"));
QMenu *menu = m_bazaarContainer->menu();
menu->setTitle(tr("Bazaar"));
createFileActions(context);
createSeparator(context, Core::Id("Bazaar.FileDirSeperator"));
createDirectoryActions(context);
createSeparator(context, Core::Id("Bazaar.DirRepoSeperator"));
createRepositoryActions(context);
createSeparator(context, Core::Id("Bazaar.Repository Management"));
// Request the Tools menu and add the Bazaar menu to it
Core::ActionContainer *toolsMenu = m_actionManager->actionContainer(Core::Id(Core::Constants::M_TOOLS));
toolsMenu->addMenu(m_bazaarContainer);
m_menuAction = m_bazaarContainer->menu()->menuAction();
}
示例5: editContext
/////////////////////////////////////////////////////////////////////////// Action Handler
TemplatesViewActionHandler::TemplatesViewActionHandler(QObject *parent) :
QObject(parent),
aAdd(0),
aRemove(0),
aEdit(0),
aPrint(0),
aSave(0),
aLocker(0),
aDatabaseInfos(0),
m_CurrentView(0),
m_IsLocked(settings()->value(Constants::S_LOCKCATEGORYVIEW).toBool())
{
if (!actionManager())
return;
Core::Context editContext(::C_BASIC_EDIT);
Core::Context lockContext(::C_BASIC_LOCK);
Core::Context addContext(::C_BASIC_ADD);
Core::Context removeContext(::C_BASIC_REMOVE);
Core::Context saveContext(::C_BASIC_SAVE);
Core::Context printContext(::C_BASIC_PRINT);
// Edit Menu and Contextual Menu
Core::ActionContainer *editMenu = actionManager()->actionContainer(Core::Constants::M_EDIT);
Core::ActionContainer *cmenu = actionManager()->actionContainer(Core::Constants::M_EDIT_TEMPLATES);
if (!cmenu) {
cmenu = actionManager()->createMenu(Core::Constants::M_EDIT_TEMPLATES);
cmenu->appendGroup(Core::Id(Core::Constants::G_EDIT_TEMPLATES));
cmenu->appendGroup(Core::Id(Core::Constants::G_EDIT_CATEGORIES));
cmenu->setTranslations(Trans::Constants::M_EDIT_TEMPLATES_TEXT);
if (editMenu)
editMenu->addMenu(cmenu, Core::Constants::G_EDIT_TEMPLATES);
}
// Add
aAdd = registerAction("TemplatesView.aAdd", cmenu, Core::Constants::ICONADD,
Core::Constants::A_TEMPLATE_ADD, Core::Constants::G_EDIT_TEMPLATES,
Trans::Constants::ADDCATEGORY_TEXT, addContext, this);
connect(aAdd, SIGNAL(triggered()), this, SLOT(addCategory()));
// Remove
aRemove = registerAction("TemplatesView.aRemove", cmenu, Core::Constants::ICONREMOVE,
Core::Constants::A_TEMPLATE_REMOVE, Core::Constants::G_EDIT_TEMPLATES,
Trans::Constants::REMOVE_TEXT, removeContext, this);
connect(aRemove, SIGNAL(triggered()), this, SLOT(removeItem()));
// Edit
aEdit = registerAction("TemplatesView.aEdit", cmenu, Core::Constants::ICONEDIT,
Core::Constants::A_TEMPLATE_EDIT, Core::Constants::G_EDIT_TEMPLATES,
Trans::Constants::M_EDIT_TEXT, editContext, this);
connect(aEdit, SIGNAL(triggered()), this, SLOT(editCurrentItem()));
// Edit
aPrint = registerAction("TemplatesView.aPrint", cmenu, Core::Constants::ICONPRINT,
Core::Constants::A_TEMPLATE_PRINT, Core::Constants::G_EDIT_TEMPLATES,
Trans::Constants::FILEPRINT_TEXT, printContext, this);
connect(aPrint, SIGNAL(triggered()), this, SLOT(print()));
// Save
aSave = registerAction("TemplatesView.aSave", cmenu, Core::Constants::ICONSAVE,
Core::Constants::A_TEMPLATE_SAVE, Core::Constants::G_EDIT_TEMPLATES,
Trans::Constants::FILESAVE_TEXT, saveContext, this);
connect(aSave, SIGNAL(triggered()), this, SLOT(saveModel()));
// Locker
aLocker = registerAction("TemplatesView.aLocker", cmenu, Core::Constants::ICONUNLOCK,
Core::Constants::A_TEMPLATE_LOCK, Core::Constants::G_EDIT_TEMPLATES,
Trans::Constants::UNLOCKED_TEXT, lockContext, this);
connect(aLocker, SIGNAL(triggered()), this, SLOT(lock()));
// Database information
Core::ActionContainer *hmenu = actionManager()->actionContainer(Core::Constants::M_HELP_DATABASES);
if (hmenu) {
aDatabaseInfos = registerAction("TemplatesView.aDbInfos", hmenu, Core::Constants::ICONABOUT,
Core::Constants::A_TEMPLATE_DATABASEINFORMATION,
Core::Constants::G_HELP_DATABASES,
Trans::Constants::TEMPLATES_DATABASE_INFORMATION_TEXT,
Core::Context(Core::Constants::C_GLOBAL), this);
connect(aDatabaseInfos, SIGNAL(triggered()), this, SLOT(databaseInformation()));
// contextManager()->updateContext();
}
updateActions();
}
示例6: initialize
bool CodepasterPlugin::initialize(const QStringList &arguments, QString *error_message)
{
Q_UNUSED(arguments)
Q_UNUSED(error_message)
// Create the globalcontext list to register actions accordingly
Core::Context globalcontext(Core::Constants::C_GLOBAL);
// Create the settings Page
m_settings->fromSettings(Core::ICore::instance()->settings());
SettingsPage *settingsPage = new SettingsPage(m_settings);
addAutoReleasedObject(settingsPage);
// Create the protocols and append them to the Settings
const QSharedPointer<NetworkAccessManagerProxy> networkAccessMgrProxy(new NetworkAccessManagerProxy);
Protocol *protos[] = { new PasteBinDotComProtocol(networkAccessMgrProxy),
new PasteBinDotCaProtocol(networkAccessMgrProxy),
new CodePasterProtocol(networkAccessMgrProxy),
new FileShareProtocol
};
const int count = sizeof(protos) / sizeof(Protocol *);
for(int i = 0; i < count; ++i) {
connect(protos[i], SIGNAL(pasteDone(QString)), this, SLOT(finishPost(QString)));
connect(protos[i], SIGNAL(fetchDone(QString,QString,bool)),
this, SLOT(finishFetch(QString,QString,bool)));
settingsPage->addProtocol(protos[i]->name());
if (protos[i]->hasSettings())
addAutoReleasedObject(protos[i]->settingsPage());
m_protocols.append(protos[i]);
}
//register actions
Core::ActionManager *actionManager = ICore::instance()->actionManager();
Core::ActionContainer *toolsContainer =
actionManager->actionContainer(Core::Constants::M_TOOLS);
Core::ActionContainer *cpContainer =
actionManager->createMenu(Core::Id("CodePaster"));
cpContainer->menu()->setTitle(tr("&Code Pasting"));
toolsContainer->addMenu(cpContainer);
Core::Command *command;
m_postEditorAction = new QAction(tr("Paste Snippet..."), this);
command = actionManager->registerAction(m_postEditorAction, "CodePaster.Post", globalcontext);
command->setDefaultKeySequence(QKeySequence(tr("Alt+C,Alt+P")));
connect(m_postEditorAction, SIGNAL(triggered()), this, SLOT(postEditor()));
cpContainer->addAction(command);
m_postClipboardAction = new QAction(tr("Paste Clipboard..."), this);
command = actionManager->registerAction(m_postClipboardAction, "CodePaster.PostClipboard", globalcontext);
connect(m_postClipboardAction, SIGNAL(triggered()), this, SLOT(postClipboard()));
cpContainer->addAction(command);
m_fetchAction = new QAction(tr("Fetch Snippet..."), this);
command = actionManager->registerAction(m_fetchAction, "CodePaster.Fetch", globalcontext);
command->setDefaultKeySequence(QKeySequence(tr("Alt+C,Alt+F")));
connect(m_fetchAction, SIGNAL(triggered()), this, SLOT(fetch()));
cpContainer->addAction(command);
connect(Core::EditorManager::instance(), SIGNAL(currentEditorChanged(Core::IEditor*)),
this, SLOT(updateActions()));
updateActions();
return true;
}
示例7: ctx
///////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////// ACTION HANDLER ///////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////
// Actions :
// Toggle search patient view
// Search method ?
// Limit database usage ?
// View patients information
// Patient selection history
PatientActionHandler::PatientActionHandler(QObject *parent) :
QObject(parent),
m_RecentPatients(0),
aSearchName(0),
aSearchFirstname(0),
aSearchNameFirstname(0),
aSearchDob(0),
aViewPatientInformation(0),
aPrintPatientInformation(0),
aShowPatientDatabaseInformation(0),
aViewCurrentPatientData(0),
aExportPatientFile(0),
gSearchMethod(0)
{
setObjectName("PatientActionHandler");
m_RecentPatients = new Core::FileManager(this);
Core::ITheme *th = Core::ICore::instance()->theme();
QAction *a = 0;
Core::Command *cmd = 0;
Core::Context ctx(Patients::Constants::C_PATIENTS);
Core::Context searchcontext(Patients::Constants::C_PATIENTS_SEARCH, Core::Constants::C_GLOBAL);
Core::Context globalcontext(Core::Constants::C_GLOBAL);
Core::ActionContainer *menu = actionManager()->actionContainer(Core::Id(Core::Constants::M_PATIENTS));
if (!menu) {
Utils::warningMessageBox(tr("Fatal Error"), tr("%1: Unable to retrieve patients menu.").arg(objectName()));
return;
}
Q_ASSERT(menu);
if (!menu)
return;
menu->appendGroup(Core::Id(Constants::G_PATIENTS));
menu->appendGroup(Core::Id(Constants::G_PATIENTS_NEW));
menu->appendGroup(Core::Id(Constants::G_PATIENTS_SEARCH));
menu->appendGroup(Core::Id(Constants::G_PATIENTS_HISTORY));
menu->appendGroup(Core::Id(Constants::G_PATIENTS_INFORMATION));
// actionManager()->actionContainer(Core::Constants::M_PATIENTS)->addMenu(menu, Core::Constants::G_PATIENTS);
connect(actionManager()->command(Core::Constants::A_PATIENT_REMOVE)->action(), SIGNAL(triggered()), this, SLOT(removePatient()));
// Search method menu
Core::ActionContainer *searchmenu = actionManager()->actionContainer(Core::Id(Constants::M_PATIENTS_SEARCH));
if (!searchmenu) {
searchmenu = actionManager()->createMenu(Constants::M_PATIENTS_SEARCH);
searchmenu->appendGroup(Core::Id(Constants::G_PATIENTS_SEARCH));
searchmenu->setTranslations(Trans::Constants::SEARCHMENU_TEXT);
menu->addMenu(searchmenu, Core::Id(Constants::G_PATIENTS_SEARCH));
}
Q_ASSERT(searchmenu);
// TODO: create search icons
gSearchMethod = new QActionGroup(this);
a = aSearchName = new QAction(this);
a->setObjectName("aSearchName");
a->setCheckable(true);
a->setChecked(false);
a->setIcon(th->icon(Core::Constants::ICONSEARCH));
cmd = actionManager()->registerAction(a, Core::Id(Constants::A_SEARCH_PATIENTS_BY_NAME), searchcontext);
cmd->setTranslations(Constants::SEARCHBYNAME_TEXT, Constants::SEARCHBYNAME_TOOLTIP, Constants::TRANS_CONTEXT);
searchmenu->addAction(cmd, Core::Id(Constants::G_PATIENTS_SEARCH));
gSearchMethod->addAction(a);
a = aSearchFirstname = new QAction(this);
a->setObjectName("aSearchFirstname");
a->setCheckable(true);
a->setChecked(false);
a->setIcon(th->icon(Core::Constants::ICONSEARCH));
cmd = actionManager()->registerAction(a, Core::Id(Constants::A_SEARCH_PATIENTS_BY_FIRSTNAME), searchcontext);
cmd->setTranslations(Constants::SEARCHBYFIRSTNAME_TEXT, Constants::SEARCHBYFIRSTNAME_TOOLTIP, Constants::TRANS_CONTEXT);
searchmenu->addAction(cmd, Core::Id(Constants::G_PATIENTS_SEARCH));
gSearchMethod->addAction(a);
a = aSearchNameFirstname = new QAction(this);
a->setObjectName("aSearchNameFirstname");
a->setCheckable(true);
a->setChecked(false);
a->setIcon(th->icon(Core::Constants::ICONSEARCH));
cmd = actionManager()->registerAction(a, Core::Id(Constants::A_SEARCH_PATIENTS_BY_NAMEFIRSTNAME), searchcontext);
cmd->setTranslations(Constants::SEARCHBYNAMEFIRSTNAME_TEXT, Constants::SEARCHBYNAMEFIRSTNAME_TOOLTIP, Constants::TRANS_CONTEXT);
searchmenu->addAction(cmd, Core::Id(Constants::G_PATIENTS_SEARCH));
gSearchMethod->addAction(a);
a = aSearchDob = new QAction(this);
a->setObjectName("aSearchDob");
a->setCheckable(true);
a->setChecked(false);
a->setIcon(th->icon(Core::Constants::ICONSEARCH));
cmd = actionManager()->registerAction(a, Core::Id(Constants::A_SEARCH_PATIENTS_BY_DOB), searchcontext);
//.........这里部分代码省略.........
示例8: initialize
bool QmlJSEditorPlugin::initialize(const QStringList & /*arguments*/, QString *error_message)
{
Core::ICore *core = Core::ICore::instance();
if (!core->mimeDatabase()->addMimeTypes(QLatin1String(":/qmljseditor/QmlJSEditor.mimetypes.xml"), error_message))
return false;
m_modelManager = new ModelManager(this);
addAutoReleasedObject(m_modelManager);
QList<int> context;
context << core->uniqueIDManager()->uniqueIdentifier(QmlJSEditor::Constants::C_QMLJSEDITOR_ID)
<< core->uniqueIDManager()->uniqueIdentifier(QmlDesigner::Constants::C_QT_QUICK_TOOLS_MENU);
m_editor = new QmlJSEditorFactory(this);
addObject(m_editor);
#ifdef QTCREATOR_WITH_QML
Core::BaseFileWizardParameters wizardParameters(Core::IWizard::FileWizard);
wizardParameters.setCategory(QLatin1String(Core::Constants::WIZARD_CATEGORY_QT));
wizardParameters.setDisplayCategory(QCoreApplication::translate("Core", Core::Constants::WIZARD_TR_CATEGORY_QT));
wizardParameters.setDescription(tr("Creates a Qt QML file."));
wizardParameters.setDisplayName(tr("Qt QML File"));
wizardParameters.setId(QLatin1String("Q.Qml"));
addAutoReleasedObject(new QmlFileWizard(wizardParameters, core));
#endif
m_actionHandler = new TextEditor::TextEditorActionHandler(QmlJSEditor::Constants::C_QMLJSEDITOR_ID,
TextEditor::TextEditorActionHandler::Format
| TextEditor::TextEditorActionHandler::UnCommentSelection
| TextEditor::TextEditorActionHandler::UnCollapseAll);
m_actionHandler->initializeActions();
Core::ActionManager *am = core->actionManager();
Core::ActionContainer *contextMenu = am->createMenu(QmlJSEditor::Constants::M_CONTEXT);
Core::ActionContainer *mtools = am->actionContainer(Core::Constants::M_TOOLS);
Core::ActionContainer *menuQtQuick = am->createMenu(Constants::M_QTQUICK);
menuQtQuick->menu()->setTitle(tr("Qt Quick"));
mtools->addMenu(menuQtQuick);
m_actionPreview = new QAction("&Preview", this);
QList<int> toolsMenuContext = QList<int>()
<< core->uniqueIDManager()->uniqueIdentifier(QmlDesigner::Constants::C_QT_QUICK_TOOLS_MENU);
Core::Command *cmd = addToolAction(m_actionPreview, am, toolsMenuContext,
QLatin1String("QtQuick.Preview"), menuQtQuick, tr("Ctrl+Alt+R"));
connect(cmd->action(), SIGNAL(triggered()), SLOT(openPreview()));
m_previewRunner = new QmlJSPreviewRunner(this);
QAction *followSymbolUnderCursorAction = new QAction(tr("Follow Symbol Under Cursor"), this);
cmd = am->registerAction(followSymbolUnderCursorAction, Constants::FOLLOW_SYMBOL_UNDER_CURSOR, context);
cmd->setDefaultKeySequence(QKeySequence(Qt::Key_F2));
connect(followSymbolUnderCursorAction, SIGNAL(triggered()), this, SLOT(followSymbolUnderCursor()));
contextMenu->addAction(cmd);
cmd = am->command(TextEditor::Constants::AUTO_INDENT_SELECTION);
contextMenu->addAction(cmd);
cmd = am->command(TextEditor::Constants::UN_COMMENT_SELECTION);
contextMenu->addAction(cmd);
CodeCompletion *completion = new CodeCompletion(m_modelManager);
addAutoReleasedObject(completion);
addAutoReleasedObject(new HoverHandler);
// Set completion settings and keep them up to date
TextEditor::TextEditorSettings *textEditorSettings = TextEditor::TextEditorSettings::instance();
completion->setCompletionSettings(textEditorSettings->completionSettings());
connect(textEditorSettings, SIGNAL(completionSettingsChanged(TextEditor::CompletionSettings)),
completion, SLOT(setCompletionSettings(TextEditor::CompletionSettings)));
error_message->clear();
Core::FileIconProvider *iconProvider = Core::FileIconProvider::instance();
iconProvider->registerIconOverlayForSuffix(QIcon(":/qmljseditor/images/qmlfile.png"), "qml");
return true;
}
示例9: setupActions
void FormEditorW::setupActions()
{
Core::ActionManager *am = Core::ICore::actionManager();
Core::Command *command;
//menus
Core::ActionContainer *medit =
am->actionContainer(Core::Constants::M_EDIT);
Core::ActionContainer *mtools =
am->actionContainer(Core::Constants::M_TOOLS);
Core::ActionContainer *mformtools =
am->createMenu(M_FORMEDITOR);
mformtools->menu()->setTitle(tr("For&m Editor"));
mtools->addMenu(mformtools);
//overridden actions
bindShortcut(am->registerAction(m_fwm->actionUndo(), Core::Constants::UNDO, m_contexts), m_fwm->actionUndo());
bindShortcut(am->registerAction(m_fwm->actionRedo(), Core::Constants::REDO, m_contexts), m_fwm->actionRedo());
bindShortcut(am->registerAction(m_fwm->actionCut(), Core::Constants::CUT, m_contexts), m_fwm->actionCut());
bindShortcut(am->registerAction(m_fwm->actionCopy(), Core::Constants::COPY, m_contexts), m_fwm->actionCopy());
bindShortcut(am->registerAction(m_fwm->actionPaste(), Core::Constants::PASTE, m_contexts), m_fwm->actionPaste());
bindShortcut(am->registerAction(m_fwm->actionSelectAll(), Core::Constants::SELECTALL, m_contexts), m_fwm->actionSelectAll());
m_actionPrint = new QAction(this);
bindShortcut(am->registerAction(m_actionPrint, Core::Constants::PRINT, m_contexts), m_actionPrint);
connect(m_actionPrint, SIGNAL(triggered()), this, SLOT(print()));
//'delete' action. Do not set a shortcut as Designer handles
// the 'Delete' key by event filter. Setting a shortcut triggers
// buggy behaviour on Mac (Pressing Delete in QLineEdit removing the widget).
command = am->registerAction(m_fwm->actionDelete(), Core::Id("FormEditor.Edit.Delete"), m_contexts);
bindShortcut(command, m_fwm->actionDelete());
command->setAttribute(Core::Command::CA_Hide);
medit->addAction(command, Core::Constants::G_EDIT_COPYPASTE);
m_actionGroupEditMode = new QActionGroup(this);
m_actionGroupEditMode->setExclusive(true);
connect(m_actionGroupEditMode, SIGNAL(triggered(QAction*)), this, SLOT(activateEditMode(QAction*)));
m_modeActionSeparator = new QAction(this);
m_modeActionSeparator->setSeparator(true);
command = am->registerAction(m_modeActionSeparator, Core::Id("FormEditor.Sep.ModeActions"), m_contexts);
medit->addAction(command, Core::Constants::G_EDIT_OTHER);
m_toolActionIds.push_back(Core::Id("FormEditor.WidgetEditor"));
createEditModeAction(m_actionGroupEditMode, m_contexts, am, medit,
tr("Edit Widgets"), m_toolActionIds.back(),
EditModeWidgetEditor, QLatin1String("widgettool.png"), tr("F3"));
m_toolActionIds.push_back(Core::Id("FormEditor.SignalsSlotsEditor"));
createEditModeAction(m_actionGroupEditMode, m_contexts, am, medit,
tr("Edit Signals/Slots"), m_toolActionIds.back(),
EditModeSignalsSlotEditor, QLatin1String("signalslottool.png"), tr("F4"));
m_toolActionIds.push_back(Core::Id("FormEditor.BuddyEditor"));
createEditModeAction(m_actionGroupEditMode, m_contexts, am, medit,
tr("Edit Buddies"), m_toolActionIds.back(),
EditModeBuddyEditor, QLatin1String("buddytool.png"));
m_toolActionIds.push_back(Core::Id("FormEditor.TabOrderEditor"));
createEditModeAction(m_actionGroupEditMode, m_contexts, am, medit,
tr("Edit Tab Order"), m_toolActionIds.back(),
EditModeTabOrderEditor, QLatin1String("tabordertool.png"));
//tool actions
m_toolActionIds.push_back(Core::Id("FormEditor.LayoutHorizontally"));
const QString horizLayoutShortcut = osMac ? tr("Meta+H") : tr("Ctrl+H");
addToolAction(m_fwm->actionHorizontalLayout(), am, m_contexts,
m_toolActionIds.back(), mformtools, horizLayoutShortcut);
m_toolActionIds.push_back(Core::Id("FormEditor.LayoutVertically"));
const QString vertLayoutShortcut = osMac ? tr("Meta+L") : tr("Ctrl+L");
addToolAction(m_fwm->actionVerticalLayout(), am, m_contexts,
m_toolActionIds.back(), mformtools, vertLayoutShortcut);
m_toolActionIds.push_back(Core::Id("FormEditor.SplitHorizontal"));
addToolAction(m_fwm->actionSplitHorizontal(), am, m_contexts,
m_toolActionIds.back(), mformtools);
m_toolActionIds.push_back(Core::Id("FormEditor.SplitVertical"));
addToolAction(m_fwm->actionSplitVertical(), am, m_contexts,
m_toolActionIds.back(), mformtools);
m_toolActionIds.push_back(Core::Id("FormEditor.LayoutForm"));
addToolAction(m_fwm->actionFormLayout(), am, m_contexts,
m_toolActionIds.back(), mformtools);
m_toolActionIds.push_back(Core::Id("FormEditor.LayoutGrid"));
const QString gridShortcut = osMac ? tr("Meta+G") : tr("Ctrl+G");
addToolAction(m_fwm->actionGridLayout(), am, m_contexts,
m_toolActionIds.back(), mformtools, gridShortcut);
m_toolActionIds.push_back(Core::Id("FormEditor.LayoutBreak"));
addToolAction(m_fwm->actionBreakLayout(), am, m_contexts,
m_toolActionIds.back(), mformtools);
m_toolActionIds.push_back(Core::Id("FormEditor.LayoutAdjustSize"));
const QString adjustShortcut = osMac ? tr("Meta+J") : tr("Ctrl+J");
addToolAction(m_fwm->actionAdjustSize(), am, m_contexts,
//.........这里部分代码省略.........
示例10: ctx
///////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////// ACTION HANDLER ///////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////
PmhActionHandler::PmhActionHandler(QObject *parent) :
QObject(parent),
aAddPmh(0),aRemovePmh(0),
aAddCat(0),
aCategoryManager(0),
aPmhDatabaseInformation(0),
m_CurrentView(0)
{
setObjectName("PmhActionHandler");
Core::ITheme *th = Core::ICore::instance()->theme();
QAction *a = 0;
Core::Command *cmd = 0;
Core::Context ctx(Constants::C_PMH_PLUGINS);
Core::Context globalcontext(Core::Constants::C_GLOBAL);
Core::ActionContainer *menu = actionManager()->actionContainer(Core::Id(Core::Constants::M_PATIENTS));
Core::ActionContainer *newmenu = actionManager()->actionContainer(Core::Id(Core::Constants::M_GENERAL_NEW));
Core::ActionContainer *pmhMenu = actionManager()->createMenu(Constants::M_PMH);
Q_ASSERT(menu);
if (!menu) {
LOG_ERROR("Menu Patient not created");
return;
} else {
// menu->appendGroup(Core::Constants::G_PATIENTS_NAVIGATION);
pmhMenu->appendGroup(Core::Id(Constants::G_PMH_NEW));
pmhMenu->appendGroup(Core::Id(Constants::G_PMH_EDITION));
pmhMenu->setTranslations(Trans::Constants::PMHMENU_TEXT);
menu->addMenu(pmhMenu, Core::Id(Core::Constants::G_PATIENTS));
}
// Create local actions
a = aAddPmh = new QAction(this);
aAddPmh->setEnabled(false);
a->setObjectName("aAddPmh");
a->setIcon(th->icon(Core::Constants::ICONADD));
cmd = actionManager()->registerAction(a, Core::Id(Constants::A_PMH_NEW), globalcontext);
cmd->setTranslations(Constants::CREATEPMH_TEXT, Constants::CREATEPMH_TEXT, Constants::PMHCONSTANTS_TR_CONTEXT);
pmhMenu->addAction(cmd, Core::Id(Constants::G_PMH_NEW));
if (newmenu)
newmenu->addAction(cmd, Core::Id(Core::Constants::G_GENERAL_NEW));
// connect(a, SIGNAL(triggered()), this, SLOT(createPmh()));
a = aRemovePmh= new QAction(this);
a->setObjectName("aRemovePmh");
a->setIcon(th->icon(Core::Constants::ICONREMOVE));
cmd = actionManager()->registerAction(a, Core::Id(Constants::A_PMH_REMOVE), ctx);
cmd->setTranslations(Constants::REMOVEPMH_TEXT, Constants::REMOVEPMH_TEXT, Constants::PMHCONSTANTS_TR_CONTEXT);
pmhMenu->addAction(cmd, Core::Id(Constants::G_PMH_NEW));
// connect(a, SIGNAL(triggered()), this, SLOT(createPmh()));
a = aAddCat = new QAction(this);
a->setObjectName("aAddCat");
a->setIcon(th->icon(Core::Constants::ICONCATEGORY_ADD));
cmd = actionManager()->registerAction(a, Core::Id(Constants::A_PMH_NEWCATEGORY), ctx);
cmd->setTranslations(Constants::CREATECATEGORY_TEXT, Constants::CREATECATEGORY_TEXT, Constants::PMHCONSTANTS_TR_CONTEXT);
pmhMenu->addAction(cmd, Core::Id(Constants::G_PMH_NEW));
// connect(a, SIGNAL(triggered()), this, SLOT(createPmh()));
a = aCategoryManager= new QAction(this);
a->setObjectName("aCategoryManager");
a->setIcon(th->icon(Core::Constants::ICONCATEGORY_MANAGER));
cmd = actionManager()->registerAction(a, Core::Id(Constants::A_PMH_CATEGORYMANAGER), globalcontext);
cmd->setTranslations(Constants::CATEGORYMANAGER_TEXT, Constants::CATEGORYMANAGER_TEXT, Constants::PMHCONSTANTS_TR_CONTEXT);
pmhMenu->addAction(cmd, Core::Id(Constants::G_PMH_EDITION));
connect(a, SIGNAL(triggered()), this, SLOT(categoryManager()));
Core::ActionContainer *hmenu = actionManager()->actionContainer(Core::Id(Core::Constants::M_HELP_DATABASES));
a = aPmhDatabaseInformation = new QAction(this);
a->setObjectName("aPmhDatabaseInformation");
a->setIcon(th->icon(Core::Constants::ICONHELP));
cmd = actionManager()->registerAction(a, Core::Id(Constants::A_PMH_SHOWDBINFOS), globalcontext);
cmd->setTranslations(Trans::Constants::PMH_DATABASE_INFORMATION);
cmd->retranslate();
if (hmenu) {
hmenu->addAction(cmd, Core::Id(Core::Constants::G_HELP_DATABASES));
}
connect(aPmhDatabaseInformation, SIGNAL(triggered()), this, SLOT(showPmhDatabaseInformation()));
contextManager()->updateContext();
actionManager()->retranslateMenusAndActions();
connect(patient(), SIGNAL(currentPatientChanged()), this, SLOT(onCurrentPatientChanged()));
}