|
Eclipse Platform 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.eclipse.jface.text.AbstractInformationControlManager
Manages the life cycle, visibility, layout, and contents of an IInformationControl
.
This manager can be installed on and uninstalled from a control, refered to as the subject control, i.e.
the one from which the subject of the information to be shown is retrieved. Also a manager can
be enabled or disabled. An installed and enabled manager can be forced to show information in
its information control using showInformation
. An information control
manager uses an IInformationControlCloser
to define the behavior when
a presented information control must be closed. The disposal of the subject and the information
control are internally handled by the information control manager and are not the responsibility
of the information control closer.
Nested Class Summary | |
static class |
AbstractInformationControlManager.Anchor
Constitues entities to enumerate anchors for the layout of the information control. |
static interface |
AbstractInformationControlManager.IInformationControlCloser
Interface of a information control closer. |
Field Summary | |
static AbstractInformationControlManager.Anchor |
ANCHOR_BOTTOM
Anchor representing the bottom of the information area |
static AbstractInformationControlManager.Anchor |
ANCHOR_LEFT
Anchor representing the left side of the information area |
static AbstractInformationControlManager.Anchor |
ANCHOR_RIGHT
Anchor representing the right side of the information area |
static AbstractInformationControlManager.Anchor |
ANCHOR_TOP
Anchor representing the top of the information area |
Constructor Summary | |
protected |
AbstractInformationControlManager(IInformationControlCreator creator)
Creates a new information control manager using the given information control creator. |
Method Summary | |
protected abstract void |
computeInformation()
Computes the information to be displayed and the area in which the computed information is valid. |
protected Point |
computeInformationControlLocation(Rectangle subjectArea,
Point controlSize)
Computes the location of the information control depending on the subject area and the size of the information control. |
protected Point |
computeLocation(Rectangle subjectArea,
Point controlSize,
AbstractInformationControlManager.Anchor anchor)
Computes the display location of the information control. |
protected Point |
computeSizeConstraints(Control subjectControl,
IInformationControl informationControl)
Computes the size constraints of the information control in points based on the default font of the given subject control as well as the size constraints in character width. |
void |
dispose()
Disposes this manager and if necessary all dependent parts such as the information control. |
void |
disposeInformationControl()
Disposes this manager's information control. |
protected void |
doShowInformation()
Computes information to be displayed as well as the subject area and initiates that this information is presented in the information control. |
protected IInformationControl |
getInformationControl()
Returns the information control. |
protected AbstractInformationControlManager.Anchor |
getNextFallbackAnchor(AbstractInformationControlManager.Anchor anchor)
Returns the next fallback anchor from this manager's list of fallback anchors. |
protected Rectangle |
getSubjectArea()
Returns the actual subject area. |
protected Control |
getSubjectControl()
Returns the subject control of this manager/information control. |
protected void |
handleInformationControlDisposed()
Handles the disposal of the information control. |
protected void |
handleSubjectControlDisposed()
Handles the disposal of the subject control. |
protected void |
hideInformationControl()
Hides the information control and stops the information control closer. |
void |
install(Control subjectControl)
Installs this manager on the given control. |
protected boolean |
isEnabled()
Returns whether this manager is enabled or not. |
protected void |
presentInformation()
Presents the information in the information control or hides the information control if no information should be presented. |
void |
setAnchor(AbstractInformationControlManager.Anchor anchor)
Sets the anchor used for laying out the information control relative to the subject control. |
protected void |
setCloser(AbstractInformationControlManager.IInformationControlCloser closer)
Sets the information control closer for this manager. |
void |
setEnabled(boolean enabled)
Deprecated. visibility will be changed to protected |
void |
setFallbackAnchors(AbstractInformationControlManager.Anchor[] fallbackAnchors)
Sets the sequence of anchors along which the information control is tried to be laid out until it is fully visible. |
protected void |
setInformation(String information,
Rectangle subjectArea)
Sets the parameters of the information to be displayed. |
void |
setMargins(int xMargin,
int yMargin)
Sets the x- and y- margin to be used when laying out the information control relative to the subject control. |
void |
setSizeConstraints(int widthInChar,
int heightInChar,
boolean enforceAsMinimalSize,
boolean enforceAsMaximalSize)
Sets the width- and height constraints of the information control. |
void |
showInformation()
Computes information to be displayed as well as the subject area and initiates that this information is presented in the information control. |
protected void |
showInformationControl(Rectangle subjectArea)
Shows the information control and starts the information control closer. |
void |
takesFocusWhenVisible(boolean takesFocus)
Tells the manager whether it should set the focus to the information control when made visible. |
protected boolean |
updateLocation(Point location,
Point size,
Rectangle displayArea,
AbstractInformationControlManager.Anchor anchor)
Checks whether a control of the given size at the given location would be completely visible in the given display area when laid out by using the given anchor. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final AbstractInformationControlManager.Anchor ANCHOR_TOP
public static final AbstractInformationControlManager.Anchor ANCHOR_BOTTOM
public static final AbstractInformationControlManager.Anchor ANCHOR_LEFT
public static final AbstractInformationControlManager.Anchor ANCHOR_RIGHT
Constructor Detail |
protected AbstractInformationControlManager(IInformationControlCreator creator)
creator
- the information control creatorMethod Detail |
protected abstract void computeInformation()
setInformation
.
protected final void setInformation(String information, Rectangle subjectArea)
presentInformation()
to trigger the presentation of the computed information.
information
- the informationsubjectArea
- the subject areaprotected void setCloser(AbstractInformationControlManager.IInformationControlCloser closer)
closer
- the information control closer for this managerpublic void setMargins(int xMargin, int yMargin)
xMargin
- the x-marginyMargin
- the y-Marginpublic void setSizeConstraints(int widthInChar, int heightInChar, boolean enforceAsMinimalSize, boolean enforceAsMaximalSize)
widthInChar
- the width constraint in number of charactersheightInChar
- the height constrain in number of charactersenforceAsMinimalSize
- indicates whether the constraints describe the minimal allowed size of the controlenforceAsMaximalSize
- indicates whether the constraints describe the maximal allowed size of the controlpublic void setAnchor(AbstractInformationControlManager.Anchor anchor)
ANCHOR_TOP
indicates that the
information control is position above the area for which the information to
be displayed is valid.
anchor
- the layout anchorpublic void setFallbackAnchors(AbstractInformationControlManager.Anchor[] fallbackAnchors)
fallbackAnchors
- the list of anchors to be triedpublic void takesFocusWhenVisible(boolean takesFocus)
takesFocus
- true
if information control should take focus when made visibleprotected void handleSubjectControlDisposed()
disposeInformationControl
. Subclasses may extend
this method.
public void install(Control subjectControl)
subjectControl
- the subject controlprotected Control getSubjectControl()
protected Rectangle getSubjectArea()
public void setEnabled(boolean enabled)
enabled
- the enable stateprotected boolean isEnabled()
true
if this manager is enabled otherwise false
protected Point computeSizeConstraints(Control subjectControl, IInformationControl informationControl)
subjectControl
- the subject controlinformationControl
- the information control whose size constraints are computed
protected void handleInformationControlDisposed()
protected IInformationControl getInformationControl()
protected Point computeLocation(Rectangle subjectArea, Point controlSize, AbstractInformationControlManager.Anchor anchor)
subjectArea
- the subject areacontrolSize
- the size of the information controlanchor
- the anchor at the subject areaprotected boolean updateLocation(Point location, Point size, Rectangle displayArea, AbstractInformationControlManager.Anchor anchor)
This method returns true
if the potentially updated position results in a
completely visible control, or false
otherwise.
location
- the location of the controlsize
- the size of the controldisplayArea
- the display area in which the control should be visibleanchor
- anchor for alying out the control
true
if the updated location is usefulprotected AbstractInformationControlManager.Anchor getNextFallbackAnchor(AbstractInformationControlManager.Anchor anchor)
null
is returned.
anchor
- the current anchor
null
if no more anchor is availableprotected Point computeInformationControlLocation(Rectangle subjectArea, Point controlSize)
subjectArea
- the information areacontrolSize
- the size of the information control
public void showInformation()
protected void doShowInformation()
protected void presentInformation()
setInformation
.
protected void hideInformationControl()
protected void showInformationControl(Rectangle subjectArea)
subjectArea
- the information areapublic void disposeInformationControl()
public void dispose()
|
Eclipse Platform 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |