Na ovoj stranici

Core::ActionManager Class

class Core::ActionManager

Klasa ActionManager odgovorna je za registraciju izbornika, stavki izbornika i tipkovničkih prečaca. Više...

Header: #include <coreplugin/actionmanager/actionmanager.h>
Inherits: QObject

Signali

void commandAdded(Utils::Id id)
void commandListChanged()

Statični javni članovi

Core::ActionContainer *actionContainer(Utils::Id id)
Core::Command *command(Utils::Id id)
QList<Core::Command *> commands()
Core::Command *createCommand(Utils::Id id)
Core::ActionContainer *createMenu(Utils::Id id)
Core::ActionContainer *createMenuBar(Utils::Id id)
Core::ActionContainer *createTouchBar(Utils::Id id, const QIcon &icon, const QString &text = QString())
Core::ActionManager *instance()
bool isPresentationModeEnabled()
Core::Command *registerAction(QAction *action, Utils::Id id, const Core::Context &context = Context(Constants::C_GLOBAL), bool scriptable = false)
void unregisterAction(QAction *action, Utils::Id id)
QString withNumberAccelerator(const QString &text, const int number)

Detaljan opis

Upravitelj radnji je središnji registar radnji, njihovih prečaca i rasporeda. Radi se o singletonu koji uglavnom sadrži statičke funkcije. Ako trebate pristup instanci, na primjer za povezivanje sa signalima, pozovite njezinu funkciju ActionManager::instance().

Upravitelj radnjama omogućuje centralno mjesto gdje korisnici mogu definirati sve svoje prečace na tipkovnici i pruža rješenje za radnje koje se trebaju ponašati drugačije u različitim kontekstima (poput radnji kopiraj/zamijeni/otkaži/ponovi).

Pogledajte Upravitelj akcija i naredbe za pregled interakcije između Core::ActionManager, Core::Command i Core::Context.

Registrirajte globalno aktivnu akciju "My Action" tako da u funkciju ExtensionSystem::IPlugin::initialize() svog dodatka stavite sljedeći redak.

QAction *myAction = new QAction(Tr::tr("My Action"), this);
Command *cmd = ActionManager::registerAction(myAction, "myplugin.myaction", Context(C_GLOBAL));
cmd->setDefaultKeySequence(QKeySequence(Tr::tr("Ctrl+Alt+u")));
connect(myAction, &QAction::triggered, this, &MyPlugin::performMyAction);

connect se provodi na vaš primjerak QAction. Ako, na primjer, stvorite gumb alata koji bi trebao predstavljati radnju, dodajte mu radnju iz Command::action().

QToolButton *myButton = new QToolButton(someParentWidget);
myButton->setDefaultAction(cmd->action());

Također upotrijebite upravitelj akcija za dodavanje stavki u registrirane spremnike akcija, poput izbornika aplikacije ili podizbornika u tom izborniku. Registrirajte svoju akciju putem funkcije Core::ActionManager::registerAction(), dohvatite spremnik akcija za određeni ID (kako je navedeno, na primjer, u imenskom prostoru Core::Constants) pomoću funkcije Core::ActionManager::actionContainer(), i dodajte svoju naredbu u taj spremnik.

Nadovezujući se na primjer, dodavanje "Moje radnje" u izbornik "Alati" izvršilo bi se pomoću

ActionManager::actionContainer(Core::Constants::M_TOOLS)->addAction(cmd);

Vidi također Core::ICore, Core::Command, Core::ActionContainer, Core::IContext i Upravitelj akcija i naredbe.

Dokumentacija funkcija člana

[static] Core::ActionContainer *ActionManager::actionContainer(Utils::Id id)

Vraća instancu ActionContainera koja je stvorena pomoću createMenu(), createMenuBar(), createTouchBar() za navedeni id.

Koristite ID Core::Constants::MENU_BAR za dohvaćanje glavne trake izbornika.

Koristite ID-ove Core::Constants::M_FILE, Core::Constants::M_EDIT i slične konstante za dohvaćanje različitih zadaničkih izbornika.

Koristite ID Core::Constants::TOUCH_BAR za dohvaćanje glavne trake za dodir.

Vidi također ActionManager::createMenu() i ActionManager::createMenuBar().

[static] Core::Command *ActionManager::command(Utils::Id id)

Vraća instancu Command koja je stvorena pomoću registerAction() za navedeni id.

Vidi također registerAction().

[signal] void ActionManager::commandAdded(Utils::Id id)

Emitira se kada se doda naredba ( id).

[signal] void ActionManager::commandListChanged()

Emitirano kada se promijenio popis naredbi.

[static] QList<Core::Command *> ActionManager::commands()

Vraća sve registrirane naredbe.

[static] Core::Command *ActionManager::createCommand(Utils::Id id)

Stvara naredbu ili vraća postojeću naredbu s navedenim parametrom id.

Stvorena naredba još nema pridruženih radnji, pa se zapravo ne može pokrenuti. No sustav je upoznat s njom, pojavljuje se u postavkama prečaca na tipkovnici i za nju se kasnije mogu registrirati QActions. Ako već imate QAction, ID i Context koje želite registrirati, nema potrebe pozivati ovu metodu. Jednostavno izravno pozovite registerAction().

[static] Core::ActionContainer *ActionManager::createMenu(Utils::Id id)

Stvara novi spremnik radnje izbornika ili vraća postojeći spremnik s navedenim id. ActionManager posjeduje vraćeni ActionContainer. Dodajte svoj izbornik u neki drugi izbornik ili u traku izbornika putem funkcija actionContainer() i ActionContainer::addMenu().

Vidi također actionContainer() i ActionContainer::addMenu().

[static] Core::ActionContainer *ActionManager::createMenuBar(Utils::Id id)

Stvara novi spremnik radnje u traci izbornika ili vraća postojeći spremnik s navedenim id. ActionManager posjeduje vraćeni ActionContainer.

Vidi također createMenu() i ActionContainer::addMenu().

[static] Core::ActionContainer *ActionManager::createTouchBar(Utils::Id id, const QIcon &icon, const QString &text = QString())

Stvara novi (pod) touch bar akcijski spremnik ili vraća postojeći spremnik sa zadanim id. ActionManager posjeduje vraćeni ActionContainer.

Imajte na umu da je moguće stvoriti samo jednu razinu pod-touch barova. Pod-touch bar bit će predstavljen gumbom s metodama icon i text (od kojih bilo koja može biti prazna), koji otvara pod-touch bar pri dodiru.

Vidi također actionContainer() i ActionContainer::addMenu().

[static] Core::ActionManager *ActionManager::instance()

Vraća pokazivač na instancu. Koristi se samo za povezivanje sa signalima.

[static] bool ActionManager::isPresentationModeEnabled()

Vraća je li način prezentacije omogućen.

Prikaz prezentacije je omogućen pri pokretanju Qt Creator s argumentom naredbenog retka -presentationMode. U načinu prezentacije Qt Creator prikazuje svaku pritisnutu prečacu u prozorčiću iznad.

[static] Core::Command *ActionManager::registerAction(QAction *action, Utils::Id id, const Core::Context &context = Context(Constants::C_GLOBAL), bool scriptable = false)

Omogućuje da se action učini poznatim sustavu pod navedenim id.

Vraća instancu Command koja predstavlja akciju u aplikaciji i pripada ActionManager u. Možete registrirati više akcija s istim id, sve dok je context različit. U tom slučaju pokretanje akcije prosljeđuje se registriranom QAction za trenutno aktivni kontekst. Ako nije navedeno opcionalno context, pretpostavit će se globalni kontekst. scriptable akcija može se pozvati iz skripte bez potrebe za korisnikovom interakcijom.

[static] void ActionManager::unregisterAction(QAction *action, Utils::Id id)

Uklanja znanje o akciji pod nazivom " action " unutar navedenog " id".

Obično nije potrebno odjaviti akcije. Jedini valjani slučaj upotrebe odjave akcija je za akcije koje predstavljaju korisnički definirane radnje, poput prilagođenih filtara Locatora. Ako korisnik ukloni takvu akciju, ona se također mora odjaviti iz upravitelja akcija kako bi nestala iz postavki prečaca itd.

[static] QString ActionManager::withNumberAccelerator(const QString &text, const int number)

Ukrašava navedenu text u numeriranom tipkom za ubrzanje number, u stilu izbornika Recent Files.

Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.