IWizardFactory Class

(Core::IWizardFactory)

The class IWizardFactory is the base class for all wizard factories (for example shown in File | New). More...

Header: #include <IWizardFactory>

Public Types

typedef FactoryCreator
enum WizardFlag { PlatformIndependent, ForceCapitalLetterForFileName }
flags WizardFlags
enum WizardKind { FileWizard, ClassWizard, ProjectWizard }

Public Functions

void addRequiredFeature(const Id &feature)
QString category() const
QString description() const
QString descriptionImage() const
QString displayCategory() const
QString displayName() const
WizardFlags flags() const
QIcon icon() const
QString iconText() const
Id id() const
virtual bool isAvailable(Id platformId) const
WizardKind kind() const
QSet<Id> requiredFeatures() const
QString runPath(const QString &defaultPath)
Utils::Wizard *runWizard(const QString &path, QWidget *parent, 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(WizardFlags flags)
void setIcon(const QIcon &icon)
void setIconText(const QString &iconText)
void setId(const Id id)
void setRequiredFeatures(const QSet<Id> &featureSet)
void setSupportedProjectTypes(const QSet<Id> &projectTypes)
QSet<Id> supportedPlatforms() const
QSet<Id> supportedProjectTypes() const

Static Public Members

QSet<Id> allAvailablePlatforms()
QList<IWizardFactory *> allWizardFactories()
QWidget *currentWizard()
QString displayNameForPlatform(Id i)
bool isWizardRunning()
void registerFactoryCreator(const FactoryCreator &creator)
void registerFeatureProvider(IFeatureProvider *provider)
void requestNewItemDialog(const QString &title, const QList<IWizardFactory *> &factories, const QString &defaultLocation, const QVariantMap &extraVariables)

Protected Functions

QSet<Id> availableFeatures(Id platformId) const
QSet<Id> pluginFeatures() const
virtual Utils::Wizard *runWizardImpl(const QString &path, QWidget *parent, Id platform, const QVariantMap &variables) = 0

Detailed Description

The class IWizardFactory is the base class for all wizard factories (for example shown in File | New).

The wizard interface is a very thin abstraction for the New... wizards. 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, instead 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::BaseFileWizard and Core::StandardFileWizard.

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.

ConstantValueDescription
Core::IWizardFactory::FileWizard0x01The wizard creates one or more files.
Core::IWizardFactory::ClassWizard?The wizard creates a new class (e.g. source+header files).
Core::IWizardFactory::ProjectWizard0x02The wizard creates a new project.

Member Function Documentation

void IWizardFactory::addRequiredFeature(const Id &feature)

[static] QSet<Id> IWizardFactory::allAvailablePlatforms()

[static] QList<IWizardFactory *> IWizardFactory::allWizardFactories()

[protected] QSet<Id> IWizardFactory::availableFeatures(Id platformId) const

QString IWizardFactory::category() const

Returns a category ID to add the wizard to.

See also setCategory().

[static] QWidget *IWizardFactory::currentWizard()

QString IWizardFactory::description() const

Returns a translated description to show when this wizard is selected in the dialog.

See also setDescription().

QString IWizardFactory::descriptionImage() const

See also setDescriptionImage().

QString IWizardFactory::displayCategory() const

Returns the translated string of the category, how it should appear in the dialog.

See also setDisplayCategory().

QString IWizardFactory::displayName() const

Returns the translated name of the wizard, how it should appear in the dialog.

See also setDisplayName().

[static] QString IWizardFactory::displayNameForPlatform(Id i)

WizardFlags IWizardFactory::flags() const

See also setFlags().

QIcon IWizardFactory::icon() const

Returns an icon to show in the wizard selection dialog.

See also setIcon().

QString IWizardFactory::iconText() const

See also setIconText().

Id IWizardFactory::id() const

Returns an arbitrary id that is used for sorting within the category.

See also setId().

[virtual] bool IWizardFactory::isAvailable(Id platformId) const

[static] bool IWizardFactory::isWizardRunning()

WizardKind IWizardFactory::kind() const

Returns what kind of objects are created by the wizard.

See also Kind.

[protected] QSet<Id> IWizardFactory::pluginFeatures() const

[static] void IWizardFactory::registerFactoryCreator(const FactoryCreator &creator)

[static] void IWizardFactory::registerFeatureProvider(IFeatureProvider *provider)

[static] void IWizardFactory::requestNewItemDialog(const QString &title, const QList<IWizardFactory *> &factories, const QString &defaultLocation, const QVariantMap &extraVariables)

QSet<Id> IWizardFactory::requiredFeatures() const

See also setRequiredFeatures().

QString IWizardFactory::runPath(const QString &defaultPath)

Utils::Wizard *IWizardFactory::runWizard(const QString &path, QWidget *parent, Id platform, const QVariantMap &variables)

[pure virtual protected] Utils::Wizard *IWizardFactory::runWizardImpl(const QString &path, QWidget *parent, 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(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 Id id)

See also id().

void IWizardFactory::setRequiredFeatures(const QSet<Id> &featureSet)

See also requiredFeatures().

void IWizardFactory::setSupportedProjectTypes(const QSet<Id> &projectTypes)

See also supportedProjectTypes().

QSet<Id> IWizardFactory::supportedPlatforms() const

QSet<Id> IWizardFactory::supportedProjectTypes() const

See also setSupportedProjectTypes().