Izrada čarobnjaka u kodu
Uvod
Ako funkcionalnost prilagođenih čarobnjaka temeljenih na predlošcima nije dovoljna za vaš slučaj, možete pisati čarobnjake u kodu.
Čarobnjak u Qt Creator u je instanca klase koja implementira sučelje Core::IWizardFactory i koja ima tvorničku funkciju registriranu s IWizardFactory::registerFactoryCreator.
Implementacija čarobnjaka zahtijeva:
- Pisanje tvorničke klase koja nasljeđuje od Core::IWizardFactory. Ovo je vrlo generički sučelje koje ne pretpostavlja ništa o tome što čarobnjak radi i kako njegov korisnički sučelje izgleda.
- Pružanje skupa parametara koji određuju kako se čarobnjak prikazuje na popisu čarobnjaka u dijaloškom okviru New File ili New Project.
Kada nasljeđujete od Core::IWizardFactory, konstruktor mora pozvati sljedeće settere koje pruža baza klase:
setIdsetWizardKindsetIconsetDescriptionsetDisplayNamesetCategorysetDisplayCategorysetDescriptionImagesetRequiredFeaturessetFlags
- Implementacija korisničkog sučelja čarobnjaka
Obično će to biti klasa izvedena iz Utils::Wizard. Utils::Wizard nasljeđuje QWizard s funkcionalnošću prikazivanja trake napretka s lijeve strane.
- Implementacija funkcionalnosti čarobnjaka
Preporučuje se koristiti klasu Core::GeneratedFile za predstavljanje datoteka koje je potrebno zapisati na disk. One omogućuju odgađanje zapisa stvarnih podataka na disk dok čarobnjak ne završi.
Relevantne klase
| Klasa | Opis |
|---|---|
| Core::IWizardFactory | Qt Creator wizard sučelje, čije su implementacije registrirane kod ExtensionSystem::PluginManager. |
| Core::GeneratedFile | Datoteka koja sadrži naziv, sadržaj i neke atribute. |
| Utils::FileWizardPage | Početna stranica čarobnjaka koja traži naziv i putanju datoteke. |
| Utils::ProjectIntroPage | Uvodna stranica čarobnjaka koja traži naziv i putanju projekta. |
Postavljači i dohvaćači klase IWizardFactory
Postavljači i dobivači navedeni u nastavku određuju kako se čarobnjak prikazuje na popisu čarobnjaka u dijalogu New File ili New Project.
| Tip | Naziv parametra | Opis |
|---|---|---|
| Core::IWizardFactory::WizardKind | vrsta | Enumeracijska vrijednost koja označava vrstu čarobnjaka (project ili file). |
| QIcon | ikona | Ikona za prikaz. |
| QString | opis | Opisni tekst. |
| QString | displayName | Naziv koji će se prikazivati na popisu. |
| QString | id | Jedinstveni identifikator za čarobnjak. Također određuje redoslijed unutar kategorije. |
| QString | kategorija | Identifikator kategorije pod kojom će se čarobnjak navesti. Također određuje redoslijed kategorija. |
| QString | prikažiKategoriju | Opis kategorije. |
Svi čarobnjaci koji imaju isti skup kategorija bit će grupirani zajedno u dijalogu New File ili New Project.
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.