Class DataViewWindow

  • All Implemented Interfaces:
    de.gsi.dataset.event.EventSource, javafx.css.Styleable, javafx.event.EventTarget

    @DefaultProperty("content")
    public class DataViewWindow
    extends javafx.scene.layout.BorderPane
    implements de.gsi.dataset.event.EventSource
    DataViewWindow containing content pane (based on BorderPane) and window decorations to detach, minimise, maximise, close the window.
    Author:
    rstein
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.lang.Runnable closeButtonAction  
      protected java.lang.Runnable maximizeButtonAction  
      protected java.lang.Runnable minimizeButtonAction  
      protected boolean parallelListeners  
      • Fields inherited from class javafx.scene.layout.Region

        USE_COMPUTED_SIZE, USE_PREF_SIZE
      • Fields inherited from class javafx.scene.Node

        BASELINE_OFFSET_SAME_AS_HEIGHT
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addCloseWindowButton()  
      java.util.concurrent.atomic.AtomicBoolean autoNotification()  
      javafx.beans.property.BooleanProperty closedProperty()  
      javafx.beans.property.ObjectProperty<javafx.scene.Node> contentProperty()  
      javafx.beans.property.BooleanProperty detachableWindowProperty()  
      javafx.beans.property.BooleanProperty detachedProperty()  
      javafx.beans.property.ObjectProperty<javafx.scene.Cursor> dragCursorProperty()
      Mouse cursor to be used during drag operation.
      boolean equals​(java.lang.Object obj)  
      javafx.scene.control.Button getCloseButton()  
      javafx.scene.Node getContent()  
      javafx.scene.control.Button getDetachButton()  
      DataViewWindow.ExternalStage getDialog()  
      javafx.scene.Cursor getDragCursor()
      Returns the value of the dragCursorProperty()
      javafx.scene.Node getGraphic()  
      javafx.collections.ObservableList<javafx.scene.Node> getLeftIcons()  
      javafx.scene.control.Button getMaximizeRestoreButton()  
      javafx.scene.control.Button getMinimizeButton()  
      java.lang.String getName()  
      DataView getParentView()  
      javafx.collections.ObservableList<javafx.scene.Node> getRightIcons()  
      javafx.scene.control.Label getTitleLabel()  
      DataViewWindow.WindowDecoration getWindowDecoration()  
      protected javafx.scene.layout.HBox getWindowDecorationBar()  
      DataViewWindow.WindowState getWindowState()  
      javafx.beans.property.ObjectProperty<javafx.scene.Node> graphicProperty()  
      int hashCode()  
      protected void installCursor()  
      boolean isClosed()  
      boolean isDetachableWindow()  
      boolean isDetached()  
      boolean isMaximised()  
      boolean isMinimised()  
      boolean isRestored()  
      javafx.beans.property.BooleanProperty maximisedProperty()  
      javafx.beans.property.BooleanProperty minimisedProperty()  
      javafx.beans.property.StringProperty nameProperty()  
      javafx.beans.property.ObjectProperty<DataView> parentViewProperty()  
      void removeCloseWindowButton()  
      javafx.beans.property.BooleanProperty restoredProperty()  
      void setClosed​(boolean state)  
      void setContent​(javafx.scene.Node content)  
      void setDetachableWindow​(boolean state)  
      void setDetached​(boolean state)  
      void setDragCursor​(javafx.scene.Cursor cursor)
      Sets value of the dragCursorProperty().
      void setGraphic​(javafx.scene.Node graphic)  
      protected void setLocalCenter​(javafx.scene.Node content)  
      void setMaximised​(boolean state)  
      void setMinimised​(boolean state)  
      void setName​(java.lang.String name)  
      void setParentView​(DataView view)  
      void setRestored​(boolean state)  
      void setWindowDecoration​(DataViewWindow.WindowDecoration state)  
      protected void setWindowState​(DataViewWindow.WindowState state)  
      java.lang.String toString()  
      java.util.List<de.gsi.dataset.event.EventListener> updateEventListener()  
      javafx.beans.property.ObjectProperty<DataViewWindow.WindowDecoration> windowDecorationProperty()  
      javafx.beans.property.ObjectProperty<DataViewWindow.WindowState> windowStateProperty()  
      • Methods inherited from class javafx.scene.layout.BorderPane

        bottomProperty, centerProperty, clearConstraints, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, getAlignment, getBottom, getCenter, getContentBias, getLeft, getMargin, getRight, getTop, layoutChildren, leftProperty, rightProperty, setAlignment, setBottom, setCenter, setLeft, setMargin, setRight, setTop, topProperty
      • Methods inherited from class javafx.scene.layout.Pane

        getChildren
      • Methods inherited from class javafx.scene.layout.Region

        backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, getBackground, getBorder, getClassCssMetaData, getCssMetaData, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isResizable, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
      • Methods inherited from class javafx.scene.Parent

        getBaselineOffset, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
      • Methods inherited from class javafx.scene.Node

        accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface de.gsi.dataset.event.EventSource

        addListener, invokeListener, invokeListener, invokeListener, isAutoNotification, removeListener
      • Methods inherited from interface javafx.css.Styleable

        getStyleableNode
    • Field Detail

      • parallelListeners

        protected transient boolean parallelListeners
      • maximizeButtonAction

        protected final java.lang.Runnable maximizeButtonAction
      • minimizeButtonAction

        protected final java.lang.Runnable minimizeButtonAction
      • closeButtonAction

        protected java.lang.Runnable closeButtonAction
    • Constructor Detail

      • DataViewWindow

        public DataViewWindow​(java.lang.String name,
                              javafx.scene.Node content)
    • Method Detail

      • addCloseWindowButton

        public final void addCloseWindowButton()
      • autoNotification

        public java.util.concurrent.atomic.AtomicBoolean autoNotification()
        Specified by:
        autoNotification in interface de.gsi.dataset.event.EventSource
      • closedProperty

        public javafx.beans.property.BooleanProperty closedProperty()
      • contentProperty

        public javafx.beans.property.ObjectProperty<javafx.scene.Node> contentProperty()
      • detachableWindowProperty

        public javafx.beans.property.BooleanProperty detachableWindowProperty()
        Returns:
        detachableWindow property that controls whether window can be detached by dragging or not
      • detachedProperty

        public javafx.beans.property.BooleanProperty detachedProperty()
      • dragCursorProperty

        public final javafx.beans.property.ObjectProperty<javafx.scene.Cursor> dragCursorProperty()
        Mouse cursor to be used during drag operation.
        Returns:
        the mouse cursor property
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • getCloseButton

        public javafx.scene.control.Button getCloseButton()
        Returns:
        the closeButton
      • getContent

        public javafx.scene.Node getContent()
      • getDetachButton

        public javafx.scene.control.Button getDetachButton()
        Returns:
        the detachButton
      • getDragCursor

        public final javafx.scene.Cursor getDragCursor()
        Returns the value of the dragCursorProperty()
        Returns:
        the current cursor
      • getGraphic

        public final javafx.scene.Node getGraphic()
      • getLeftIcons

        public javafx.collections.ObservableList<javafx.scene.Node> getLeftIcons()
      • getMaximizeRestoreButton

        public javafx.scene.control.Button getMaximizeRestoreButton()
        Returns:
        the maximizeRestoreButton
      • getMinimizeButton

        public javafx.scene.control.Button getMinimizeButton()
        Returns:
        the minimizeButton
      • getName

        public final java.lang.String getName()
      • getParentView

        public DataView getParentView()
      • getRightIcons

        public javafx.collections.ObservableList<javafx.scene.Node> getRightIcons()
      • getTitleLabel

        public javafx.scene.control.Label getTitleLabel()
      • graphicProperty

        public final javafx.beans.property.ObjectProperty<javafx.scene.Node> graphicProperty()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • isClosed

        public boolean isClosed()
      • isDetachableWindow

        public boolean isDetachableWindow()
        Returns:
        true: window can be detached by dragging gesture
      • isDetached

        public boolean isDetached()
      • isMaximised

        public boolean isMaximised()
      • isMinimised

        public boolean isMinimised()
      • isRestored

        public boolean isRestored()
      • maximisedProperty

        public javafx.beans.property.BooleanProperty maximisedProperty()
      • minimisedProperty

        public javafx.beans.property.BooleanProperty minimisedProperty()
      • nameProperty

        public final javafx.beans.property.StringProperty nameProperty()
      • parentViewProperty

        public javafx.beans.property.ObjectProperty<DataView> parentViewProperty()
      • removeCloseWindowButton

        public final void removeCloseWindowButton()
      • restoredProperty

        public javafx.beans.property.BooleanProperty restoredProperty()
      • setClosed

        public void setClosed​(boolean state)
      • setContent

        public final void setContent​(javafx.scene.Node content)
      • setDetachableWindow

        public void setDetachableWindow​(boolean state)
        Parameters:
        state - true: window can be detached by dragging gesture
      • setDetached

        public void setDetached​(boolean state)
      • setDragCursor

        public final void setDragCursor​(javafx.scene.Cursor cursor)
        Sets value of the dragCursorProperty().
        Parameters:
        cursor - the cursor to be used by the plugin
      • setGraphic

        public final void setGraphic​(javafx.scene.Node graphic)
      • setMaximised

        public void setMaximised​(boolean state)
      • setMinimised

        public void setMinimised​(boolean state)
      • setName

        public final void setName​(java.lang.String name)
      • setParentView

        public void setParentView​(DataView view)
      • setRestored

        public void setRestored​(boolean state)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class javafx.scene.Node
      • updateEventListener

        public java.util.List<de.gsi.dataset.event.EventListener> updateEventListener()
        Specified by:
        updateEventListener in interface de.gsi.dataset.event.EventSource
      • getWindowDecorationBar

        protected javafx.scene.layout.HBox getWindowDecorationBar()
        Returns:
        the windowDecorationBar
      • installCursor

        protected void installCursor()
      • setLocalCenter

        protected void setLocalCenter​(javafx.scene.Node content)
        Parameters:
        content - node that put into the BoderPane centre and depending on windowDecorationProperty() with or w/o frame