CustomWizardContext Class
(ProjectExplorer::Internal::CustomWizardContext)The CustomWizardContext class provides the context for one custom wizard run. More...
| Header: | #include <CustomWizardContext> | 
Public Types
| typedef | FieldReplacementMap | 
| typedef | TemporaryFilePtr | 
| typedef | TemporaryFilePtrList | 
Public Functions
| void | reset() | 
Public Variables
| ProjectExplorer::Internal::CustomWizardContext::FieldReplacementMap | baseReplacements | 
| int | path | 
| ProjectExplorer::Internal::CustomWizardContext::FieldReplacementMap | replacements | 
| int | targetPath | 
Static Public Members
| int | processFile(const ProjectExplorer::Internal::CustomWizardContext::FieldReplacementMap &, int) | 
| bool | replaceFields(const ProjectExplorer::Internal::CustomWizardContext::FieldReplacementMap &fm, int *s) | 
| bool | replaceFields(const ProjectExplorer::Internal::CustomWizardContext::FieldReplacementMap &fm, int *s, ProjectExplorer::Internal::CustomWizardContext::TemporaryFilePtrList *files) | 
Detailed Description
The CustomWizardContext class provides the context for one custom wizard run.
Shared between CustomWizard and the CustomWizardPage as it is used for the QLineEdit-type fields' default texts as well. Contains basic replacement fields like '%CppSourceSuffix%', '%CppHeaderSuffix%' (settings-dependent). reset() should be called before each wizard run to refresh them. CustomProjectWizard additionally inserts '%ProjectName%' from the intro page to have it available for default texts.
See also ProjectExplorer::CustomWizard.
Member Type Documentation
typedef CustomWizardContext::FieldReplacementMap
typedef CustomWizardContext::TemporaryFilePtr
typedef CustomWizardContext::TemporaryFilePtrList
Property Documentation
Member Function Documentation
[static] int CustomWizardContext::processFile(const ProjectExplorer::Internal::CustomWizardContext::FieldReplacementMap &, int)
[static] bool CustomWizardContext::replaceFields(const ProjectExplorer::Internal::CustomWizardContext::FieldReplacementMap &fm, int *s)
Replaces field values delimited by '%' with special modifiers:
- %Field% -> simple replacement
- %Field:l% -> replace with everything changed to lower case
- %Field:u% -> replace with everything changed to upper case
- %Field:c% -> replace with first character capitalized
- %Field:h% -> replace with something usable as header guard
- %Field:s% -> replace with something usable as structure or class name
The return value indicates whether non-empty replacements were encountered.
[static] bool CustomWizardContext::replaceFields(const ProjectExplorer::Internal::CustomWizardContext::FieldReplacementMap &fm, int *s, ProjectExplorer::Internal::CustomWizardContext::TemporaryFilePtrList *files)
This function is a special replaceFields() overload used for the arguments of a generator script.
Writes the expanded field values out to temporary files specified by files and inserts file names instead of the expanded fields in the string s.