Package org.eclipse.pde.ui.templates
Class OptionTemplateSection
- java.lang.Object
-
- org.eclipse.pde.ui.templates.AbstractTemplateSection
-
- org.eclipse.pde.ui.templates.BaseOptionTemplateSection
-
- org.eclipse.pde.ui.templates.OptionTemplateSection
-
- All Implemented Interfaces:
ITemplateSection
,IVariableProvider
public abstract class OptionTemplateSection extends BaseOptionTemplateSection
This class adds some conventions to the class it is based on. For example, it expects to find the template content in the following location:[install location]/[templateDirectory]/[sectionId]
wheretemplateDirectory
is expected to be 'templates_3.0' (to distinguish from template designed for earlier Eclipse versions), andsectionId
is the unique identifier as reported by the template section.It also assumes that all wizard pages associated with this template will be based on
OptionTemplateWizardPage
.- Since:
- 2.0
-
-
Field Summary
-
Fields inherited from class org.eclipse.pde.ui.templates.AbstractTemplateSection
KEY_ACTIVATOR_SIMPLE, KEY_PACKAGE_NAME, KEY_PLUGIN_CLASS, KEY_PLUGIN_ID, KEY_PLUGIN_NAME, model, project
-
-
Constructor Summary
Constructors Constructor Description OptionTemplateSection()
The default constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description WizardPage
createPage(int pageIndex)
Creates the wizard page for the specified page index.WizardPage
createPage(int pageIndex, String helpContextId)
Creates the wizard page for the specified page index.protected void
flagMissingRequiredOption(TemplateOption option)
Locates the page that this option is presented in and flags that the option is required and is currently not set.String
getDescription()
Returns the description of this template to be used in the UI.protected abstract URL
getInstallURL()
Returns the install URL of the plug-in that contributes this template.String
getLabel()
Returns the label of this template to be used in the UI.TemplateOption[]
getOptions(int pageIndex)
Returns options that belong to the page with the given index.TemplateOption[]
getOptions(WizardPage page)
Returns options that are added to the provided wizard page.WizardPage
getPage(int pageIndex)
Returns the wizard page at the specified index.int
getPageCount()
Returns a number of pages that this template contributes to the wizard.int
getPageIndex(TemplateOption option)
Returns the zero-based index of a page that hosts the the given option.abstract String
getSectionId()
Returns the unique name of this section.protected String
getTemplateDirectory()
Returns the directory where all the templates are located in the contributing plug-in.URL
getTemplateLocation()
Implements the abstract method by looking for templates using the following path:protected void
registerOption(TemplateOption option, Object value, int pageIndex)
Registers the provided option and sets the initial value.protected void
resetPageState()
Resets the current page state by clearing the error message and making the page complete, thereby allowing users to flip to the next page.void
setPageCount(int count)
Sets the number of pages this template will manage.void
validateOptions(TemplateOption source)
Validate options given a template option-
Methods inherited from class org.eclipse.pde.ui.templates.BaseOptionTemplateSection
addBlankField, addBlankField, addComboChoiceOption, addOption, addOption, addOption, execute, getBooleanOption, getReplacementString, getStringOption, getValue, initializeFields, initializeFields, initializeOption, isDependentOnParentWizard, setOptionEnabled
-
Methods inherited from class org.eclipse.pde.ui.templates.AbstractTemplateSection
addPages, createExtension, generateFiles, generateFiles, getDependencies, getManifestHeader, getNumberOfWorkUnits, getPagesAdded, getPluginResourceBundle, getPluginResourceString, getSourceFolder, getTargetVersion, hasBundleManifest, isOkToCreateFile, isOkToCreateFolder, markPagesAdded, setManifestHeader, updateModel
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.pde.ui.templates.ITemplateSection
getNewFiles, getUsedExtensionPoint
-
-
-
-
Method Detail
-
getSectionId
public abstract String getSectionId()
Returns the unique name of this section. This name will be used to construct name and description lookup keys, as well as the template file location in the contributing plug-in.- Returns:
- the unique section Id
- See Also:
getLabel()
,getDescription()
,getTemplateLocation()
-
getTemplateDirectory
protected String getTemplateDirectory()
Returns the directory where all the templates are located in the contributing plug-in.- Returns:
- "templates_[schemaVersion]" for code since Eclipse 3.0, or "templates" for pre-3.0 code.
-
getInstallURL
protected abstract URL getInstallURL()
Returns the install URL of the plug-in that contributes this template.- Returns:
- the install URL of the contributing plug-in
-
getTemplateLocation
public URL getTemplateLocation()
Implements the abstract method by looking for templates using the following path:[install location]/[templateDirectory]/[sectionId]
- Specified by:
getTemplateLocation
in interfaceITemplateSection
- Overrides:
getTemplateLocation
in classAbstractTemplateSection
- Returns:
- the URL of the location where files to be emitted by this template are located.
-
getPage
public WizardPage getPage(int pageIndex)
Returns the wizard page at the specified index. Pages must be created prior to calling this method.- Parameters:
pageIndex
- the index to get the page for- Returns:
- the wizard page at the specified index or null if invalid index.
- See Also:
createPage(int)
-
createPage
public WizardPage createPage(int pageIndex)
Creates the wizard page for the specified page index. This method cannot be called before setPageCount(int). The page will be created with all the options registered for that page index. Therefore, make all the calls to addOption() before calling this method.- Parameters:
pageIndex
- a zero-based index of the page relative to this template. For example, if a template needs to have two pages, you have to call this method twice (once with index 0 and again with index 1).- Returns:
- the created wizard page
- See Also:
setPageCount(int)
,BaseOptionTemplateSection.addOption(java.lang.String, java.lang.String, boolean, int)
-
createPage
public WizardPage createPage(int pageIndex, String helpContextId)
Creates the wizard page for the specified page index. This method cannot be called before setPageCount(int). The page will be created with all the options registered for that page index. Therefore, make all the calls to addOption() before calling this method.- Parameters:
pageIndex
- a zero-based index of the page relative to this template. For example, if a template need to have two pages, you have to call this method twice (once with index 0 and again with index 1).helpContextId
- the Id of the help context defined in the contributing plug-in that will be used to locate content of the info-pop displayed when F1 is pressed.- Returns:
- the created wizard page
- See Also:
setPageCount(int)
,BaseOptionTemplateSection.addOption(java.lang.String, java.lang.String, boolean, int)
-
getPageCount
public int getPageCount()
Returns a number of pages that this template contributes to the wizard.- Returns:
- the number of pages
- See Also:
setPageCount(int)
-
setPageCount
public void setPageCount(int count)
Sets the number of pages this template will manage. This method must be called prior to adding pages and options in order to initialize the template. Once the method has been called, you can call methods that accept page index in the range [0..count-1].- Parameters:
count
- number of pages that this template will contribute to the template wizard
-
getOptions
public TemplateOption[] getOptions(int pageIndex)
Returns options that belong to the page with the given index.- Parameters:
pageIndex
- 0-based index of the template page- Returns:
- Options for the page with given index.
- See Also:
setPageCount(int)
-
getOptions
public TemplateOption[] getOptions(WizardPage page)
Returns options that are added to the provided wizard page.- Parameters:
page
- wizard page that hosts required options- Returns:
- array of options added to the provided wizard page
-
getPageIndex
public int getPageIndex(TemplateOption option)
Returns the zero-based index of a page that hosts the the given option.- Parameters:
option
- template option for which a page index is being requested- Returns:
- zero-based index of a page that hosts the option or -1 if none of the pages contain the option.
-
getLabel
public String getLabel()
Returns the label of this template to be used in the UI. The label is obtained by creating a lookup key using the following rule: "template.[section-id].name". This key is used to locate the label in the plugin.properties file of the plug-in that contributed this template.- Returns:
- the translated label of this template
-
getDescription
public String getDescription()
Returns the description of this template to be used in the UI. The description is obtained by creating a lookup key using the following rule: "template.[section-id].desc". This key is used to locate the label in the plugin.properties file of the plug-in that contributed this template.- Specified by:
getDescription
in interfaceITemplateSection
- Overrides:
getDescription
in classAbstractTemplateSection
- Returns:
- the translated description of this template
-
flagMissingRequiredOption
protected void flagMissingRequiredOption(TemplateOption option)
Locates the page that this option is presented in and flags that the option is required and is currently not set. The flagging is done by setting the page incomplete and setting the error message that uses option's message label.- Parameters:
option
- the option that is required and currently not set
-
resetPageState
protected void resetPageState()
Resets the current page state by clearing the error message and making the page complete, thereby allowing users to flip to the next page.
-
registerOption
protected void registerOption(TemplateOption option, Object value, int pageIndex)
Description copied from class:BaseOptionTemplateSection
Registers the provided option and sets the initial value.- Overrides:
registerOption
in classBaseOptionTemplateSection
- Parameters:
option
- the option to registervalue
- the initial valuepageIndex
- the page index to which this option belongs
-
validateOptions
public void validateOptions(TemplateOption source)
Validate options given a template option- Specified by:
validateOptions
in classBaseOptionTemplateSection
- Parameters:
source
- the template option to validate
-
-