|
Eclipse JDT 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.eclipse.jface.dialogs.DialogPage | +--org.eclipse.jface.wizard.WizardPage | +--org.eclipse.jdt.ui.wizards.NewElementWizardPage | +--org.eclipse.jdt.ui.wizards.NewContainerWizardPage | +--org.eclipse.jdt.ui.wizards.NewTypeWizardPage
The class NewTypeWizardPage
contains controls and validation routines
for a 'New Type WizardPage'. Implementors decide which components to add and to enable.
Implementors can also customize the validation code. NewTypeWizardPage
is intended to serve as base class of all wizards that create types like applets, servlets, classes,
interfaces, etc.
See NewClassWizardPage
or NewInterfaceWizardPage
for an
example usage of NewTypeWizardPage
.
NewClassWizardPage
,
NewInterfaceWizardPage
Nested Class Summary | |
static class |
NewTypeWizardPage.ImportsManager
Class used in stub creation routines to add needed imports to a compilation unit. |
Field Summary | |
protected static String |
ENCLOSING
Field ID of the eclosing type input field |
protected static String |
ENCLOSINGSELECTION
Field ID of the enclosing type checkbox |
int |
F_ABSTRACT
Abstract property flag. |
int |
F_FINAL
Final access flag. |
int |
F_PRIVATE
Private access flag. |
int |
F_PROTECTED
Protected access flag. |
int |
F_PUBLIC
Public access flag. |
int |
F_STATIC
Static access flag. |
protected IStatus |
fEnclosingTypeStatus
|
protected IStatus |
fModifierStatus
|
protected IStatus |
fPackageStatus
|
protected IStatus |
fSuperClassStatus
|
protected IStatus |
fSuperInterfacesStatus
|
protected IStatus |
fTypeNameStatus
|
protected static String |
INTERFACES
Field ID of the super interfaces input field |
protected static String |
METHODS
Field ID of the method stubs checkboxes |
protected static String |
MODIFIERS
Field ID of the modifier checkboxes |
protected static String |
PACKAGE
Field ID of the package input field |
protected static String |
SUPER
Field ID of the super type input field |
protected static String |
TYPENAME
Field ID of the type name input field |
Fields inherited from class org.eclipse.jdt.ui.wizards.NewContainerWizardPage |
CONTAINER, fContainerStatus |
Fields inherited from interface org.eclipse.jface.dialogs.IMessageProvider |
ERROR, INFORMATION, NONE, WARNING |
Constructor Summary | |
NewTypeWizardPage(boolean isClass,
String pageName)
Creates a new NewTypeWizardPage |
Method Summary | |
protected void |
createEnclosingTypeControls(Composite composite,
int nColumns)
Creates the controls for the enclosing type name field. |
protected IMethod[] |
createInheritedMethods(IType type,
boolean doConstructors,
boolean doUnimplementedMethods,
org.eclipse.jdt.internal.corext.codemanipulation.IImportsStructure imports,
IProgressMonitor monitor)
Deprecated. Use createInheritedMethods(IType,boolean,boolean,IImportsManager,IProgressMonitor) |
protected IMethod[] |
createInheritedMethods(IType type,
boolean doConstructors,
boolean doUnimplementedMethods,
NewTypeWizardPage.ImportsManager imports,
IProgressMonitor monitor)
Creates the bodies of all unimplemented methods and constructors and adds them to the type. |
protected void |
createModifierControls(Composite composite,
int nColumns)
Creates the controls for the modifiers radio/ceckbox buttons. |
protected void |
createPackageControls(Composite composite,
int nColumns)
Creates the controls for the package name field. |
protected void |
createSeparator(Composite composite,
int nColumns)
Creates a separator line. |
protected void |
createSuperClassControls(Composite composite,
int nColumns)
Creates the controls for the superclass name field. |
protected void |
createSuperInterfacesControls(Composite composite,
int nColumns)
Creates the controls for the superclass name field. |
void |
createType(IProgressMonitor monitor)
Creates the new type using the entered field values. |
protected void |
createTypeMembers(IType newType,
org.eclipse.jdt.internal.corext.codemanipulation.IImportsStructure imports,
IProgressMonitor monitor)
Deprecated. Overwrite createTypeMembers(IType, IImportsManager, IProgressMonitor) instead |
protected void |
createTypeMembers(IType newType,
NewTypeWizardPage.ImportsManager imports,
IProgressMonitor monitor)
Hook method that gets called from createType to support adding of
unanticipated methods, fields, and inner types to the created type. |
protected void |
createTypeNameControls(Composite composite,
int nColumns)
Creates the controls for the type name field. |
protected IStatus |
enclosingTypeChanged()
Hook method that gets called when the enclosing type name has changed. |
IType |
getCreatedType()
Returns the created type. |
IType |
getEnclosingType()
Returns the enclosing type corresponding to the current input. |
String |
getEnclosingTypeText()
Returns the text of the enclosing type input field. |
protected String |
getFileComment(ICompilationUnit parentCU)
Hook mathod that gets called from createType to retrieve
a file comment. |
int |
getModifiers()
Returns the selected modifiers. |
IPackageFragment |
getPackageFragment()
Returns the package fragment corresponding to the current input. |
String |
getPackageText()
Returns the text of the package input field. |
IRunnableWithProgress |
getRunnable()
Returns the runnable that creates the type using the current settings. |
String |
getSuperClass()
Returns the content of the superclass input field. |
List |
getSuperInterfaces()
Returns the chosen super interfaces. |
protected String |
getTemplate(String name,
ICompilationUnit parentCU)
Deprecated. Use getTemplate(String,ICompilationUnit,int) |
protected String |
getTemplate(String name,
ICompilationUnit parentCU,
int pos)
Returns the string resulting from evaluation the given template in the context of the given compilation unit. |
protected String |
getTypeComment(ICompilationUnit parentCU)
Hook method that gets called from createType to retrieve
a type comment. |
String |
getTypeName()
Returns the type name entered into the type input field. |
protected void |
handleFieldChanged(String fieldName)
Hook method that gets called when a field on this page has changed. |
protected void |
initTypePage(IJavaElement elem)
Initializes all fields provided by the page with a given selection. |
boolean |
isEnclosingTypeSelected()
Returns the selection state of the enclosing type checkbox. |
protected IStatus |
modifiersChanged()
Hook method that gets called when the modifiers have changed. |
protected IStatus |
packageChanged()
A hook method that gets called when the package field has changed. |
void |
setEnclosingType(IType type,
boolean canBeModified)
Sets the enclosing type. |
void |
setEnclosingTypeSelection(boolean isSelected,
boolean canBeModified)
Sets the enclosing type checkbox's selection state. |
protected void |
setFocus()
Sets the focus on the type name input field. |
void |
setModifiers(int modifiers,
boolean canBeModified)
Sets the modifiers. |
void |
setPackageFragment(IPackageFragment pack,
boolean canBeModified)
Sets the package fragment to the given value. |
void |
setSuperClass(String name,
boolean canBeModified)
Sets the super class name. |
void |
setSuperInterfaces(List interfacesNames,
boolean canBeModified)
Sets the super interfaces. |
void |
setTypeName(String name,
boolean canBeModified)
Sets the type name input field's text to the given value. |
protected IStatus |
superClassChanged()
Hook method that gets called when the superclass name has changed. |
protected IStatus |
superInterfacesChanged()
Hook method that gets called when the list of super interface has changed. |
protected IStatus |
typeNameChanged()
Hook method that gets called when the type name has changed. |
Methods inherited from class org.eclipse.jdt.ui.wizards.NewContainerWizardPage |
containerChanged, createContainerControls, getInitialJavaElement, getMaxFieldWidth, getPackageFragmentRoot, getPackageFragmentRootText, getWorkspaceRoot, initContainerPage, setFocusOnContainer, setPackageFragmentRoot |
Methods inherited from class org.eclipse.jdt.ui.wizards.NewElementWizardPage |
setVisible, updateStatus, updateStatus |
Methods inherited from class org.eclipse.jface.wizard.WizardPage |
canFlipToNextPage, getContainer, getDialogSettings, getImage, getName, getNextPage, getPreviousPage, getShell, getWizard, isCurrentPage, isPageComplete, setDescription, setErrorMessage, setImageDescriptor, setMessage, setPageComplete, setPreviousPage, setTitle, setWizard, toString |
Methods inherited from class org.eclipse.jface.dialogs.DialogPage |
convertHeightInCharsToPixels, convertHorizontalDLUsToPixels, convertVerticalDLUsToPixels, convertWidthInCharsToPixels, createControl, dispose, getControl, getDescription, getDialogFontName, getErrorMessage, getFont, getMessage, getMessageType, getTitle, getToolTipText, initializeDialogUnits, isControlCreated, performHelp, setControl, setMessage |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.eclipse.jface.dialogs.IDialogPage |
createControl, dispose, getControl, getDescription, getErrorMessage, getMessage, getTitle, performHelp |
Field Detail |
public int F_PUBLIC
public int F_PRIVATE
public int F_PROTECTED
public int F_STATIC
public int F_FINAL
public int F_ABSTRACT
protected static final String PACKAGE
protected static final String ENCLOSING
protected static final String ENCLOSINGSELECTION
protected static final String TYPENAME
protected static final String SUPER
protected static final String INTERFACES
protected static final String MODIFIERS
protected static final String METHODS
protected IStatus fEnclosingTypeStatus
protected IStatus fPackageStatus
protected IStatus fTypeNameStatus
protected IStatus fSuperClassStatus
protected IStatus fModifierStatus
protected IStatus fSuperInterfacesStatus
Constructor Detail |
public NewTypeWizardPage(boolean isClass, String pageName)
NewTypeWizardPage
isClass
- true
if a new class is to be created; otherwise
an interface is to be createdpageName
- the wizard page's nameMethod Detail |
protected void initTypePage(IJavaElement elem)
elem
- the selection used to intialize this page or
null
if no selection was availableprotected void createSeparator(Composite composite, int nColumns)
GridLayout
with at least 1 column.
composite
- the parent compositenColumns
- number of columns to spanprotected void createPackageControls(Composite composite, int nColumns)
GridLayout
with at
least 4 columns.
composite
- the parent compositenColumns
- number of columns to spanprotected void createEnclosingTypeControls(Composite composite, int nColumns)
GridLayout
with at
least 4 columns.
composite
- the parent compositenColumns
- number of columns to spanprotected void createTypeNameControls(Composite composite, int nColumns)
GridLayout
with at
least 2 columns.
composite
- the parent compositenColumns
- number of columns to spanprotected void createModifierControls(Composite composite, int nColumns)
GridLayout
with at least 3 columns.
composite
- the parent compositenColumns
- number of columns to spanprotected void createSuperClassControls(Composite composite, int nColumns)
GridLayout
with at least 3 columns.
composite
- the parent compositenColumns
- number of columns to spanprotected void createSuperInterfacesControls(Composite composite, int nColumns)
GridLayout
with
at least 3 columns.
composite
- the parent compositenColumns
- number of columns to spanprotected void setFocus()
protected void handleFieldChanged(String fieldName)
NewContainerWizardPage
Every sub type is responsible to call this method when a field on its page has changed. Subtypes override (extend) the method to add verification when a own field has a dependency to an other field. For example the class name input must be verified again when the package field changes (check for duplicated class names).
handleFieldChanged
in class NewContainerWizardPage
fieldName
- The name of the field that has changed (field id). For the
source folder the field id is CONTAINER
public String getPackageText()
public String getEnclosingTypeText()
public IPackageFragment getPackageFragment()
null
if the input
could not be resolved.public void setPackageFragment(IPackageFragment pack, boolean canBeModified)
pack
- the package fragement to be setcanBeModified
- if true
the package fragment is
editable; otherwise it is read-only.public IType getEnclosingType()
null
if the enclosing type is
not selected or the input could not be resolvedpublic void setEnclosingType(IType type, boolean canBeModified)
type
- the enclosing typecanBeModified
- if true
the enclosing type field is
editable; otherwise it is read-only.public boolean isEnclosingTypeSelected()
public void setEnclosingTypeSelection(boolean isSelected, boolean canBeModified)
isSelected
- the checkbox's selection statecanBeModified
- if true
the enclosing type checkbox is
modifiable; otherwise it is read-only.public String getTypeName()
public void setTypeName(String name, boolean canBeModified)
name
- the new type namecanBeModified
- if true
the enclosing type name field is
editable; otherwise it is read-only.public int getModifiers()
Flags
public void setModifiers(int modifiers, boolean canBeModified)
modifiers
- F_PUBLIC
, F_PRIVATE
,
F_PROTECTED
, F_ABSTRACT, F_FINAL
or F_STATIC
or, a valid combination.canBeModified
- if true
the modifier fields are
editable; otherwise they are read-onlyFlags
public String getSuperClass()
public void setSuperClass(String name, boolean canBeModified)
name
- the new superclass namecanBeModified
- if true
the superclass name field is
editable; otherwise it is read-only.public List getSuperInterfaces()
String
public void setSuperInterfaces(List interfacesNames, boolean canBeModified)
interfacesNames
- a list of super interface. The method requires that
the list's elements are of type String
canBeModified
- if true
the super interface field is
editable; otherwise it is read-only.protected IStatus packageChanged()
Subclasses may extend this method to perform their own validation.
protected IStatus enclosingTypeChanged()
Subclasses may extend this method to perform their own validation.
protected IStatus typeNameChanged()
Subclasses may extend this method to perform their own validation.
protected IStatus superClassChanged()
Subclasses may extend this method to perform their own validation.
protected IStatus superInterfacesChanged()
Subclasses may extend this method to perform their own validation.
protected IStatus modifiersChanged()
Subclasses may extend this method to perform their own validation.
public void createType(IProgressMonitor monitor) throws CoreException, InterruptedException
monitor
- a progress monitor to report progress. The progress
monitor must not be null
CoreException
InterruptedException
public IType getCreatedType()
createType
has been called.
createType(IProgressMonitor)
protected void createTypeMembers(IType newType, org.eclipse.jdt.internal.corext.codemanipulation.IImportsStructure imports, IProgressMonitor monitor) throws CoreException
CoreException
protected void createTypeMembers(IType newType, NewTypeWizardPage.ImportsManager imports, IProgressMonitor monitor) throws CoreException
createType
to support adding of
unanticipated methods, fields, and inner types to the created type.
Implementers can use any methods defined on IType
to manipulate the
new type.
The source code of the new type will be formtted using the platform's formatter. Needed imports are added by the wizard at the end of the type creation process using the given import manager.
newType
- the new type created via createType
imports
- an import manager which can be used to add new importsmonitor
- a progress monitor to report progress. Must not be null
CoreException
createType(IProgressMonitor)
protected String getFileComment(ICompilationUnit parentCU)
createType
to retrieve
a file comment. This default implementation returns the content of the
'filecomment' template.
null
if a file comment
is not desiredprotected String getTypeComment(ICompilationUnit parentCU)
createType
to retrieve
a type comment. This default implementation returns the content of the
'typecomment' template.
null
if a type comment
is not desiredprotected String getTemplate(String name, ICompilationUnit parentCU)
protected String getTemplate(String name, ICompilationUnit parentCU, int pos)
name
- the template to be evaluatedparentCU
- the templates evaluation contextpos
- a source offset into the parent compilation unit. The
template is evalutated at the given source offsetprotected IMethod[] createInheritedMethods(IType type, boolean doConstructors, boolean doUnimplementedMethods, org.eclipse.jdt.internal.corext.codemanipulation.IImportsStructure imports, IProgressMonitor monitor) throws CoreException
CoreException
protected IMethod[] createInheritedMethods(IType type, boolean doConstructors, boolean doUnimplementedMethods, NewTypeWizardPage.ImportsManager imports, IProgressMonitor monitor) throws CoreException
NewTypeWizardPage
to add
needed method and constructors.
type
- the type for which the new methods and constructor are to be createddoConstructors
- if true
unimplemented constructors are createddoUnimplementedMethods
- if true
unimplemented methods are createdimports
- an import manager to add all neded import statementsmonitor
- a progress monitor to report progress
CoreException
public IRunnableWithProgress getRunnable()
|
Eclipse JDT 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |