- 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 ofUiAbstractWindowfor JavaFx.- Since:
- 1.0.0
-
-
Field Summary
Fields Modifier and Type Field Description protected List<UiRegularWidget>childrenprotected javafx.scene.layout.VBoxcompositeThe composite where to add children.protected FxAbstractWindowPositionAndSizepositionAndSizeprotected javafx.scene.ScenesceneThescene.protected javafx.scene.control.ScrollPanescrollPaneThe optionalScrollPaneifscrollable.-
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 voidaddChild(UiRegularWidget child, int index)Inserts the givenchildat the givenindex.protected voiddoDispose()Called fromAbstractUiNativeWidget.dispose()UiRegularWidgetgetChild(int index)intgetChildCount()intgetChildIndex(UiRegularWidget child)protected intgetChildOffset()UiAbstractWindowgetParent()AttributeWritePositionRangegetPosition()AttributeWriteSizeRangegetSize()StringgetTitle()javafx.stage.StagegetWidget()protected booleanisInitiallyVisible()booleanisMaximized()booleanisMinimized()booleanisResizable()protected booleanisScrollable()protected booleanisVisibleWithoutRoot()protected voidregisterHandlers()Registers the according handlers to the underlying native widget.UiRegularWidgetremoveChild(int index)This method removes the child at the givenindexfrom this panel.protected voidsetEnabledNative(boolean enabled)protected voidsetIdNative(String id)voidsetMaximized(boolean maximized)voidsetMinimized(boolean minimized)protected voidsetParent(UiComposite<?> parent)voidsetResizable(boolean resizable)voidsetTitle(String title)protected voidsetTooltipNative(String newTooltip)protected voidsetVisibleNative(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 optionalScrollPaneifscrollable.
-
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:
isInitiallyVisiblein classAbstractUiNativeWidget- Returns:
trueif this widget is initially visible (locally native),falseotherwise.
-
isVisibleWithoutRoot
protected boolean isVisibleWithoutRoot()
- Overrides:
isVisibleWithoutRootin classAbstractUiNativeWidget- Returns:
trueif this is a root widget (e.g. UiMainWindow) that is visible without a parent,falseotherwise.
-
getParent
public UiAbstractWindow getParent()
- Specified by:
getParentin interfaceUiAbstractWindow- Specified by:
getParentin interfaceUiWidget- Overrides:
getParentin classAbstractUiNativeWidget- Returns:
- the parent of this widget or
nullif not attached to the UI or if this is a root widget (e.g. the main window).
-
setParent
protected void setParent(UiComposite<?> parent)
- Overrides:
setParentin classAbstractUiNativeWidget- Parameters:
parent- the newparent.
-
isScrollable
protected boolean isScrollable()
- Returns:
trueto use aScrollPaneand allow the content to scroll,falseotherwise.
-
registerHandlers
protected void registerHandlers()
Description copied from class:AbstractUiNativeWidgetRegisters the according handlers to the underlying native widget. Never call manually, only viaAbstractUiNativeWidget.ensureHandlers().- Overrides:
registerHandlersin classAbstractUiNativeWidget
-
getWidget
public javafx.stage.Stage getWidget()
- Specified by:
getWidgetin interfaceUiNativeWidgetWrapper<javafx.stage.Stage>- Overrides:
getWidgetin classFxWidget<javafx.stage.Stage>- Returns:
- the underlying native widget wrapped by this
UiNativeWidget.
-
setIdNative
protected void setIdNative(String id)
- Specified by:
setIdNativein classAbstractUiNativeWidgetWrapper<javafx.stage.Stage>- Parameters:
id- the newID.
-
setVisibleNative
protected void setVisibleNative(boolean visible)
- Specified by:
setVisibleNativein classAbstractUiNativeWidget- Parameters:
visible-trueto show this widget (in case its parent is also visible),falseto hide this widget.
-
setTooltipNative
protected void setTooltipNative(String newTooltip)
- Specified by:
setTooltipNativein classAbstractUiNativeWidgetWrapper<javafx.stage.Stage>- Parameters:
newTooltip- the new tooltip to apply.
-
getPosition
public AttributeWritePositionRange getPosition()
- Specified by:
getPositionin interfaceUiAbstractWindow- Returns:
- access to read and write the position of this window.
-
getSize
public AttributeWriteSizeRange getSize()
- Specified by:
getSizein interfaceUiAbstractWindow- Returns:
- access to read and write the size of this window.
-
isResizable
public boolean isResizable()
- Specified by:
isResizablein interfaceAttributeWriteResizable- Returns:
trueif this object can beresizedby the end-user,falseotherwise.
-
setResizable
public void setResizable(boolean resizable)
- Specified by:
setResizablein interfaceAttributeWriteResizable- Parameters:
resizable- is the new value ofAttributeWriteResizable.isResizable().
-
getTitle
public String getTitle()
- Specified by:
getTitlein interfaceAttributeReadTitle- Returns:
- the title of this object. Similar to
textbut more exposed (e.g. displayed in title-bar in case of a window). Will be the emptyStringif not set.
-
setTitle
public void setTitle(String title)
- Specified by:
setTitlein interfaceAttributeWriteTitle- Parameters:
title- the new value oftitle.
-
setEnabledNative
protected void setEnabledNative(boolean enabled)
- Specified by:
setEnabledNativein classAbstractUiNativeWidget- Parameters:
enabled- the newenabled state. Usetrueto enable andfalseto 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:
getChildCountin interfaceUiComposite<UiRegularWidget>- Returns:
- the number of direct children contained in this widget.
-
getChild
public UiRegularWidget getChild(int index)
- Specified by:
getChildin interfaceUiComposite<UiRegularWidget>- Parameters:
index- is the index of the requested child. Should be in the range from0to.UiComposite.getChildCount()- 1- Returns:
- the requested child or
nullif no such child exists. - See Also:
List.get(int)
-
getChildIndex
public int getChildIndex(UiRegularWidget child)
- Specified by:
getChildIndexin interfaceUiComposite<UiRegularWidget>- Parameters:
child- thechildto look for.- Returns:
- the index of the given
childor-1if no suchchildexists.
-
addChild
public void addChild(UiRegularWidget child, int index)
Description copied from interface:UiMutableCompositeInserts the givenchildat the givenindex.- Specified by:
addChildin interfaceUiMutableComposite<UiRegularWidget>- Parameters:
child- is theUiWidgetto add as child of this composite.index- is theindexof the new child. It has to be in the range from0toUiComposite.getChildCount().- See Also:
UiMutableComposite.addChild(UiWidget),List.add(int, Object)
-
removeChild
public UiRegularWidget removeChild(int index)
Description copied from interface:UiRemovableCompositeThis method removes the child at the givenindexfrom this panel.- Specified by:
removeChildin interfaceUiRemovableComposite<UiRegularWidget>- Parameters:
index- is theindexof the child to remove. It has to be in the range from0to.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:
isMaximizedin interfaceAttributeWriteMaximized- Returns:
trueif this widget is currently maximized (full-screen so its size covers the entire screen),falseotherwise.
-
setMaximized
public void setMaximized(boolean maximized)
- Specified by:
setMaximizedin interfaceAttributeWriteMaximized- Parameters:
maximized-trueto maximize,falseto 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:
isMinimizedin interfaceAttributeWriteMinimized- Returns:
trueif this object (window) is currently minimized (iconified, hidden to taskbar),falseotherwise.
-
setMinimized
public void setMinimized(boolean minimized)
- Specified by:
setMinimizedin interfaceAttributeWriteMinimized- Parameters:
minimized-truetominimize,falseto 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:AbstractUiNativeWidgetCalled fromAbstractUiNativeWidget.dispose()- Overrides:
doDisposein classAbstractUiNativeWidget
-
-