- java.lang.Object
-
- io.github.mmm.ui.api.widget.AbstractUiWidget
-
- io.github.mmm.ui.spi.widget.AbstractUiNativeWidget
-
- io.github.mmm.ui.spi.widget.AbstractUiNativeWidgetWrapper<W>
-
- io.github.mmm.ui.fx.widget.FxWidget<javafx.stage.Stage>
-
- io.github.mmm.ui.fx.widget.window.FxAbstractWindow
-
- All Implemented Interfaces:
EventSource<UiEvent,UiEventListener>
,AttributeReadEnabled
,AttributeReadId
,AttributeReadTitle
,AttributeReadValid
,AttributeReadVisible
,AttributeWriteEnabled
,AttributeWriteId
,AttributeWriteMaximized
,AttributeWriteMinimized
,AttributeWriteReadOnly
,AttributeWriteResizable
,AttributeWriteTitle
,AttributeWriteTooltip
,AttributeWriteValidationFailure
,AttributeWriteVisible
,UiComposite<UiRegularWidget>
,UiMutableComposite<UiRegularWidget>
,UiRemovableComposite<UiRegularWidget>
,UiNativeWidget
,UiWidget
,UiAbstractWindow
,UiNativeWidgetWrapper<javafx.stage.Stage>
- Direct Known Subclasses:
FxChildWindow
,FxMainWindow
public abstract class FxAbstractWindow extends FxWidget<javafx.stage.Stage> implements UiAbstractWindow, AttributeWriteMinimized, AttributeWriteMaximized
Implementation ofUiAbstractWindow
for JavaFx.- Since:
- 1.0.0
-
-
Field Summary
Fields Modifier and Type Field Description protected List<UiRegularWidget>
children
protected javafx.scene.layout.VBox
composite
The composite where to add children.protected FxAbstractWindowPositionAndSize
positionAndSize
protected javafx.scene.Scene
scene
Thescene
.protected javafx.scene.control.ScrollPane
scrollPane
The optionalScrollPane
ifscrollable
.-
Fields inherited from class io.github.mmm.ui.fx.widget.FxWidget
CLASS_INVALID, CLASS_READ_ONLY, widget
-
Fields inherited from interface io.github.mmm.ui.api.attribute.AttributeWriteValidationFailure
STYLE_INVALID
-
-
Constructor Summary
Constructors Constructor Description FxAbstractWindow(javafx.stage.Stage widget)
The constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addChild(UiRegularWidget child, int index)
Inserts the givenchild
at the givenindex
.protected void
doDispose()
Called fromAbstractUiNativeWidget.dispose()
UiRegularWidget
getChild(int index)
int
getChildCount()
int
getChildIndex(UiRegularWidget child)
protected int
getChildOffset()
UiAbstractWindow
getParent()
AttributeWritePositionRange
getPosition()
AttributeWriteSizeRange
getSize()
String
getTitle()
javafx.stage.Stage
getWidget()
protected boolean
isInitiallyVisible()
boolean
isMaximized()
boolean
isMinimized()
boolean
isResizable()
protected boolean
isScrollable()
protected boolean
isVisibleWithoutRoot()
protected void
registerHandlers()
Registers the according handlers to the underlying native widget.UiRegularWidget
removeChild(int index)
This method removes the child at the givenindex
from this panel.protected void
setEnabledNative(boolean enabled)
protected void
setIdNative(String id)
void
setMaximized(boolean maximized)
void
setMinimized(boolean minimized)
protected void
setParent(UiComposite<?> parent)
void
setResizable(boolean resizable)
void
setTitle(String title)
protected void
setTooltipNative(String newTooltip)
protected void
setVisibleNative(boolean visible)
-
Methods inherited from class io.github.mmm.ui.fx.widget.FxWidget
getTopNode, onAction, onClose, onFocusChange, onFocusChanged, onValueChange, onValueChanged, setReadOnlyNative, setTooltip, setWidget
-
Methods inherited from class io.github.mmm.ui.spi.widget.AbstractUiNativeWidgetWrapper
createDefaultStyles, createStyles, getId, getStyles, getTooltip, onStylesChanged, setId, setTooltip
-
Methods inherited from class io.github.mmm.ui.spi.widget.AbstractUiNativeWidget
addListener, dispose, doGetEnabledState, doGetVisibleState, doSetEnabledState, doSetEnabledState, doSetValidationFailure, doSetVisibleState, doSetVisibleState, ensureHandlers, fireEvent, getEventAdapter, getProgrammaticEventType, getReadOnlyFixed, getValidationFailure, hasListeners, isDisposed, isEnabled, isReadOnly, isValid, isVisible, removeListener, requireNotDisposed, setEnabled, setProgrammaticEventType, setReadOnly, setReadOnlyFixed, setValidationFailure, setVisible, unwrap, validateDown
-
Methods inherited from class io.github.mmm.ui.api.widget.AbstractUiWidget
isEmpty, setParent, unwrap
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.github.mmm.ui.api.attribute.AttributeReadId
getId
-
Methods inherited from interface io.github.mmm.ui.api.attribute.AttributeWriteId
setId
-
Methods inherited from interface io.github.mmm.ui.api.attribute.AttributeWriteTooltip
getTooltip, setTooltip
-
Methods inherited from interface io.github.mmm.ui.api.attribute.AttributeWriteValidationFailure
setValidationFailure
-
Methods inherited from interface io.github.mmm.event.EventSource
addListener, addListener, addWeakListener, removeListener
-
Methods inherited from interface io.github.mmm.ui.api.widget.window.UiAbstractWindow
close, findChild, open
-
Methods inherited from interface io.github.mmm.ui.api.widget.composite.UiComposite
getChild, getDescendant, getModificationTimestamp, getPropagation, isModified, isValid, reset, setFocused
-
Methods inherited from interface io.github.mmm.ui.api.widget.composite.UiMutableComposite
addChild
-
Methods inherited from interface io.github.mmm.ui.spi.widget.UiNativeWidgetWrapper
getTopWidget
-
Methods inherited from interface io.github.mmm.ui.api.widget.composite.UiRemovableComposite
removeChild
-
Methods inherited from interface io.github.mmm.ui.api.widget.UiWidget
cast, dispose, getReadOnlyFixed, getStyles, isDisposed, isEnabled, isEnabled, isFocused, isReadOnly, isVisible, isVisible, setEnabled, setEnabled, setReadOnly, setReadOnlyFixed, setVisible, setVisible, validate, validate, validate, validateDown, validateUp
-
-
-
-
Field Detail
-
scrollPane
protected final javafx.scene.control.ScrollPane scrollPane
The optionalScrollPane
ifscrollable
.
-
scene
protected final javafx.scene.Scene scene
Thescene
.
-
composite
protected final javafx.scene.layout.VBox composite
The composite where to add children.
-
children
protected final List<UiRegularWidget> children
- See Also:
getChild(int)
-
positionAndSize
protected final FxAbstractWindowPositionAndSize positionAndSize
- See Also:
getPosition()
,getSize()
-
-
Constructor Detail
-
FxAbstractWindow
public FxAbstractWindow(javafx.stage.Stage widget)
The constructor.- Parameters:
widget
- theJavaFx widget
.
-
-
Method Detail
-
isInitiallyVisible
protected boolean isInitiallyVisible()
- Overrides:
isInitiallyVisible
in classAbstractUiNativeWidget
- Returns:
true
if this widget is initially visible (locally native),false
otherwise.
-
isVisibleWithoutRoot
protected boolean isVisibleWithoutRoot()
- Overrides:
isVisibleWithoutRoot
in classAbstractUiNativeWidget
- Returns:
true
if this is a root widget (e.g. UiMainWindow) that is visible without a parent,false
otherwise.
-
getParent
public UiAbstractWindow getParent()
- Specified by:
getParent
in interfaceUiAbstractWindow
- Specified by:
getParent
in interfaceUiWidget
- Overrides:
getParent
in classAbstractUiNativeWidget
- Returns:
- the parent of this widget or
null
if not attached to the UI or if this is a root widget (e.g. the main window).
-
setParent
protected void setParent(UiComposite<?> parent)
- Overrides:
setParent
in classAbstractUiNativeWidget
- Parameters:
parent
- the newparent
.
-
isScrollable
protected boolean isScrollable()
- Returns:
true
to use aScrollPane
and allow the content to scroll,false
otherwise.
-
registerHandlers
protected void registerHandlers()
Description copied from class:AbstractUiNativeWidget
Registers the according handlers to the underlying native widget. Never call manually, only viaAbstractUiNativeWidget.ensureHandlers()
.- Overrides:
registerHandlers
in classAbstractUiNativeWidget
-
getWidget
public javafx.stage.Stage getWidget()
- Specified by:
getWidget
in interfaceUiNativeWidgetWrapper<javafx.stage.Stage>
- Overrides:
getWidget
in classFxWidget<javafx.stage.Stage>
- Returns:
- the underlying native widget wrapped by this
UiNativeWidget
.
-
setIdNative
protected void setIdNative(String id)
- Specified by:
setIdNative
in classAbstractUiNativeWidgetWrapper<javafx.stage.Stage>
- Parameters:
id
- the newID
.
-
setVisibleNative
protected void setVisibleNative(boolean visible)
- Specified by:
setVisibleNative
in classAbstractUiNativeWidget
- Parameters:
visible
-true
to show this widget (in case its parent is also visible),false
to hide this widget.
-
setTooltipNative
protected void setTooltipNative(String newTooltip)
- Specified by:
setTooltipNative
in classAbstractUiNativeWidgetWrapper<javafx.stage.Stage>
- Parameters:
newTooltip
- the new tooltip to apply.
-
getPosition
public AttributeWritePositionRange getPosition()
- Specified by:
getPosition
in interfaceUiAbstractWindow
- Returns:
- access to read and write the position of this window.
-
getSize
public AttributeWriteSizeRange getSize()
- Specified by:
getSize
in interfaceUiAbstractWindow
- Returns:
- access to read and write the size of this window.
-
isResizable
public boolean isResizable()
- Specified by:
isResizable
in interfaceAttributeWriteResizable
- Returns:
true
if this object can beresized
by the end-user,false
otherwise.
-
setResizable
public void setResizable(boolean resizable)
- Specified by:
setResizable
in interfaceAttributeWriteResizable
- Parameters:
resizable
- is the new value ofAttributeWriteResizable.isResizable()
.
-
getTitle
public String getTitle()
- Specified by:
getTitle
in interfaceAttributeReadTitle
- Returns:
- the title of this object. Similar to
text
but more exposed (e.g. displayed in title-bar in case of a window). Will be the emptyString
if not set.
-
setTitle
public void setTitle(String title)
- Specified by:
setTitle
in interfaceAttributeWriteTitle
- Parameters:
title
- the new value oftitle
.
-
setEnabledNative
protected void setEnabledNative(boolean enabled)
- Specified by:
setEnabledNative
in classAbstractUiNativeWidget
- Parameters:
enabled
- the newenabled state
. Usetrue
to enable andfalse
to disable this widget.
-
getChildOffset
protected int getChildOffset()
- Returns:
- the offset for the composite if internal widgets are on top.
-
getChildCount
public int getChildCount()
- Specified by:
getChildCount
in interfaceUiComposite<UiRegularWidget>
- Returns:
- the number of direct children contained in this widget.
-
getChild
public UiRegularWidget getChild(int index)
- Specified by:
getChild
in interfaceUiComposite<UiRegularWidget>
- Parameters:
index
- is the index of the requested child. Should be in the range from0
to
.UiComposite.getChildCount()
- 1- Returns:
- the requested child or
null
if no such child exists. - See Also:
List.get(int)
-
getChildIndex
public int getChildIndex(UiRegularWidget child)
- Specified by:
getChildIndex
in interfaceUiComposite<UiRegularWidget>
- Parameters:
child
- thechild
to look for.- Returns:
- the index of the given
child
or-1
if no suchchild
exists.
-
addChild
public void addChild(UiRegularWidget child, int index)
Description copied from interface:UiMutableComposite
Inserts the givenchild
at the givenindex
.- Specified by:
addChild
in interfaceUiMutableComposite<UiRegularWidget>
- Parameters:
child
- is theUiWidget
to add as child of this composite.index
- is theindex
of the new child. It has to be in the range from0
toUiComposite.getChildCount()
.- See Also:
UiMutableComposite.addChild(UiWidget)
,List.add(int, Object)
-
removeChild
public UiRegularWidget removeChild(int index)
Description copied from interface:UiRemovableComposite
This method removes the child at the givenindex
from this panel.- Specified by:
removeChild
in interfaceUiRemovableComposite<UiRegularWidget>
- Parameters:
index
- is theindex
of the child to remove. It has to be in the range from0
to
.UiComposite.getChildCount()
- 1- Returns:
- the removed child that has previously been at the given
index
. - See Also:
List.remove(int)
-
isMaximized
public boolean isMaximized()
- Specified by:
isMaximized
in interfaceAttributeWriteMaximized
- Returns:
true
if this widget is currently maximized (full-screen so its size covers the entire screen),false
otherwise.
-
setMaximized
public void setMaximized(boolean maximized)
- Specified by:
setMaximized
in interfaceAttributeWriteMaximized
- Parameters:
maximized
-true
to maximize,false
to un-maximize (size and position will be restored to the values before it was maximized).- See Also:
AttributeWriteMaximized.isMaximized()
-
isMinimized
public boolean isMinimized()
- Specified by:
isMinimized
in interfaceAttributeWriteMinimized
- Returns:
true
if this object (window) is currently minimized (iconified, hidden to taskbar),false
otherwise.
-
setMinimized
public void setMinimized(boolean minimized)
- Specified by:
setMinimized
in interfaceAttributeWriteMinimized
- Parameters:
minimized
-true
tominimize
,false
to normalize (size and position will be restored to the values before it was minimized).- See Also:
AttributeWriteMinimized.isMinimized()
-
doDispose
protected final void doDispose()
Description copied from class:AbstractUiNativeWidget
Called fromAbstractUiNativeWidget.dispose()
- Overrides:
doDispose
in classAbstractUiNativeWidget
-
-