Class DataViewer

  • All Implemented Interfaces:
    javafx.css.Styleable, javafx.event.EventTarget

    @DefaultProperty("views")
    public class DataViewer
    extends javafx.scene.layout.BorderPane
    DataViewer to manage multiple 'DatavView's which contain either custom 'Pane' derived nodes and or managed 'DataViewWindow' that can be detached and re-attached to the DataView

    usage example:

     
     final DataView view1 = new DataView("ChartViews", chartIcon);
     // [..] these nodes are detachable sub-windows (with decorated minimize, maximize, close buttons)
     view1.getVisibleChildren().addAll(customNode1, customNode2, customNode3);
     
      // [..] add undecorated custom Pan
     final DataView view2 = new DataView("Custom View", customViewIcon, getDemoPane());
     
     final DataViewer viewer = new DataViewer();
     viewer.getViews().addAll(view1, view2);
     
     // [..] to switch between configurations one may use:
     // a) Toolbar which contains the 'Text-Icon' Buttons for each view
     viewer.getToolBar();
     // b) directly/programmatically, e.g.:
     viewer.setSelectedView(view2);
      
     
     
    Author:
    Grzegorz Kruk, rstein
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static java.lang.String FONT_AWESOME  
      protected static int FONT_SIZE  
      • 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
    • Constructor Summary

      Constructors 
      Constructor Description
      DataViewer()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      javafx.beans.property.BooleanProperty closeWindowButtonVisibleProperty()  
      javafx.beans.property.BooleanProperty explorerVisibleProperty()
      Determines if the explorer view is visible.
      DataView getSelectedView()  
      javafx.scene.control.ToolBar getToolBar()  
      javafx.collections.ObservableList<javafx.scene.Node> getUserToolBarItems()  
      javafx.collections.ObservableList<DataView> getViews()
      Returns a modifiable list of views displayed by the viewer.
      boolean isCloseWindowButtonVisible()  
      boolean isExplorerVisible()
      Returns the value of the explorerVisibleProperty().
      boolean isWindowDecorationVisible()  
      javafx.beans.property.ObjectProperty<DataView> selectedViewProperty()  
      void setCloseWindowButtonVisible​(boolean state)  
      void setExplorerVisible​(boolean value)
      Sets the value of the explorerVisibleProperty().
      void setSelectedView​(DataView selectedView)  
      void setSelectedView​(java.lang.String viewName)  
      void setWindowDecorationVisible​(boolean state)  
      javafx.beans.property.BooleanProperty showListStyleDataViewProperty()  
      protected void updateCloseWindowButton​(DataView root, boolean state)  
      void updateMenuButton​(javafx.scene.control.Menu menuButton, DataView dataView)  
      protected void updateToolBar()  
      protected void updateWindowDecorations​(DataView root)  
      javafx.beans.property.BooleanProperty windowDecorationVisible()  
      • 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, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface javafx.css.Styleable

        getStyleableNode
    • Constructor Detail

      • DataViewer

        public DataViewer()
    • Method Detail

      • closeWindowButtonVisibleProperty

        public javafx.beans.property.BooleanProperty closeWindowButtonVisibleProperty()
      • explorerVisibleProperty

        public javafx.beans.property.BooleanProperty explorerVisibleProperty()
        Determines if the explorer view is visible.
        Returns:
        boolean property (true: visible)
      • getSelectedView

        public final DataView getSelectedView()
      • getToolBar

        public javafx.scene.control.ToolBar getToolBar()
      • getUserToolBarItems

        public javafx.collections.ObservableList<javafx.scene.Node> getUserToolBarItems()
      • getViews

        public final javafx.collections.ObservableList<DataView> getViews()
        Returns a modifiable list of views displayed by the viewer.
        Returns:
        list of views
      • isCloseWindowButtonVisible

        public boolean isCloseWindowButtonVisible()
      • isExplorerVisible

        public final boolean isExplorerVisible()
        Returns the value of the explorerVisibleProperty().
        Returns:
        true if the explorer view is visible, false otherwise
      • isWindowDecorationVisible

        public boolean isWindowDecorationVisible()
      • selectedViewProperty

        public final javafx.beans.property.ObjectProperty<DataView> selectedViewProperty()
      • setCloseWindowButtonVisible

        public void setCloseWindowButtonVisible​(boolean state)
      • setExplorerVisible

        public final void setExplorerVisible​(boolean value)
        Sets the value of the explorerVisibleProperty().
        Parameters:
        value - true to make the explorer visible, false to make it invisible
      • setSelectedView

        public final void setSelectedView​(DataView selectedView)
      • setSelectedView

        public final void setSelectedView​(java.lang.String viewName)
      • setWindowDecorationVisible

        public void setWindowDecorationVisible​(boolean state)
      • showListStyleDataViewProperty

        public javafx.beans.property.BooleanProperty showListStyleDataViewProperty()
      • updateCloseWindowButton

        protected void updateCloseWindowButton​(DataView root,
                                               boolean state)
      • updateMenuButton

        public void updateMenuButton​(javafx.scene.control.Menu menuButton,
                                     DataView dataView)
      • updateToolBar

        protected void updateToolBar()
      • updateWindowDecorations

        protected void updateWindowDecorations​(DataView root)
      • windowDecorationVisible

        public javafx.beans.property.BooleanProperty windowDecorationVisible()