Core::BaseFileWizardFactory Class
class Core::BaseFileWizardFactoryKlasa BaseFileWizardFactory implementira generički čarobnjak za stvaranje datoteka. Više...
| Header: | #include <coreplugin/basefilewizardfactory.h> |
| Inherits: | Core::IWizardFactory |
Statični javni članovi
| Utils::FilePath | buildFileName(const Utils::FilePath &path, const QString &baseName, const QString &extension) |
Zaštićene funkcije
| virtual Core::BaseFileWizard * | create(const Core::WizardDialogParameters ¶meters) const = 0 |
| virtual Core::GeneratedFiles | generateFiles(const QWizard *w, QString *errorMessage) const = 0 |
| virtual Utils::Result<> | postGenerateFiles(const QWizard *w, const Core::GeneratedFiles &l) const |
| virtual Utils::Result<> | writeFiles(const Core::GeneratedFiles &files) const |
Statični zaštićeni članovi
| Utils::Result<> | postGenerateOpenEditors(const Core::GeneratedFiles &l) |
| QString | preferredSuffix(const QString &mimeType) |
| Utils::Result<Core::BaseFileWizardFactory::OverwriteResult> | promptOverwrite(Core::GeneratedFiles *files) |
Detaljan opis
Sljedeće apstraktne funkcije moraju biti implementirane:
- create(): Poziva se za stvaranje dijaloga za odabir datoteke ( QWizard ) koji će se prikazati.
- generateFiles(): Generira sadržaj datoteke.
Ponašanje se može dodatno prilagoditi prebrisavanjem virtualne funkcije postGenerateFiles(), koja se poziva nakon generiranja datoteka.
Napomena: Umjesto korištenja ove klase, preporučujemo da kreirate čarobnjake temeljene na JSON-u, kako je navedeno u odjeljcima Dodavanje čarobnjaka i Prilagođeni čarobnjaci.
Vidi također Core::GeneratedFile, Core::WizardDialogParameters i Core::BaseFileWizard.
Dokumentacija funkcija člana
[static] Utils::FilePath BaseFileWizardFactory::buildFileName(const Utils::FilePath &path, const QString &baseName, const QString &extension)
Izrađuje naziv datoteke uključujući path, dodajući extension osim ako baseName već nema jedan.
[pure virtual protected] Core::BaseFileWizard *BaseFileWizardFactory::create(const Core::WizardDialogParameters ¶meters) const
Stvara čarobnjak s parameters om.
[pure virtual protected] Core::GeneratedFiles BaseFileWizardFactory::generateFiles(const QWizard *w, QString *errorMessage) const
Pokrenite Overwrite za upit parametara iz čarobnjaka w i generiranje datoteka.
Moguće pogreške pohranjuju se u errorMessage.
Napomena: Ovo ne generira fizičke datoteke, već samo popis u Core::GeneratedFile.
[virtual protected] Utils::Result<> BaseFileWizardFactory::postGenerateFiles(const QWizard *w, const Core::GeneratedFiles &l) const
Overwrite za izvođenje koraka koje će izvršiti čarobnjak w nakon što datoteke navedene u l budu stvarno stvorene.
Zadana implementacija otvara uređivače s novogeneriranim datotekama za koje je postavljeno GeneratedFile::OpenEditorAttribute.
[static protected] Utils::Result<> BaseFileWizardFactory::postGenerateOpenEditors(const Core::GeneratedFiles &l)
Otvara uređivače za datoteke l ako je njihov atribut GeneratedFile::OpenEditorAttribute postavljen u skladu s tim.
Ako se urednici ne mogu otvoriti, vraća Utils::ResultError.
[static protected] QString BaseFileWizardFactory::preferredSuffix(const QString &mimeType)
Vraća preferirani sufiks za mimeType.
[static protected] Utils::Result<Core::BaseFileWizardFactory::OverwriteResult> BaseFileWizardFactory::promptOverwrite(Core::GeneratedFiles *files)
Izvršava provjeru prepravljanja na skupu datoteka u files u. Provjerava postoji li datoteka i može li se uopće prepraviti, a zatim korisniku prikazuje sažetak.
Vraća je li datoteka moguća prebrisati.
[virtual protected] Utils::Result<> BaseFileWizardFactory::writeFiles(const Core::GeneratedFiles &files) const
Fizički piše files.
Ako se datoteke ne mogu zapisati, vraća Utils::ResultError.
Ponovno implementiraj (pozivajući osnovnu implementaciju) kako bi stvorio datoteke s postavkom GeneratedFile::CustomGeneratorAttribute.
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.