Core::EditorManager Class
class Core::EditorManagerKlasa EditorManager upravlja urednicima stvorenima za datoteke prema njihovom MIME tipu. Više...
| Header: | #include <coreplugin/editormanager/editormanager.h> |
| Inherits: | QObject |
Javne vrste
| enum | OpenEditorFlag { NoFlags, DoNotChangeCurrentEditor, IgnoreNavigationHistory, DoNotMakeVisible, OpenInOtherSplit, …, AllowExternalEditor } |
| flags | OpenEditorFlags |
Javne utičnice
| bool | closeAllEditors(bool askAboutModifiedEditors = true) |
| void | closeOtherDocuments() |
| void | goBackInNavigationHistory() |
| void | goForwardInNavigationHistory() |
| void | gotoOtherSplit() |
| void | revertToSaved() |
| void | saveDocument() |
| void | saveDocumentAs() |
| void | saveDocumentWithoutFormatting() |
| void | splitSideBySide() |
Signali
| void | aboutToSave(Core::IDocument *document, Core::IDocument::SaveOption option) |
| void | autoSaved() |
| void | currentDocumentStateChanged() |
| void | currentEditorAboutToChange(Core::IEditor *editor) |
| void | currentEditorChanged(Core::IEditor *editor) |
| void | documentClosed(Core::IDocument *document) |
| void | documentOpened(Core::IDocument *document) |
| void | documentStateChanged(Core::IDocument *document) |
| void | editorAboutToClose(Core::IEditor *editor) |
| void | editorCreated(Core::IEditor *editor, const Utils::FilePath &filePath) |
| void | editorOpened(Core::IEditor *editor) |
| void | editorsClosed(QList<Core::IEditor *> editors) |
| void | saved(Core::IDocument *document, Core::IDocument::SaveOption option) |
Statični javni članovi
| void | activateEditor(Core::IEditor *editor, Core::EditorManager::OpenEditorFlags flags = NoFlags) |
| Core::IEditor * | activateEditorForDocument(Core::IDocument *document, Core::EditorManager::OpenEditorFlags flags = NoFlags) |
| void | activateEditorForEntry(Core::DocumentModel::Entry *entry, Core::EditorManager::OpenEditorFlags flags = NoFlags) |
| void | addCloseEditorListener(const std::function<bool (IEditor *)> &listener) |
| void | addCurrentPositionToNavigationHistory(const QByteArray &saveState = QByteArray()) |
| void | addEditor(Core::IEditor *editor, Core::EditorManager::OpenEditorFlags flags = NoFlags) |
| void | addNativeDirAndOpenWithActions(QMenu *contextMenu, Core::DocumentModel::Entry *entry) |
| void | addPinEditorActions(QMenu *contextMenu, Core::DocumentModel::Entry *entry) |
| void | addSaveAndCloseEditorActions(QMenu *contextMenu, Core::DocumentModel::Entry *entry, Core::IEditor *editor = nullptr) |
| void | clearUniqueId(Core::IDocument *document) |
| bool | closeAllDocuments() |
| bool | closeDocuments(const QList<Core::DocumentModel::Entry *> &entries) |
| bool | closeDocuments(const QList<Core::IDocument *> &documents, bool askAboutModifiedEditors = true) |
| bool | closeEditors(const QList<Core::IEditor *> &editorsToClose, bool askAboutModifiedEditors = true) |
| void | closeOtherDocuments(Core::IDocument *document) |
| Core::IDocument * | currentDocument() |
| Core::IEditor * | currentEditor() |
| void | cutForwardNavigationHistory() |
| Utils::TextFileFormat::LineTerminationMode | defaultLineEnding() |
| Utils::TextEncoding | defaultTextEncoding() |
| Utils::FilePaths | getOpenFilePaths(int options = {}) |
| Core::EditorManager * | instance() |
| bool | isAutoSaveFile(const QString &filePath) |
| qint64 | maxTextFileSize() |
| Core::IEditor * | openEditor(const Utils::FilePath &filePath, Utils::Id editorId = {}, Core::EditorManager::OpenEditorFlags flags = NoFlags, bool *newEditor = nullptr) |
| Core::IEditor * | openEditorAt(const Utils::Link &link, Utils::Id editorId = {}, Core::EditorManager::OpenEditorFlags flags = NoFlags, bool *newEditor = nullptr) |
| void | openEditorAtSearchResult(const Utils::SearchResultItem &item, Utils::Id editorId = {}, Core::EditorManager::OpenEditorFlags flags = NoFlags, bool *newEditor = nullptr) |
| Core::IEditor * | openEditorWithContents(Utils::Id editorId, QString *titlePattern = nullptr, const QByteArray &contents = QByteArray(), const QString &uniqueId = QString(), Core::EditorManager::OpenEditorFlags flags = NoFlags) |
| bool | openExternalEditor(const Utils::FilePath &filePath, Utils::Id editorId) |
| void | populateOpenWithMenu(QMenu *menu, const Utils::FilePath &filePath) |
| Core::IDocument::ReloadSetting | reloadSetting() |
| bool | saveDocument(Core::IDocument *document) |
| void | setLastEditLocation(const Core::IEditor *editor) |
| bool | skipOpeningBigTextFile(const Utils::FilePath &filePath) |
| QList<Core::IEditor *> | visibleEditors() |
Detaljan opis
Kad god korisnik želi uređivati ili stvoriti datoteku, EditorManager skenira sve sučelje IEditorFactory a u potrazi za prikladnim uređivačima. Odabranom IEditorFactory u zatim se nalaže stvaranje uređivača, ovisno o MIME tipu datoteke.
Korisnici mogu podijeliti prikaz uređivača ili otvoriti uređivač u novom prozoru kada rade na više datoteka i pregledavaju ih na istom ili na više zaslona. Za više informacija pogledajte odjel jak Podjela prikaza uređivača.
Dodaci koriste EditorManager za otvaranje dokumenata u uređivačima ili njihovo zatvaranje te za primanje obavijesti kada se dokumenti otvore, zatvore ili spremaju.
Dokumentacija o vrstama članova
enum EditorManager::OpenEditorFlag
oznake EditorManager::OpenEditorFlags
Ovaj enum određuje postavke za otvaranje datoteke u uređivaču.
| Konstanta | Vrijednost | Opis |
|---|---|---|
Core::EditorManager::NoFlags | 0 | Ne koristi nikakva postavke. |
Core::EditorManager::DoNotChangeCurrentEditor | 1 | Ne prebacuje fokus na novo otvoreni uređivač. |
Core::EditorManager::IgnoreNavigationHistory | 2 | Ne dodaje unos u povijest navigacije za otvoreni uređivač. |
Core::EditorManager::DoNotMakeVisible | 4 | Ne prisiljava uređivač da postane vidljiv. |
Core::EditorManager::OpenInOtherSplit | 8 | Otvara dokument u drugom dijelu prozora. |
Core::EditorManager::DoNotSwitchToDesignMode | 16 | Otvara dokument u trenutnom načinu rada. |
Core::EditorManager::DoNotSwitchToEditMode | 32 | Otvara dokument u trenutnom načinu rada. |
Core::EditorManager::SwitchSplitIfAlreadyVisible | 64 | Prelazi na drugi podijeljen dio ako je dokument već vidljiv tamo. |
Core::EditorManager::DoNotRaise | 128 | Sprječava podizanje prozora Qt Creator na prednji plan. |
Core::EditorManager::AllowExternalEditor | 256 | Omogućuje otvaranje datoteke u vanjskom uređivaču. |
Tip OpenEditorFlags je typedef za QFlags<OpenEditorFlag>. Pohranjuje OR kombinaciju vrijednosti OpenEditorFlag.
Dokumentacija članovskih funkcija
[signal] void EditorManager::aboutToSave(Core::IDocument *document, Core::IDocument::SaveOption option)
Ovaj signal se emitira prije nego što se spremnjak spremnog spremnika ( document ) spasi pomoću opcije za spremanje option.
[static] void EditorManager::activateEditor(Core::IEditor *editor, Core::EditorManager::OpenEditorFlags flags = NoFlags)
Aktivira editor u aktivnom splitu koristeći navedeni flags.
Vidi također currentEditor().
[static] Core::IEditor *EditorManager::activateEditorForDocument(Core::IDocument *document, Core::EditorManager::OpenEditorFlags flags = NoFlags)
Aktivira uređivač za document u aktivnom razdjeljku koristeći navedeni flags.
[static] void EditorManager::activateEditorForEntry(Core::DocumentModel::Entry *entry, Core::EditorManager::OpenEditorFlags flags = NoFlags)
Aktivira uređivač za dokument naveden pomoću entry -a u aktivnom razdjeljku koristeći navedeni flags.
[static] void EditorManager::addCloseEditorListener(const std::function<bool (IEditor *)> &listener)
Dodaje listener među zakačke koje se pitaju mogu li se urednici zatvoriti.
Kada urednik zatraži zatvaranje, pozivaju se svi slušači. Ako jedan od poziva vrati false, proces se prekida i događaj se zanemaruje. Ako svi pozivi vrate true, emitira se editorAboutToClose() i događaj se prihvaća.
[static] void EditorManager::addCurrentPositionToNavigationHistory(const QByteArray &saveState = QByteArray())
Dodaje trenutnu poziciju kursora, koju je odredio saveState, u povijest navigacije. Ako je saveState postavljen na null (po zadanom), koristi se trenutačno stanje aktivnog uređivača. U suprotnom, saveState mora biti važeće stanje aktivnog uređivača.
Vidi također IEditor::saveState().
[static] void EditorManager::addEditor(Core::IEditor *editor, Core::EditorManager::OpenEditorFlags flags = NoFlags)
Čini instancu IEditor -a editor poznatom EditorManager -u, koji je prije nije poznavao, i aktivira je pomoću flags-a.
[static] void EditorManager::addNativeDirAndOpenWithActions(QMenu *contextMenu, Core::DocumentModel::Entry *entry)
Dodaje nativnu obradu direktorija i stavke izbornika "Otvori s" za dokument entry u kontekstni izbornik contextMenu.
[static] void EditorManager::addPinEditorActions(QMenu *contextMenu, Core::DocumentModel::Entry *entry)
Dodaje stavke izbornika urednika zakljevača za dokument entry u kontekstni izbornik contextMenu.
[static] void EditorManager::addSaveAndCloseEditorActions(QMenu *contextMenu, Core::DocumentModel::Entry *entry, Core::IEditor *editor = nullptr)
Dodaje stavke spremi, zatvori i druge stavke kontekstnog izbornika urednika za dokument entry i urednik editor u kontekstni izbornik contextMenu.
[signal] void EditorManager::autoSaved()
Ovaj signal se emitira nakon što je pokrenuto automatsko spremanje.
[static] void EditorManager::clearUniqueId(Core::IDocument *document)
Očisti jedinstveni ID document a.
Vidi također openEditorWithContents().
[static] bool EditorManager::closeAllDocuments()
Zatvara sve otvorene dokumente osim prikačenih datoteka.
Vraća informaciju o tome jesu li svi uređivači zatvoreni.
[static slot] bool EditorManager::closeAllEditors(bool askAboutModifiedEditors = true)
Zatvara sve otvorene uređivače. Ako je askAboutModifiedEditors true , korisnike potiče da spremaju svoje promjene prije zatvaranja uređivača.
Vraća informaciju o tome jesu li svi uređivači zatvoreni.
[static] bool EditorManager::closeDocuments(const QList<Core::DocumentModel::Entry *> &entries)
Zatvara dokumente navedene u entries u.
Vraća informaciju o tome jesu li svi dokumenti zatvoreni.
[static] bool EditorManager::closeDocuments(const QList<Core::IDocument *> &documents, bool askAboutModifiedEditors = true)
Zatvara documents. Ako je askAboutModifiedEditors postavljen na true, korisnike će potaknuti da spremaju svoje promjene prije zatvaranja dokumenata.
Vraća informaciju o tome jesu li dokumenti zatvoreni.
[static] bool EditorManager::closeEditors(const QList<Core::IEditor *> &editorsToClose, bool askAboutModifiedEditors = true)
Zatvara uređivače navedene u editorsToClose. Ako je askAboutModifiedEditors postavljen na true, korisnike će potaknuti da spremaju svoje promjene prije zatvaranja uređivača.
Vraća informaciju o tome jesu li svi uređivači zatvoreni.
Obično je closeDocuments() bolja alternativa.
Vidi također closeDocuments().
[static slot] void EditorManager::closeOtherDocuments()
Zatvara sve otvorene dokumente osim trenutnog dokumenta.
Napomena: Ovaj slot je preopterećen. Za povezivanje na ovaj slot:
// Connect using qOverload:
connect(editorManager, qOverload<>(&EditorManager::closeOtherDocuments),
receiver, &ReceiverClass::slot);
// Or using a lambda:
connect(editorManager, qOverload<>(&EditorManager::closeOtherDocuments),
this, []() { /* handle closeOtherDocuments */ });[static] void EditorManager::closeOtherDocuments(Core::IDocument *document)
Zatvara sve otvorene dokumente osim document a i pričvršćenih datoteka.
[static] Core::IDocument *EditorManager::currentDocument()
Vraća dokument trenutno aktivnog uređivača.
Vidi također currentEditor().
[signal] void EditorManager::currentDocumentStateChanged()
Ovaj signal se emitira kada se promijene metapodaci trenutnog dokumenta, na primjer naziv datoteke ili stanje izmjene.
Vidi također IDocument::changed().
[static] Core::IEditor *EditorManager::currentEditor()
Vraća trenutno aktivni uređivač.
Vidi također currentDocument().
[signal] void EditorManager::currentEditorAboutToChange(Core::IEditor *editor)
Ovaj signal se emitira prije nego što se trenutni urednik promijeni u editor.
[signal] void EditorManager::currentEditorChanged(Core::IEditor *editor)
Ovaj signal se emitira nakon što je trenutni uređivač promijenjen na editor.
[static] void EditorManager::cutForwardNavigationHistory()
Obrzezuje napredni dio povijesti navigacije, tako da korisnik više ne može Go Forward (dok ponovno ne prijeđe unatrag).
Vidi također goForwardInNavigationHistory() i addCurrentPositionToNavigationHistory().
[static] Utils::TextFileFormat::LineTerminationMode EditorManager::defaultLineEnding()
Vraća zadani kraj retka koji je korisnik odredio u postavkama.
[static] Utils::TextEncoding EditorManager::defaultTextEncoding()
Vraća zadani kodiranje teksta koje je korisnik odredio u postavkama.
[signal] void EditorManager::documentClosed(Core::IDocument *document)
Ovaj signal se emitira nakon što se document zatvori, ali prije nego što se izbriše.
[signal] void EditorManager::documentOpened(Core::IDocument *document)
Ovaj signal se emitira nakon što se prvi uređivač za document otvori u prikazu uređivača.
[signal] void EditorManager::documentStateChanged(Core::IDocument *document)
Ovaj signal se emitira kada se promijene metapodaci document-a, na primjer naziv datoteke ili stanje izmjene.
Vidi također IDocument::changed().
[signal] void EditorManager::editorAboutToClose(Core::IEditor *editor)
Ovaj signal se emitira prije nego što se editor zatvori. Može se koristiti za oslobađanje resursa koji su dodijeljeni uređivaču odvojeno od samog uređivača. Ne može se koristiti za sprječavanje zatvaranja uređivača. Za to pogledajte addCloseEditorListener()
Obično je prikladniji signal za slušanje documentClosed().
Vidi također addCloseEditorListener().
[signal] void EditorManager::editorCreated(Core::IEditor *editor, const Utils::FilePath &filePath)
Ovaj signal se emitira nakon što je za datoteku na filePath stvoren e editor, ali prije nego što je otvorena u uređivačkom prikazu.
[signal] void EditorManager::editorOpened(Core::IEditor *editor)
Ovaj signal se emitira nakon što je u prikazu uređivača otvoren novi editor.
Obično je prikladniji signal za slušanje documentOpened().
[signal] void EditorManager::editorsClosed(QList<Core::IEditor *> editors)
Ovaj signal se emitira nakon što su editors zatvoreni, ali prije nego što budu izbrisani.
Obično je prikladniji signal za praćenje documentClosed().
[static] Utils::FilePaths EditorManager::getOpenFilePaths(int options = {})
Traži od korisnika popis datoteka za otvaranje i vraća odabir.
Argument options sadrži različite opcije o načinu pokretanja dijaloga. Pogledajte enum QFileDialog::Options za više informacija o zastavicama koje možete proslijediti.
Vidi također DocumentManager::getOpenFileNames() i QFileDialog::Options.
[static slot] void EditorManager::goBackInNavigationHistory()
Vraća se unatrag u povijest navigacije.
Vidi također goForwardInNavigationHistory() i addCurrentPositionToNavigationHistory().
[static slot] void EditorManager::goForwardInNavigationHistory()
Prelazi na sljedeći unos u povijesti navigacije.
Vidi također goBackInNavigationHistory() i addCurrentPositionToNavigationHistory().
[static slot] void EditorManager::gotoOtherSplit()
Pomaknite fokus na drugu podijeljenu površinu, stvarajući je ako je potrebno. Ako nema podijeljene površine niti druge prozorske instance, stvara se bočna podjela. Ako je trenutna prozorska instanca podijeljena, fokus se premješta na sljedeću podijeljenu površinu unutar te instance, ciklički. Ako trenutna prozorska instanca nije podijeljena, fokus se premješta na sljedeću prozorsku instancu.
[static] Core::EditorManager *EditorManager::instance()
Vraća pokazivač na instancu. Koristi se samo za povezivanje sa signalima.
[static] bool EditorManager::isAutoSaveFile(const QString &filePath)
Vraća istinu ako je filePath automatska sigurnosna kopija koju je stvorio Qt Creator.
[static] qint64 EditorManager::maxTextFileSize()
Vraća maksimalnu veličinu datoteke koja bi se trebala otvoriti u uređivaču teksta.
[static] Core::IEditor *EditorManager::openEditor(const Utils::FilePath &filePath, Utils::Id editorId = {}, Core::EditorManager::OpenEditorFlags flags = NoFlags, bool *newEditor = nullptr)
Otvara dokument naveden u filePath pomoću uređivača tipa editorId i navedenog flags.
Ako je editorId Id() , tip uređivača se izveden iz MIME tipa datoteke.
Ako newEditor nije nullptr, a stvorena je nova instanca uređivača, ona se postavlja na true. Ako je korištena postojeća instanca uređivača, ona se postavlja na false.
Vidi također openEditorAt(), openEditorWithContents(), i openExternalEditor().
[static] Core::IEditor *EditorManager::openEditorAt(const Utils::Link &link, Utils::Id editorId = {}, Core::EditorManager::OpenEditorFlags flags = NoFlags, bool *newEditor = nullptr)
Otvara dokument naveden u link koristeći uređivač tipa editorId i navedenu flags.
Pomakne tekstualni pokazivač na redak i stupac navedene u link.
Ako je editorId Id() , tip uređivača se izveden iz MIME tipa datoteke.
Ako newEditor nije nullptr, a stvorena je nova instanca uređivača, postavlja se na true. Ako je korištena postojeća instanca uređivača, postavlja se na false.
Vidi također openEditor(), openEditorAtSearchResult(), openEditorWithContents(), openExternalEditor(), i IEditor::gotoLine().
[static] void EditorManager::openEditorAtSearchResult(const Utils::SearchResultItem &item, Utils::Id editorId = {}, Core::EditorManager::OpenEditorFlags flags = NoFlags, bool *newEditor = nullptr)
Otvara dokument na položaju rezultata pretraživanja item koristeći tip uređivača editorId i navedenu flags.
Ako je editorId Id() , tip uređivača se izveden iz MIME tipa datoteke.
Ako newEditor nije nullptr, a stvorena je nova instanca uređivača, postavlja se na true. Ako je korištena postojeća instanca uređivača, postavlja se na false.
Vidi također openEditorAt().
[static] Core::IEditor *EditorManager::openEditorWithContents(Utils::Id editorId, QString *titlePattern = nullptr, const QByteArray &contents = QByteArray(), const QString &uniqueId = QString(), Core::EditorManager::OpenEditorFlags flags = NoFlags)
Otvara contents u uređivaču tipa editorId koristeći navedeni flags.
Uređivaču se dodjeljuje prikazno ime na temelju titlePattern. Ako je naveden ne-prazan uniqueId i pronađen je uređivač s tim jedinstvenim ID-om, on se ponovno koristi. U suprotnom se stvara novi uređivač s tim jedinstvenim ID-om.
Vraća novi ili ponovno korišteni uređivač.
Vidi također clearUniqueId().
[static] bool EditorManager::openExternalEditor(const Utils::FilePath &filePath, Utils::Id editorId)
Otvara dokument naveden u filePath u vanjskom uređivaču navedenom u editorId.
Vraća false i prikazuje poruku o pogrešci ako editorId nije ID vanjskog uređivača ili se vanjski uređivač ne može otvoriti.
Vidi također openEditor().
[static] void EditorManager::populateOpenWithMenu(QMenu *menu, const Utils::FilePath &filePath)
Popunjava izbornik Open With menu urednicima koji su prikladni za otvaranje dokumenta filePath.
[static] Core::IDocument::ReloadSetting EditorManager::reloadSetting()
Povrat vraća postavke ponašanja ponovnog učitanja.
[static slot] void EditorManager::revertToSaved()
Vraća trenutni dokument u stanje posljednjeg spremanja.
[static slot] void EditorManager::saveDocument()
Sprema trenutni dokument.
Napomena: Ovaj slot je preopterećen. Za povezivanje na ovaj slot:
// Connect using qOverload:
connect(editorManager, qOverload<>(&EditorManager::saveDocument),
receiver, &ReceiverClass::slot);
// Or using a lambda:
connect(editorManager, qOverload<>(&EditorManager::saveDocument),
this, []() { /* handle saveDocument */ });[static] bool EditorManager::saveDocument(Core::IDocument *document)
Sačuvajte promjene u document u.
Vraća je li operacija bila uspješna.
[static slot] void EditorManager::saveDocumentAs()
Sačuvajte trenutni dokument pod drugim nazivom datoteke.
[static slot] void EditorManager::saveDocumentWithoutFormatting()
Sačuvajte trenutni dokument bez automatskog formatiranja.
[signal] void EditorManager::saved(Core::IDocument *document, Core::IDocument::SaveOption option)
Ovaj signal se emitira nakon što je document spremljen pomoću opcije za spremanje option.
[static] void EditorManager::setLastEditLocation(const Core::IEditor *editor)
Postavlja lokaciju koja je posljednji put izmijenjena na editor. Koristi se za Window > Go to Last Edit.
[static] bool EditorManager::skipOpeningBigTextFile(const Utils::FilePath &filePath)
Vraća istinu ako se dokument naveden u filePath treba otvoriti unatoč svojoj veličini. Ovisno o postavkama, može zatražiti od korisnika da odluči treba li datoteku otvoriti.
[static slot] void EditorManager::splitSideBySide()
Dijeli prikaz uređivača vodoravno na susjedne prikaze.
[static] QList<Core::IEditor *> EditorManager::visibleEditors()
Vraća popis vidljivih urednika.
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.