IWizardFactory Class
(Core::IWizardFactory)The IWizardFactory class is the base class for all wizard factories. More...
Header: | #include <IWizardFactory> |
Inherited By: |
Public Types
typedef | FactoryCreator |
enum | WizardFlag { PlatformIndependent, ForceCapitalLetterForFileName } |
flags | WizardFlags |
enum | WizardKind { FileWizard, ProjectWizard } |
Public Functions
void | addRequiredFeature(const Core::Id &feature) |
QString | category() const |
QString | description() const |
QString | descriptionImage() const |
QString | displayCategory() const |
QString | displayName() const |
Core::IWizardFactory::WizardFlags | flags() const |
QIcon | icon() const |
QString | iconText() const |
Core::Id | id() const |
virtual bool | isAvailable(Core::Id platformId) const |
Core::IWizardFactory::WizardKind | kind() const |
QSet<Core::Id> | requiredFeatures() const |
QString | runPath(const QString &defaultPath) |
Utils::Wizard * | runWizard(const QString &path, QWidget *parent, Core::Id platform, const QVariantMap &variables) |
void | setCategory(const QString &category) |
void | setDescription(const QString &description) |
void | setDescriptionImage(const QString &descriptionImage) |
void | setDisplayCategory(const QString &displayCategory) |
void | setDisplayName(const QString &displayName) |
void | setFlags(Core::IWizardFactory::WizardFlags flags) |
void | setIcon(const QIcon &icon) |
void | setIconText(const QString &iconText) |
void | setId(const Core::Id id) |
void | setRequiredFeatures(const QSet<Core::Id> &featureSet) |
void | setSupportedProjectTypes(const QSet<Core::Id> &projectTypes) |
QSet<Core::Id> | supportedPlatforms() const |
QSet<Core::Id> | supportedProjectTypes() const |
Static Public Members
QSet<Core::Id> | allAvailablePlatforms() |
QList<Core::IWizardFactory *> | allWizardFactories() |
QWidget * | currentWizard() |
QString | displayNameForPlatform(Core::Id i) |
bool | isWizardRunning() |
void | registerFactoryCreator(const Core::IWizardFactory::FactoryCreator &creator) |
void | registerFeatureProvider(Core::IFeatureProvider *provider) |
void | requestNewItemDialog(const QString &title, const QList<Core::IWizardFactory *> &factories, const QString &defaultLocation, const QVariantMap &extraVariables) |
Protected Functions
QSet<Core::Id> | availableFeatures(Core::Id platformId) const |
QSet<Core::Id> | pluginFeatures() const |
virtual Utils::Wizard * | runWizardImpl(const QString &path, QWidget *parent, Core::Id platform, const QVariantMap &variables) = 0 |
Detailed Description
The IWizardFactory class is the base class for all wizard factories.
Note: Instead of using this class, we recommend that you create JSON-based wizards, as instructed in Adding New Custom Wizards.
The wizard interface is a very thin abstraction for the wizards in File > New File or Project. Basically, it defines what to show to the user in the wizard selection dialogs, and a hook that is called if the user selects the wizard.
Wizards can then perform any operations they like, including showing dialogs and creating files. Often it is not necessary to create your own wizard from scratch. Use one of the predefined wizards and adapt it to your needs.
To make your wizard known to the system, add your IWizardFactory instance to the plugin manager's object pool in your plugin's initialize function:
bool MyPlugin::initialize(const QStringList &arguments, QString *errorString) { // ... do setup addAutoReleasedObject(new MyWizardFactory); // ... do more setup }
See also Core::BaseFileWizardFactory and Core::BaseFileWizard.
Member Type Documentation
typedef IWizardFactory::FactoryCreator
enum IWizardFactory::WizardFlag
flags IWizardFactory::WizardFlags
The WizardFlags type is a typedef for QFlags<WizardFlag>. It stores an OR combination of WizardFlag values.
enum IWizardFactory::WizardKind
Used to specify what kind of objects the wizard creates. This information is used to show e.g. only wizards that create projects when selecting a New Project menu item.
Constant | Value | Description |
---|---|---|
Core::IWizardFactory::FileWizard | 0x01 | The wizard creates one or more files. |
Core::IWizardFactory::ProjectWizard | 0x02 | The wizard creates a new project. |
Member Function Documentation
void IWizardFactory::addRequiredFeature(const Core::Id &feature)
[static]
QSet<Core::Id> IWizardFactory::allAvailablePlatforms()
[static]
QList<Core::IWizardFactory *> IWizardFactory::allWizardFactories()
[protected]
QSet<Core::Id> IWizardFactory::availableFeatures(Core::Id platformId) const
QString IWizardFactory::category() const
See also setCategory().
[static]
QWidget *IWizardFactory::currentWizard()
QString IWizardFactory::description() const
See also setDescription().
QString IWizardFactory::descriptionImage() const
See also setDescriptionImage().
QString IWizardFactory::displayCategory() const
See also setDisplayCategory().
QString IWizardFactory::displayName() const
See also setDisplayName().
[static]
QString IWizardFactory::displayNameForPlatform(Core::Id i)
Core::IWizardFactory::WizardFlags IWizardFactory::flags() const
See also setFlags().
QIcon IWizardFactory::icon() const
See also setIcon().
QString IWizardFactory::iconText() const
See also setIconText().
Core::Id IWizardFactory::id() const
See also setId().
[virtual]
bool IWizardFactory::isAvailable(Core::Id platformId) const
[static]
bool IWizardFactory::isWizardRunning()
Core::IWizardFactory::WizardKind IWizardFactory::kind() const
[protected]
QSet<Core::Id> IWizardFactory::pluginFeatures() const
[static]
void IWizardFactory::registerFactoryCreator(const Core::IWizardFactory::FactoryCreator &creator)
[static]
void IWizardFactory::registerFeatureProvider(Core::IFeatureProvider *provider)
[static]
void IWizardFactory::requestNewItemDialog(const QString &title, const QList<Core::IWizardFactory *> &factories, const QString &defaultLocation, const QVariantMap &extraVariables)
QSet<Core::Id> IWizardFactory::requiredFeatures() const
See also setRequiredFeatures().
QString IWizardFactory::runPath(const QString &defaultPath)
Utils::Wizard *IWizardFactory::runWizard(const QString &path, QWidget *parent, Core::Id platform, const QVariantMap &variables)
Creates the wizard that the user selected for execution on the operating system platform with variables.
Any dialogs the wizard opens should use the given parent. The path argument is a suggestion for the location where files should be created. The wizard should fill this in its path selection elements as a default path.
[pure virtual protected]
Utils::Wizard *IWizardFactory::runWizardImpl(const QString &path, QWidget *parent, Core::Id platform, const QVariantMap &variables)
void IWizardFactory::setCategory(const QString &category)
See also category().
void IWizardFactory::setDescription(const QString &description)
See also description().
void IWizardFactory::setDescriptionImage(const QString &descriptionImage)
See also descriptionImage().
void IWizardFactory::setDisplayCategory(const QString &displayCategory)
See also displayCategory().
void IWizardFactory::setDisplayName(const QString &displayName)
See also displayName().
void IWizardFactory::setFlags(Core::IWizardFactory::WizardFlags flags)
See also flags().
void IWizardFactory::setIcon(const QIcon &icon)
See also icon().
void IWizardFactory::setIconText(const QString &iconText)
See also iconText().
void IWizardFactory::setId(const Core::Id id)
See also id().
void IWizardFactory::setRequiredFeatures(const QSet<Core::Id> &featureSet)
See also requiredFeatures().
void IWizardFactory::setSupportedProjectTypes(const QSet<Core::Id> &projectTypes)
See also supportedProjectTypes().
QSet<Core::Id> IWizardFactory::supportedPlatforms() const
QSet<Core::Id> IWizardFactory::supportedProjectTypes() const
See also setSupportedProjectTypes().