Package io.guise.framework.component
Class AbstractFrame
- java.lang.Object
-
- All Implemented Interfaces:
com.globalmentor.beans.PropertyBindable
,com.globalmentor.beans.PropertyConstrainable
,Component
,CompositeComponent
,ContentComponent
,Frame
,InputFocusableComponent
,InputFocusGroupComponent
,ModalComponent<Frame.Mode>
,Displayable
,InfoModel
,LabelModel
,Model
,PresentationModel
,DepictedObject
- Direct Known Subclasses:
AbstractApplicationFrame
,AbstractDialogFrame
,AbstractFlyoverFrame
,AbstractModalFrame
,DefaultFrame
public abstract class AbstractFrame extends AbstractEnumCompositeComponent<AbstractFrame.FrameComponent> implements Frame
Abstract implementation of a frame. This implementation notifies the user when the frame does not validate invalidate()
.- Author:
- Garret Wilson
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
AbstractFrame.DefaultPrototypeProvider
The default implementation of a prototype provider for a frame.protected static class
AbstractFrame.FrameComponent
The enumeration of frame components.-
Nested classes/interfaces inherited from class io.guise.framework.component.AbstractComponent
AbstractComponent.AbstractFlyoverFrameStrategy<S extends Component>, AbstractComponent.AbstractFlyoverStrategy<S extends Component>, AbstractComponent.DefaultFlyoverStrategy<S extends Component>
-
Nested classes/interfaces inherited from interface io.guise.framework.component.Component
Component.FlyoverStrategy<S extends Component>
-
Nested classes/interfaces inherited from interface io.guise.framework.component.Frame
Frame.Mode, Frame.State
-
-
Field Summary
-
Fields inherited from class com.globalmentor.beans.BoundPropertyObject
NO_PROPERTY_CHANGE_LISTENERS, NO_VETOABLE_CHANGE_LISTENERS
-
Fields inherited from interface io.guise.framework.component.Component
BOOKMARK_ENABLED_PROPERTY, CONSTRAINTS_PROPERTY, DRAG_ENABLED_PROPERTY, DROP_ENABLED_PROPERTY, FLYOVER_ENABLED_PROPERTY, FLYOVER_STRATEGY_PROPERTY, INPUT_STRATEGY_PROPERTY, NAME_PROPERTY, NOTIFICATION_PROPERTY, ORIENTATION_PROPERTY, THEME_APPLIED_PROPERTY, VALID_PROPERTY
-
Fields inherited from interface io.guise.framework.component.ContentComponent
CONTENT_PROPERTY
-
Fields inherited from interface io.guise.framework.model.Displayable
DISPLAYED_PROPERTY
-
Fields inherited from interface io.guise.framework.component.Frame
CLOSE_ACTION_CONTROL_PROPERTY, MENU_PROPERTY, MODAL_PROPERTY, MOVABLE_PROPERTY, OPEN_EFFECT_PROPERTY, RELATED_COMPONENT_PROPERTY, RESIZABLE_PROPERTY, STATE_PROPERTY, TITLE_BACKGROUND_COLOR_PROPERTY, TITLE_VISIBLE_PROPERTY, TOOLBAR_PROPERTY
-
Fields inherited from interface io.guise.framework.model.InfoModel
DESCRIPTION_CONTENT_TYPE_PROPERTY, DESCRIPTION_PROPERTY, INFO_CONTENT_TYPE_PROPERTY, INFO_PROPERTY
-
Fields inherited from interface io.guise.framework.component.InputFocusGroupComponent
INPUT_FOCUS_STRATEGY_PROPERTY, INPUT_FOCUSED_COMPONENT_PROPERTY
-
Fields inherited from interface io.guise.framework.model.LabelModel
GLYPH_URI_PROPERTY, LABEL_CONTENT_TYPE_PROPERTY, LABEL_PROPERTY
-
Fields inherited from interface io.guise.framework.component.ModalComponent
MODE_PROPERTY
-
Fields inherited from interface io.guise.framework.model.ui.PresentationModel
BACKGROUND_COLOR_PROPERTY, BORDER_LINE_FAR_COLOR_PROPERTY, BORDER_LINE_FAR_EXTENT_PROPERTY, BORDER_LINE_FAR_STYLE_PROPERTY, BORDER_LINE_NEAR_COLOR_PROPERTY, BORDER_LINE_NEAR_EXTENT_PROPERTY, BORDER_LINE_NEAR_STYLE_PROPERTY, BORDER_PAGE_FAR_COLOR_PROPERTY, BORDER_PAGE_FAR_EXTENT_PROPERTY, BORDER_PAGE_FAR_STYLE_PROPERTY, BORDER_PAGE_NEAR_COLOR_PROPERTY, BORDER_PAGE_NEAR_EXTENT_PROPERTY, BORDER_PAGE_NEAR_STYLE_PROPERTY, CORNER_LINE_FAR_PAGE_FAR_ARC_SIZE_PROPERTY, CORNER_LINE_FAR_PAGE_NEAR_ARC_SIZE_PROPERTY, CORNER_LINE_NEAR_PAGE_FAR_ARC_SIZE_PROPERTY, CORNER_LINE_NEAR_PAGE_NEAR_ARC_SIZE_PROPERTY, CURSOR_PROPERTY, FONT_FAMILIES_PROPERTY, FONT_SIZE_PROPERTY, FONT_STYLE_PROPERTY, FONT_WEIGHT_BOLD, FONT_WEIGHT_NORMAL, FONT_WEIGHT_PROPERTY, LABEL_FONT_FAMILIES_PROPERTY, LABEL_FONT_SIZE_PROPERTY, LABEL_FONT_STYLE_PROPERTY, LABEL_FONT_WEIGHT_PROPERTY, LABEL_TEXT_COLOR_PROPERTY, LINE_EXTENT_PROPERTY, MARGIN_LINE_FAR_EXTENT_PROPERTY, MARGIN_LINE_NEAR_EXTENT_PROPERTY, MARGIN_PAGE_FAR_EXTENT_PROPERTY, MARGIN_PAGE_NEAR_EXTENT_PROPERTY, OPACITY_PROPERTY, PADDING_LINE_FAR_EXTENT_PROPERTY, PADDING_LINE_NEAR_EXTENT_PROPERTY, PADDING_PAGE_FAR_EXTENT_PROPERTY, PADDING_PAGE_NEAR_EXTENT_PROPERTY, PAGE_EXTENT_PROPERTY, ROUNDED_CORNER_ARC_SIZE, STYLE_ID_PROPERTY, TEXT_COLOR_PROPERTY, TOOLTIP_ENABLED_PROPERTY, VISIBLE_PROPERTY
-
-
Constructor Summary
Constructors Constructor Description AbstractFrame(Component component)
Component constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canClose()
Determines whether the frame should be allowed to close.void
close()
Closes the frame.protected void
closeImpl()
Implementation of frame closing.ActionControl
getCloseActionControl()
ActionPrototype
getCloseActionPrototype()
Component
getContent()
InputFocusableComponent
getInputFocusedComponent()
Indicates the component within this group that has the input focus.InputFocusStrategy
getInputFocusStrategy()
Menu
getMenu()
Frame.Mode
getMode()
Effect
getOpenEffect()
protected FrameMenuToolPrototypeProvisionStrategy
getPrototypeProvisionStrategy()
Component
getRelatedComponent()
Frame.State
getState()
Color
getTitleBackgroundColor()
Toolbar
getToolbar()
boolean
isModal()
boolean
isMovable()
boolean
isResizable()
boolean
isTitleVisible()
void
open()
Opens the frame with the currently set modality.void
open(boolean modal)
Opens the frame, specifying modality.void
open(com.globalmentor.beans.GenericPropertyChangeListener<Frame.Mode> modeChangeListener)
Opens the frame as modal and installs the given property change listener to listen for the mode changing.protected java.util.Set<PrototypeProvision<?>>
provideDefaultPrototypes()
Provides default prototype provisions to be integrated into the menu and/or toolbar.void
setCloseActionControl(ActionControl newCloseActionControl)
Sets the action control for closing the frame.void
setContent(Component newContent)
Sets the content child component.void
setInputFocusedComponent(InputFocusableComponent newInputFocusedComponent)
Sets the focused component within this input focus group.void
setInputFocusStrategy(InputFocusStrategy newInputFocusStrategy)
Sets the input focus strategy.void
setMenu(Menu newMenu)
Sets the frame menu.void
setModal(boolean newModal)
Sets whether the frame is modal if and when it is open.void
setMode(Frame.Mode newMode)
Sets the mode of interaction.void
setMovable(boolean newMovable)
Sets whether the frame is movable.void
setOpenEffect(Effect newOpenEffect)
Sets the effect used for opening the frame.void
setRelatedComponent(Component newRelatedComponent)
Sets the related component This is a bound property.void
setResizable(boolean newResizable)
Sets whether the frame can be resized.protected void
setState(Frame.State newState)
Sets the state of the frame.void
setTitleBackgroundColor(Color newTitleBackgroundColor)
Sets the background color of the title.void
setTitleVisible(boolean newTitleVisible)
Sets whether the title bar is visible.void
setToolbar(Toolbar newToolbar)
Sets the frame toolbar.protected void
updateDefaultPrototypeProvisions()
Updates the default prototype provisions.boolean
validate()
Validates the user input of this component and all child components.-
Methods inherited from class io.guise.framework.component.AbstractEnumCompositeComponent
getComponent, setComponent
-
Methods inherited from class io.guise.framework.component.AbstractArrayCompositeComponent
getChildComponents, getChildList, getComponent, hasChildComponents, setComponent
-
Methods inherited from class io.guise.framework.component.AbstractMultipleCompositeComponent
addComponent, removeComponent
-
Methods inherited from class io.guise.framework.component.AbstractCompositeComponent
addCompositeComponentListener, childComponentValidPropertyChanged, determineChildrenValid, determineValid, dispatchInputEvent, dispatchInputEvent, fireChildComponentAdded, fireChildComponentAdded, fireChildComponentRemoved, fireChildComponentRemoved, initializeChildComponent, loadPreferences, removeCompositeComponentListener, resetTheme, savePreferences, uninitializeChildComponent, updateTheme, validateChildren
-
Methods inherited from class io.guise.framework.component.AbstractComponent
addCommandListener, addExportStrategy, addImportStrategy, addKeyListener, addMouseListener, addNotificationListener, addPreferenceProperty, applyTheme, applyTheme, depict, equals, exportTransfer, fireInputEvent, fireNotified, fireNotified, getAncestor, getCommandListeners, getComponentByID, getComponentByName, getComponentOrientation, getConstraints, getDepictID, getDepictor, getDescription, getDescriptionContentType, getDirtyComponents, getDirtyComponents, getEventListenerManager, getFlyoverStrategy, getGlyphURI, getInfo, getInfoContentType, getInfoModel, getInputStrategy, getKeyListeners, getLabel, getLabelContentType, getMouseListeners, getName, getNotification, getNotifications, getNotifications, getOrientation, getParent, getPreferenceProperties, getRootComponent, getTheme, hasAncestor, hasCommandListeners, hashCode, hasKeyListeners, hasMouseListeners, importTransfer, initialize, isDragEnabled, isDropEnabled, isFlyoverEnabled, isPreferenceProperty, isThemeApplied, isValid, notify, processEvent, removeCommandListener, removeExportStrategy, removeImportStrategy, removeKeyListener, removeMouseListener, removeNotificationListener, removePreferenceProperty, setConstraints, setDepicted, setDescription, setDescriptionContentType, setDragEnabled, setDropEnabled, setFlyoverEnabled, setFlyoverStrategy, setGlyphURI, setInfo, setInfoContentType, setInputStrategy, setLabel, setLabelContentType, setName, setNotification, setOrientation, setParent, setThemeApplied, setValid, toString, update, updateValid
-
Methods inherited from class io.guise.framework.model.ui.AbstractPresentationModel
BorderLineFarColor, BorderLineFarExtent, BorderLineFarStyle, BorderLineNearColor, BorderLineNearExtent, BorderLineNearStyle, BorderPageFarColor, BorderPageFarExtent, BorderPageFarStyle, BorderPageNearColor, BorderPageNearExtent, BorderPageNearStyle, getBackgroundColor, getBorderColor, getBorderExtent, getBorderStyle, getCornerArcSize, getCornerLineFarPageFarArcSize, getCornerLineFarPageNearArcSize, getCornerLineNearPageFarArcSize, getCornerLineNearPageNearArcSize, getCursor, getExtent, getFontFamilies, getFontSize, getFontStyle, getFontWeight, getLabelFontFamilies, getLabelFontSize, getLabelFontStyle, getLabelFontWeight, getLabelTextColor, getLineExtent, getMarginExtent, getMarginLineFarExtent, getMarginLineNearExtent, getMarginPageFarExtent, getMarginPageNearExtent, getOpacity, getPaddingExtent, getPaddingLineFarExtent, getPaddingLineNearExtent, getPaddingPageFarExtent, getPaddingPageNearExtent, getPageExtent, getStyleID, getTextColor, isDisplayed, isTooltipEnabled, isVisible, setBackgroundColor, setBorderColor, setBorderColor, setBorderExtent, setBorderExtent, setBorderLineFarColor, setBorderLineFarExtent, setBorderLineFarStyle, setBorderLineNearColor, setBorderLineNearExtent, setBorderLineNearStyle, setBorderPageFarColor, setBorderPageFarExtent, setBorderPageFarStyle, setBorderPageNearColor, setBorderPageNearExtent, setBorderPageNearStyle, setBorderStyle, setBorderStyle, setCornerArcSize, setCornerArcSize, setCornerLineFarPageFarArcSize, setCornerLineFarPageNearArcSize, setCornerLineNearPageFarArcSize, setCornerLineNearPageNearArcSize, setCursor, setDisplayed, setExtent, setFontFamilies, setFontSize, setFontStyle, setFontWeight, setLabelFontFamilies, setLabelFontSize, setLabelFontStyle, setLabelFontWeight, setLabelTextColor, setLineExtent, setMarginExtent, setMarginExtent, setMarginLineFarExtent, setMarginLineNearExtent, setMarginPageFarExtent, setMarginPageNearExtent, setOpacity, setPaddingExtent, setPaddingExtent, setPaddingLineFarExtent, setPaddingLineNearExtent, setPaddingPageFarExtent, setPaddingPageNearExtent, setPageExtent, setStyleID, setTextColor, setTooltipEnabled, setVisible
-
Methods inherited from class io.guise.framework.event.GuiseBoundPropertyObject
getSession
-
Methods inherited from class com.globalmentor.beans.BoundPropertyObject
addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, createPostponedPropertyChangeEvent, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, getForwardPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeSupport, getRepeatPropertyChangeListener, getRepeatVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, getVetoableChangeSupport, hasPropertyChangeListeners, hasVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.guise.framework.component.Component
addCommandListener, addExportStrategy, addImportStrategy, addKeyListener, addMouseListener, addNotificationListener, addPreferenceProperty, applyTheme, applyTheme, dispatchInputEvent, exportTransfer, fireInputEvent, getAncestor, getComponentOrientation, getConstraints, getDepictor, getFlyoverStrategy, getInputStrategy, getName, getNotification, getOrientation, getParent, getPreferenceProperties, getTheme, hasCommandListeners, hasKeyListeners, hasMouseListeners, importTransfer, initialize, isDragEnabled, isDropEnabled, isFlyoverEnabled, isPreferenceProperty, isThemeApplied, isValid, loadPreferences, notify, removeCommandListener, removeExportStrategy, removeImportStrategy, removeKeyListener, removeMouseListener, removeNotificationListener, removePreferenceProperty, resetTheme, savePreferences, setConstraints, setDragEnabled, setDropEnabled, setFlyoverEnabled, setFlyoverStrategy, setInputStrategy, setName, setNotification, setOrientation, setParent, setThemeApplied, updateTheme
-
Methods inherited from interface io.guise.framework.component.CompositeComponent
addCompositeComponentListener, getChildComponents, hasChildComponents, removeCompositeComponentListener
-
Methods inherited from interface io.guise.framework.platform.DepictedObject
depict, getDepictID, getSession, processEvent
-
Methods inherited from interface io.guise.framework.model.InfoModel
getDescription, getDescriptionContentType, getInfo, getInfoContentType, setDescription, setDescriptionContentType, setInfo, setInfoContentType
-
Methods inherited from interface io.guise.framework.model.LabelModel
getGlyphURI, getLabel, getLabelContentType, setGlyphURI, setLabel, setLabelContentType
-
Methods inherited from interface io.guise.framework.model.ui.PresentationModel
BorderLineFarColor, BorderLineFarExtent, BorderLineFarStyle, BorderLineNearColor, BorderLineNearExtent, BorderLineNearStyle, BorderPageFarColor, BorderPageFarExtent, BorderPageFarStyle, BorderPageNearColor, BorderPageNearExtent, BorderPageNearStyle, getBackgroundColor, getBorderColor, getBorderExtent, getBorderStyle, getCornerArcSize, getCornerLineFarPageFarArcSize, getCornerLineFarPageNearArcSize, getCornerLineNearPageFarArcSize, getCornerLineNearPageNearArcSize, getCursor, getExtent, getFontFamilies, getFontSize, getFontStyle, getFontWeight, getLabelFontFamilies, getLabelFontSize, getLabelFontStyle, getLabelFontWeight, getLabelTextColor, getLineExtent, getMarginExtent, getMarginLineFarExtent, getMarginLineNearExtent, getMarginPageFarExtent, getMarginPageNearExtent, getOpacity, getPaddingExtent, getPaddingLineFarExtent, getPaddingLineNearExtent, getPaddingPageFarExtent, getPaddingPageNearExtent, getPageExtent, getSession, getStyleID, getTextColor, isDisplayed, isTooltipEnabled, isVisible, setBackgroundColor, setBorderColor, setBorderColor, setBorderExtent, setBorderExtent, setBorderLineFarColor, setBorderLineFarExtent, setBorderLineFarStyle, setBorderLineNearColor, setBorderLineNearExtent, setBorderLineNearStyle, setBorderPageFarColor, setBorderPageFarExtent, setBorderPageFarStyle, setBorderPageNearColor, setBorderPageNearExtent, setBorderPageNearStyle, setBorderStyle, setBorderStyle, setCornerArcSize, setCornerArcSize, setCornerLineFarPageFarArcSize, setCornerLineFarPageNearArcSize, setCornerLineNearPageFarArcSize, setCornerLineNearPageNearArcSize, setCursor, setDisplayed, setExtent, setFontFamilies, setFontSize, setFontStyle, setFontWeight, setLabelFontFamilies, setLabelFontSize, setLabelFontStyle, setLabelFontWeight, setLabelTextColor, setLineExtent, setMarginExtent, setMarginExtent, setMarginLineFarExtent, setMarginLineNearExtent, setMarginPageFarExtent, setMarginPageNearExtent, setOpacity, setPaddingExtent, setPaddingExtent, setPaddingLineFarExtent, setPaddingLineNearExtent, setPaddingPageFarExtent, setPaddingPageNearExtent, setPageExtent, setStyleID, setTextColor, setTooltipEnabled, setVisible
-
-
-
-
Constructor Detail
-
AbstractFrame
public AbstractFrame(Component component)
Component constructor.- Parameters:
component
- The single child component, ornull
if this frame should have no child component.
-
-
Method Detail
-
getState
public Frame.State getState()
-
setState
protected void setState(Frame.State newState)
Sets the state of the frame. This is a bound property.- Parameters:
newState
- The new state of the frame.- Throws:
java.lang.NullPointerException
- if the given state isnull
.- See Also:
Frame.STATE_PROPERTY
-
isModal
public boolean isModal()
-
setModal
public void setModal(boolean newModal)
Description copied from interface:Frame
Sets whether the frame is modal if and when it is open. This is a bound property of typeBoolean
.- Specified by:
setModal
in interfaceFrame
- Parameters:
newModal
-true
if the frame should be modal, elsefalse
.- See Also:
Frame.MODAL_PROPERTY
-
getMode
public Frame.Mode getMode()
- Specified by:
getMode
in interfaceModalComponent<Frame.Mode>
- Returns:
- The current mode of interaction, or
null
if the component is in a modeless state.
-
setMode
public void setMode(Frame.Mode newMode)
Description copied from interface:ModalComponent
Sets the mode of interaction. This is a bound property.- Specified by:
setMode
in interfaceModalComponent<Frame.Mode>
- Parameters:
newMode
- The new mode of component interaction.- See Also:
ModalComponent.MODE_PROPERTY
-
isMovable
public boolean isMovable()
-
setMovable
public void setMovable(boolean newMovable)
Description copied from interface:Frame
Sets whether the frame is movable. This is a bound property of typeBoolean
.- Specified by:
setMovable
in interfaceFrame
- Parameters:
newMovable
-true
if the frame should be movable, elsefalse
.- See Also:
Frame.MOVABLE_PROPERTY
-
isResizable
public boolean isResizable()
- Specified by:
isResizable
in interfaceFrame
- Returns:
- Whether the frame can be resized.
-
setResizable
public void setResizable(boolean newResizable)
Description copied from interface:Frame
Sets whether the frame can be resized. This is a bound property of typeBoolean
.- Specified by:
setResizable
in interfaceFrame
- Parameters:
newResizable
-true
if the frame can be resized, elsefalse
.- See Also:
Frame.RESIZABLE_PROPERTY
-
getRelatedComponent
public Component getRelatedComponent()
- Specified by:
getRelatedComponent
in interfaceFrame
- Returns:
- The related component such as a popup source, or
null
if the frame is not related to another component.
-
setRelatedComponent
public void setRelatedComponent(Component newRelatedComponent)
Description copied from interface:Frame
Sets the related component This is a bound property.- Specified by:
setRelatedComponent
in interfaceFrame
- Parameters:
newRelatedComponent
- The new related component, ornull
if the frame is not related to another component.- See Also:
Frame.RELATED_COMPONENT_PROPERTY
-
getTitleBackgroundColor
public Color getTitleBackgroundColor()
- Specified by:
getTitleBackgroundColor
in interfaceFrame
- Returns:
- The background color of the title, or
null
if no background color is specified for the title.
-
setTitleBackgroundColor
public void setTitleBackgroundColor(Color newTitleBackgroundColor)
Description copied from interface:Frame
Sets the background color of the title. This is a bound property.- Specified by:
setTitleBackgroundColor
in interfaceFrame
- Parameters:
newTitleBackgroundColor
- The background color of the title, ornull
if the default background color should be used.- See Also:
Frame.TITLE_BACKGROUND_COLOR_PROPERTY
-
isTitleVisible
public boolean isTitleVisible()
- Specified by:
isTitleVisible
in interfaceFrame
- Returns:
- Whether the title bar is visible.
-
setTitleVisible
public void setTitleVisible(boolean newTitleVisible)
Description copied from interface:Frame
Sets whether the title bar is visible. This is a bound property of typeBoolean
.- Specified by:
setTitleVisible
in interfaceFrame
- Parameters:
newTitleVisible
-true
if the title bar should be visible, elsefalse
.- See Also:
Frame.TITLE_VISIBLE_PROPERTY
-
getOpenEffect
public Effect getOpenEffect()
- Specified by:
getOpenEffect
in interfaceFrame
- Returns:
- The effect used for opening the frame, or
null
if there is no open effect.
-
setOpenEffect
public void setOpenEffect(Effect newOpenEffect)
Description copied from interface:Frame
Sets the effect used for opening the frame. This is a bound property.- Specified by:
setOpenEffect
in interfaceFrame
- Parameters:
newOpenEffect
- The new effect used for opening the frame, ornull
if there should be no open effect.- See Also:
Frame.OPEN_EFFECT_PROPERTY
-
getContent
public Component getContent()
- Specified by:
getContent
in interfaceContentComponent
- Returns:
- The content child component, or
null
if this component does not have a content child component.
-
setContent
public void setContent(Component newContent)
Description copied from interface:ContentComponent
Sets the content child component. This is a bound property- Specified by:
setContent
in interfaceContentComponent
- Parameters:
newContent
- The content child component, ornull
if this component does not have a content child component.- See Also:
ContentComponent.CONTENT_PROPERTY
-
getMenu
public Menu getMenu()
-
setMenu
public void setMenu(Menu newMenu)
Description copied from interface:Frame
Sets the frame menu. This is a bound property.- Specified by:
setMenu
in interfaceFrame
- Parameters:
newMenu
- The frame menu, ornull
if this frame does not have a menu.- See Also:
Frame.MENU_PROPERTY
-
getToolbar
public Toolbar getToolbar()
- Specified by:
getToolbar
in interfaceFrame
- Returns:
- The frame toolbar, or
null
if this frame does not have a toolbar.
-
setToolbar
public void setToolbar(Toolbar newToolbar)
Description copied from interface:Frame
Sets the frame toolbar. This is a bound property.- Specified by:
setToolbar
in interfaceFrame
- Parameters:
newToolbar
- The frame toolbar, ornull
if this frame does not have a toolbar.- See Also:
Frame.TOOLBAR_PROPERTY
-
getPrototypeProvisionStrategy
protected FrameMenuToolPrototypeProvisionStrategy getPrototypeProvisionStrategy()
- Returns:
- The strategy for processing prototypes provisions from child prototype providers, along with this frame's prototype provisions.
-
getCloseActionControl
public ActionControl getCloseActionControl()
- Specified by:
getCloseActionControl
in interfaceFrame
- Returns:
- The action control for closing the frame, or
null
if this frame does not have a close action control.
-
setCloseActionControl
public void setCloseActionControl(ActionControl newCloseActionControl)
Description copied from interface:Frame
Sets the action control for closing the frame. This is a bound property.- Specified by:
setCloseActionControl
in interfaceFrame
- Parameters:
newCloseActionControl
- The action control for closing the frame, ornull
if this frame does not have a close action control.- See Also:
Frame.CLOSE_ACTION_CONTROL_PROPERTY
-
getInputFocusStrategy
public InputFocusStrategy getInputFocusStrategy()
- Specified by:
getInputFocusStrategy
in interfaceInputFocusGroupComponent
- Returns:
- The input focus strategy for this input focus group.
-
setInputFocusStrategy
public void setInputFocusStrategy(InputFocusStrategy newInputFocusStrategy)
Description copied from interface:InputFocusGroupComponent
Sets the input focus strategy. This is a bound property- Specified by:
setInputFocusStrategy
in interfaceInputFocusGroupComponent
- Parameters:
newInputFocusStrategy
- The input focus strategy for this group.- See Also:
InputFocusGroupComponent.INPUT_FOCUS_STRATEGY_PROPERTY
-
getInputFocusedComponent
public InputFocusableComponent getInputFocusedComponent()
Description copied from interface:InputFocusGroupComponent
Indicates the component within this group that has the input focus. The focused component may be anotherInputFocusGroupComponent
, which in turn will have its own focused component.- Specified by:
getInputFocusedComponent
in interfaceInputFocusGroupComponent
- Returns:
- The component within this group that has the input focus, or
null
if no component currently has the input focus.
-
setInputFocusedComponent
public void setInputFocusedComponent(InputFocusableComponent newInputFocusedComponent) throws java.beans.PropertyVetoException
Description copied from interface:InputFocusGroupComponent
Sets the focused component within this input focus group. This is a bound property.- Specified by:
setInputFocusedComponent
in interfaceInputFocusGroupComponent
- Parameters:
newInputFocusedComponent
- The component to receive the input focus.- Throws:
java.beans.PropertyVetoException
- if the given component is not a focusable component within this input focus group, the component cannot receive the input focus, or the input focus change has otherwise been vetoed.- See Also:
InputFocusGroupComponent.getInputFocusStrategy()
,InputFocusGroupComponent.INPUT_FOCUSED_COMPONENT_PROPERTY
-
getCloseActionPrototype
public ActionPrototype getCloseActionPrototype()
- Specified by:
getCloseActionPrototype
in interfaceFrame
- Returns:
- The action prototype for closing the frame.
-
open
public void open()
Description copied from interface:Frame
Opens the frame with the currently set modality. Opening the frame registers the frame with the application frame. If the frame is already open, no action occurs.- Specified by:
open
in interfaceFrame
- See Also:
Frame.getState()
,Frame.STATE_PROPERTY
-
open
public void open(boolean modal)
Description copied from interface:Frame
Opens the frame, specifying modality. Opening the frame registers the frame with the session. If the frame is already open, no action occurs.- Specified by:
open
in interfaceFrame
- Parameters:
modal
-true
if the frame should be opened as a modal frame, elsefalse
.- See Also:
Frame.getState()
,Frame.STATE_PROPERTY
-
open
public void open(com.globalmentor.beans.GenericPropertyChangeListener<Frame.Mode> modeChangeListener)
Description copied from interface:Frame
Opens the frame as modal and installs the given property change listener to listen for the mode changing. This is a convenience method that adds theModalComponent.MODE_PROPERTY
change listener usingPropertyBindable.addPropertyChangeListener(String, PropertyChangeListener)
and then callsFrame.open(boolean)
with a value oftrue
.- Specified by:
open
in interfaceFrame
- Parameters:
modeChangeListener
- The mode property change listener to add.- See Also:
ModalComponent.MODE_PROPERTY
-
canClose
public boolean canClose()
Description copied from interface:Frame
Determines whether the frame should be allowed to close. This method is called fromFrame.close()
.
-
close
public final void close()
Description copied from interface:Frame
Closes the frame. Closing the frame unregisters the frame with the session. If the frame is already closed, no action occurs.- Specified by:
close
in interfaceFrame
- See Also:
Frame.getState()
,Frame.STATE_PROPERTY
-
closeImpl
protected void closeImpl()
Implementation of frame closing.
-
validate
public boolean validate()
Description copied from class:AbstractCompositeComponent
Validates the user input of this component and all child components. The component will be updated with error information.This version clears all notifications. This version calls
AbstractComponent.updateValid()
.This version first calls
AbstractCompositeComponent.validateChildren()
so that all children will be validated before checks are performed on this component.- Specified by:
validate
in interfaceComponent
- Overrides:
validate
in classAbstractCompositeComponent
- Returns:
- The current state of
Component.isValid()
as a convenience.
-
updateDefaultPrototypeProvisions
protected final void updateDefaultPrototypeProvisions()
Updates the default prototype provisions.- See Also:
provideDefaultPrototypes()
-
provideDefaultPrototypes
protected java.util.Set<PrototypeProvision<?>> provideDefaultPrototypes()
Provides default prototype provisions to be integrated into the menu and/or toolbar. The default prototype provisions are separate from those provided by any child component prototype producers. Subclasses may override this method to add or modify the default provided prototype provisions.- Returns:
- A mutable set of default prototype provisions.
-
-