|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.JPanel bibliothek.gui.dock.title.AbstractDockTitle
public class AbstractDockTitle
An abstract implementation of DockTitle
. This title can have
an icon, a title-text and some small buttons to display actions
.
The icon is at the top or left edge, the text in the middle, and the actions
at the lower or the right edge of the title. If the orientation of the
title is set to vertical
, the text will be rotated
by 90 degrees.
This title has also an ActionPopup
which will appear when the user
presses the right mouse-button. The popup shows a list of all actions known
to this title.
The whole logic a DockTitle
needs is implemented in this class,
but subclasses may add graphical features - like a border or another
background.
Subclasses may override getInnerInsets()
to add a space between
border and contents of this title.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class javax.swing.JPanel |
---|
JPanel.AccessibleJPanel |
Nested classes/interfaces inherited from class javax.swing.JComponent |
---|
JComponent.AccessibleJComponent |
Nested classes/interfaces inherited from class java.awt.Container |
---|
Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy |
Nested classes/interfaces inherited from interface bibliothek.gui.dock.title.DockTitle |
---|
DockTitle.Orientation |
Field Summary |
---|
Fields inherited from class javax.swing.JComponent |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
Fields inherited from class java.awt.Component |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface bibliothek.gui.dock.title.DockTitle |
---|
ORIENTATION_STRATEGY |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
protected |
AbstractDockTitle()
Constructor which does not do anything. |
|
AbstractDockTitle(Dockable dockable,
DockTitleVersion origin)
Constructs a new title |
|
AbstractDockTitle(Dockable dockable,
DockTitleVersion origin,
boolean showMiniButtons)
Standard constructor |
Method Summary | |
---|---|
protected void |
addColor(AbstractDockColor color)
Adds a color to the list of colors, this title will ensure that color gets connected to a ColorManager as soon
as this title is bound. |
protected void |
addConditionalFont(String id,
Path kind,
Condition condition,
FontModifier backup)
Adds a new conditional font to this title, the conditional font will be applied to setFont(Font) when its condition
is met. |
protected void |
addFont(AbstractDockFont font)
Adds a font to the list of fonts, this title will ensure that font gets connected to a FontManager as soon
as this title is bound. |
void |
addMouseInputListener(MouseInputListener listener)
Adds a listener to this representative, it is not defined what to do with that listener, but most subclasses would just add the listener to their component . |
void |
bind()
Called before this title is displayed. |
void |
changed(DockTitleEvent event)
Called if a property changed that might be important for painting this title. |
protected BasicTitleViewItem<JComponent> |
createItemFor(DockAction action,
Dockable dockable)
Creates a new item for action which will be shown on this title. |
void |
doLayout()
|
protected DockActionSource |
getActionSourceFor(Dockable dockable)
Gets a list of all actions which will be shown on this title. |
Component |
getComponent()
Gets the Component which represents the element . |
Dockable |
getDockable()
Gets the owner of this title. |
DockElement |
getElement()
Gets the element which is represented by this . |
protected Icon |
getIcon()
Gets the icon of this title. |
Rectangle |
getIconBounds()
Gets the location and the size of the icon. |
protected Insets |
getInnerInsets()
Gets the insets that have to be applied between the border and the content of this title. |
Dimension |
getMinimumSize()
|
DockTitle.Orientation |
getOrientation()
Gets the current orientation. |
DockTitleVersion |
getOrigin()
Gets information about how this title was created. |
Point |
getPopupLocation(Point click,
boolean popupTrigger)
Tells whether a popup menu should be opened when the user clicks at click with the mouse. |
Dimension |
getPreferredSize()
|
protected String |
getText()
Gets the text which is shown on this title. |
protected void |
init(Dockable dockable,
DockTitleVersion origin,
boolean showMiniButtons)
Initializer called by the constructor. |
boolean |
isActive()
Tells whether this title is selected (active) or not. |
boolean |
isBound()
Tells whether this title is bound to a Dockable or not. |
boolean |
isUsedAsTitle()
Tells whether this DockElementRepresentative is used as title. |
protected void |
paintBackground(Graphics g,
JComponent component)
Paints the whole background of this title. |
void |
paintComponent(Graphics g)
|
protected void |
removeAllConditionalFonts()
Removes all fonts which were set using addConditionalFont(String, Path, Condition, FontModifier) |
protected void |
removeColor(AbstractDockColor color)
Removes a color from this title |
protected void |
removeFont(AbstractDockFont font)
Removes a font from this title. |
void |
removeMouseInputListener(MouseInputListener listener)
Removes a listener from this representative. |
void |
setActive(boolean active)
Sets whether this title should be painted as focused or not. |
void |
setBackground(Color fg)
|
void |
setFont(Font font)
|
void |
setFontModifier(FontModifier modifier)
|
void |
setForeground(Color fg)
|
protected void |
setIcon(Icon icon)
Sets the icon of this title. |
void |
setOrientation(DockTitle.Orientation orientation)
Sets the orientation of this title. |
protected void |
setText(String text)
Sets the text of this title. |
protected void |
setTooltip(String text)
Sets the tooltip that will be shown on this title. |
void |
unbind()
The reverse of DockTitle.bind() . |
protected void |
updateFonts()
Checks the state of this title and may replace the font of the title. |
protected void |
updateIcon()
Called when the icon of this title should be updated. |
protected void |
updateText()
Called when the text of this title should be updated. |
protected void |
updateTooltip()
Called when the tooltip of this title should be updated. |
Methods inherited from class javax.swing.JPanel |
---|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public AbstractDockTitle(Dockable dockable, DockTitleVersion origin)
dockable
- the Dockable which is the owner of this titleorigin
- the version which was used to create this titlepublic AbstractDockTitle(Dockable dockable, DockTitleVersion origin, boolean showMiniButtons)
dockable
- The Dockable whose title this will beorigin
- The version which was used to create this titleshowMiniButtons
- true
if the actions of the Dockable
should be shown, false
if they should not be visibleprotected AbstractDockTitle()
init(Dockable, DockTitleVersion, boolean)
to initialize
the title.
Method Detail |
---|
protected void init(Dockable dockable, DockTitleVersion origin, boolean showMiniButtons)
dockable
- The Dockable whose title this will beorigin
- The version which was used to create this titleshowMiniButtons
- true
if the actions of the Dockable
should be shown, false
if they should not be visibleprotected void addColor(AbstractDockColor color)
color
gets connected to a ColorManager
as soon
as this title is bound.
color
- the new colorprotected void removeColor(AbstractDockColor color)
color
- the color to removeprotected void addFont(AbstractDockFont font)
font
gets connected to a FontManager
as soon
as this title is bound.
font
- the new fontprotected void removeFont(AbstractDockFont font)
font
- the font to removeprotected void addConditionalFont(String id, Path kind, Condition condition, FontModifier backup)
setFont(Font)
when its condition
is met. If there is more than one font whose condition is met, then the
first one that was registered is used.
id
- the id of the font which is to be usedkind
- what kind of title this iscondition
- the condition to metbackup
- to be used when there is not font set in the FontManager
protected void removeAllConditionalFonts()
addConditionalFont(String, Path, Condition, FontModifier)
public void paintComponent(Graphics g)
paintComponent
in class JComponent
public Rectangle getIconBounds()
null
if no icon is registeredprotected void paintBackground(Graphics g, JComponent component)
component
.
g
- the graphics context used to paintcomponent
- the Component which represents this titleprotected void setIcon(Icon icon)
icon
- the icon, can be null
protected Icon getIcon()
null
setIcon(Icon)
protected void setText(String text)
text
- the text or nullprotected String getText()
protected void setTooltip(String text)
text
- the new tooltip, can be null
public void setOrientation(DockTitle.Orientation orientation)
DockTitle
setOrientation
in interface DockTitle
orientation
- the orientationpublic DockTitle.Orientation getOrientation()
getOrientation
in interface DockTitle
setOrientation(bibliothek.gui.dock.title.DockTitle.Orientation)
public DockTitleVersion getOrigin()
DockTitle
DockTitleVersion
can be used
to create a DockTitleRequest
which should create the same title again. If this title
was not created through the regular methods, then this method is allowed
to return null
. However, some features will only work correctly
if this value is not null
.
getOrigin
in interface DockTitle
null
public void setForeground(Color fg)
setForeground
in class JComponent
public void setBackground(Color fg)
setBackground
in class JComponent
public void setFont(Font font)
setFont
in class JComponent
public void setFontModifier(FontModifier modifier)
public Dimension getMinimumSize()
getMinimumSize
in class JComponent
protected Insets getInnerInsets()
null
public void doLayout()
doLayout
in class Container
public Component getComponent()
DockElementRepresentative
Component
which represents the element
.
The result of this method must not change.
getComponent
in interface DockElementRepresentative
getComponent
in interface DockTitle
null
public void addMouseInputListener(MouseInputListener listener)
DockElementRepresentative
component
. It is valid to do nothing.
addMouseInputListener
in interface DockElementRepresentative
addMouseInputListener
in interface DockTitle
listener
- the new listenerpublic void removeMouseInputListener(MouseInputListener listener)
DockElementRepresentative
removeMouseInputListener
in interface DockElementRepresentative
removeMouseInputListener
in interface DockTitle
listener
- the listener to removepublic Point getPopupLocation(Point click, boolean popupTrigger)
DockElementRepresentative
click
with the mouse. If yes, then the top left edge
of the popup should be returned, otherwise null
should be
returned.
getPopupLocation
in interface DockElementRepresentative
click
- the location where the user clicked with the mousepopupTrigger
- whether the invocation is the systems popup trigger
or not. Many implementations of this method will return click
in case of true
, and null
in case of false
null
if no
popup-menu should be openedpublic Dockable getDockable()
DockTitle
getDockable
in interface DockTitle
public DockElement getElement()
DockElementRepresentative
this
.
The result of this method must not change.
getElement
in interface DockElementRepresentative
null
public boolean isUsedAsTitle()
DockElementRepresentative
DockElementRepresentative
is used as title.DockRelocator
can allow drag & drop only for titles.Dockable
should have only one element that is a title,
so if in doubt return false
.
isUsedAsTitle
in interface DockElementRepresentative
true
if this representative should be seen as titlepublic void setActive(boolean active)
active
- true
if the Dockable
of this title
has the focus.public void changed(DockTitleEvent event)
DockTitle
DockTitleEvent
to transmit more information
to this title than DockTitleEvent
would allow.
changed
in interface DockTitle
event
- information about the current statepublic boolean isActive()
DockTitle
changed
.
isActive
in interface DockTitle
public Dimension getPreferredSize()
getPreferredSize
in class JComponent
protected BasicTitleViewItem<JComponent> createItemFor(DockAction action, Dockable dockable)
action
which will be shown on this title.
action
- The action which will be triggered by the buttondockable
- The Dockable
which will be affected by the action
protected DockActionSource getActionSourceFor(Dockable dockable)
dockable
- the owner of the actions
public void bind()
DockTitle
owner
.
If the title wants to show some DockActions
(see the method
DockController.listOffers(Dockable)
), then this method
should bind
them too.Dockable.bind(DockTitle)
. The DockController
will call the bind
-method, as soon as the Dockable
knows the controller.
bind
in interface DockTitle
public void unbind()
DockTitle
DockTitle.bind()
. The title should remove any connections
to other objects and unbind
its
DockAction
s.Dockable.unbind(DockTitle)
. The DockController
will call the unbind
-method before the Dockable
looses the controller.
unbind
in interface DockTitle
protected void updateIcon()
setIcon(Icon)
directly, it always calls this method
which then calls setIcon(Icon)
(the only exception: on
unbinding the icon is set to null
)
protected void updateText()
setText(String)
directly, it always calls this method
which then calls setText(String)
(the only exception: on
unbinding the text is set to null
)
protected void updateTooltip()
setTooltip(String)
directly, it always
calls this method which then calls setTooltip(String)
(the
only exception: on unbinding the tooltip is set to null
)
public boolean isBound()
Dockable
or not.
bound
, false
otherwise
protected void updateFonts()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |