Search in sources :

Example 11 with Marker

use of eu.hansolo.enzo.common.Marker in project Board-Instrumentation-Framework by intel.

the class RadialBargraphSkin method handleTouchEvent.

private void handleTouchEvent(final TouchEvent TOUCH_EVENT) {
    final Object SRC = TOUCH_EVENT.getSource();
    final EventType TYPE = TOUCH_EVENT.getEventType();
    if (SRC.equals(threshold)) {
        if (TouchEvent.TOUCH_PRESSED == TYPE) {
            unit.setText("Threshold");
            value.setText(String.format(Locale.US, "%." + getSkinnable().getDecimals() + "f", getSkinnable().getThreshold()));
            resizeText();
        } else if (TouchEvent.TOUCH_MOVED == TYPE) {
            Point2D point = getSkinnable().sceneToLocal(TOUCH_EVENT.getTouchPoint().getSceneX(), TOUCH_EVENT.getTouchPoint().getSceneY());
            touchRotate(point.getX(), point.getY(), thresholdRotate);
        } else if (TouchEvent.TOUCH_RELEASED == TYPE) {
            getSkinnable().setThreshold(Double.parseDouble(value.getText()));
            fadeBackToInteractive();
        }
    } else if (SRC instanceof Marker) {
        if (TouchEvent.TOUCH_PRESSED == TYPE) {
            unit.setText(((Marker) SRC).getText());
            value.setText(String.format(Locale.US, "%." + getSkinnable().getDecimals() + "f", ((Marker) SRC).getValue()));
            resizeText();
        } else if (TouchEvent.TOUCH_MOVED == TYPE) {
            Point2D point = getSkinnable().sceneToLocal(TOUCH_EVENT.getTouchPoint().getSceneX(), TOUCH_EVENT.getTouchPoint().getSceneY());
            touchRotate(point.getX(), point.getY(), getSkinnable().getMarkers().get(SRC));
        } else if (TouchEvent.TOUCH_RELEASED == TYPE) {
            ((Marker) SRC).setValue(Double.parseDouble(value.getText()));
            fadeBackToInteractive();
        }
    } else if (SRC.equals(minMeasuredValue)) {
        if (TouchEvent.TOUCH_PRESSED == TYPE) {
            unit.setText("Min");
            value.setText(String.format(Locale.US, "%." + getSkinnable().getDecimals() + "f", getSkinnable().getMinMeasuredValue()));
            resizeText();
        } else if (TouchEvent.TOUCH_RELEASED == TYPE) {
            fadeBackToInteractive();
        }
    } else if (SRC.equals(maxMeasuredValue)) {
        if (TouchEvent.TOUCH_PRESSED == TYPE) {
            unit.setText("Max");
            value.setText(String.format(Locale.US, "%." + getSkinnable().getDecimals() + "f", getSkinnable().getMaxMeasuredValue()));
            resizeText();
        } else if (TouchEvent.TOUCH_RELEASED == TYPE) {
            fadeBackToInteractive();
        }
    }
}
Also used : EventType(javafx.event.EventType) Point2D(javafx.geometry.Point2D) Marker(eu.hansolo.enzo.common.Marker)

Example 12 with Marker

use of eu.hansolo.enzo.common.Marker in project Board-Instrumentation-Framework by intel.

the class RadialBargraphSkin method registerListeners.

private void registerListeners() {
    getSkinnable().widthProperty().addListener(observable -> handleControlPropertyChanged("RESIZE"));
    getSkinnable().heightProperty().addListener(observable -> handleControlPropertyChanged("RESIZE"));
    getSkinnable().valueProperty().addListener(observable -> handleControlPropertyChanged("VALUE"));
    getSkinnable().minValueProperty().addListener(observable -> handleControlPropertyChanged("RECALC"));
    getSkinnable().maxValueProperty().addListener(observable -> handleControlPropertyChanged("RECALC"));
    getSkinnable().minMeasuredValueProperty().addListener(observable -> handleControlPropertyChanged("MIN_MEASURED_VALUE"));
    getSkinnable().minMeasuredValueVisibleProperty().addListener(observable -> handleControlPropertyChanged("MIN_MEASURED_VALUE_VISIBLE"));
    getSkinnable().maxMeasuredValueProperty().addListener(observable -> handleControlPropertyChanged("MAX_MEASURED_VALUE"));
    getSkinnable().maxMeasuredValueVisibleProperty().addListener(observable -> handleControlPropertyChanged("MAX_MEASURED_VALUE_VISIBLE"));
    getSkinnable().barColorProperty().addListener(observable -> handleControlPropertyChanged("BAR_COLOR"));
    getSkinnable().animatedProperty().addListener(observable -> handleControlPropertyChanged("ANIMATED"));
    getSkinnable().thresholdProperty().addListener(observable -> handleControlPropertyChanged("THRESHOLD"));
    getSkinnable().thresholdVisibleProperty().addListener(observable -> handleControlPropertyChanged("THRESHOLD_VISIBLE"));
    getSkinnable().angleRangeProperty().addListener(observable -> handleControlPropertyChanged("ANGLE_RANGE"));
    getSkinnable().numberFormatProperty().addListener(observable -> handleControlPropertyChanged("RECALC"));
    getSkinnable().plainValueProperty().addListener(observable -> handleControlPropertyChanged("PLAIN_VALUE"));
    getSkinnable().interactiveProperty().addListener(observable -> handleControlPropertyChanged("INTERACTIVE"));
    getSkinnable().getSections().addListener((ListChangeListener<Section>) change -> handleControlPropertyChanged("CANVAS_REFRESH"));
    getSkinnable().getMarkers().addListener((MapChangeListener<Marker, Rotate>) change -> handleControlPropertyChanged("MARKER"));
    getSkinnable().barGradientProperty().addListener((ListChangeListener<Stop>) change -> handleControlPropertyChanged("BAR_GRADIENT"));
    getSkinnable().barGradientEnabledProperty().addListener(observable -> handleControlPropertyChanged("BAR_COLOR"));
    angle.addListener(observable -> handleControlPropertyChanged("ANGLE"));
    knob.setOnMousePressed(event -> getSkinnable().setInteractive(!getSkinnable().isInteractive()));
    minMeasuredValue.setOnMousePressed(mouseEventHandler);
    minMeasuredValue.setOnMouseReleased(mouseEventHandler);
    minMeasuredValue.setOnTouchPressed(touchEventHandler);
    minMeasuredValue.setOnTouchReleased(touchEventHandler);
    maxMeasuredValue.setOnMousePressed(mouseEventHandler);
    maxMeasuredValue.setOnMouseReleased(mouseEventHandler);
    maxMeasuredValue.setOnTouchPressed(touchEventHandler);
    maxMeasuredValue.setOnTouchReleased(touchEventHandler);
    threshold.setOnMousePressed(mouseEventHandler);
    threshold.setOnMouseDragged(mouseEventHandler);
    threshold.setOnMouseReleased(mouseEventHandler);
    threshold.setOnTouchPressed(touchEventHandler);
    threshold.setOnTouchMoved(touchEventHandler);
    threshold.setOnTouchReleased(touchEventHandler);
    for (Marker marker : getSkinnable().getMarkers().keySet()) {
        marker.setOnMousePressed(mouseEventHandler);
        marker.setOnMouseDragged(mouseEventHandler);
        marker.setOnMouseReleased(mouseEventHandler);
        marker.setOnTouchPressed(touchEventHandler);
        marker.setOnTouchMoved(touchEventHandler);
        marker.setOnTouchReleased(touchEventHandler);
    }
}
Also used : EventHandler(javafx.event.EventHandler) CacheHint(javafx.scene.CacheHint) Rotate(javafx.scene.transform.Rotate) CycleMethod(javafx.scene.paint.CycleMethod) BlendMode(javafx.scene.effect.BlendMode) ListChangeListener(javafx.collections.ListChangeListener) ConicalGradient(eu.hansolo.enzo.common.ConicalGradient) Locale(java.util.Locale) Point2D(javafx.geometry.Point2D) Pane(javafx.scene.layout.Pane) RadialBargraph(eu.hansolo.enzo.gauge.RadialBargraph) Stop(javafx.scene.paint.Stop) GraphicsContext(javafx.scene.canvas.GraphicsContext) MapChangeListener(javafx.collections.MapChangeListener) Blend(javafx.scene.effect.Blend) Font(javafx.scene.text.Font) Timeline(javafx.animation.Timeline) Canvas(javafx.scene.canvas.Canvas) Instant(java.time.Instant) ArcType(javafx.scene.shape.ArcType) Text(javafx.scene.text.Text) Marker(eu.hansolo.enzo.common.Marker) Duration(javafx.util.Duration) List(java.util.List) Region(javafx.scene.layout.Region) Interpolator(javafx.animation.Interpolator) PauseTransition(javafx.animation.PauseTransition) TouchEvent(javafx.scene.input.TouchEvent) SimpleDoubleProperty(javafx.beans.property.SimpleDoubleProperty) StrokeLineCap(javafx.scene.shape.StrokeLineCap) IntStream(java.util.stream.IntStream) SkinBase(javafx.scene.control.SkinBase) MouseEvent(javafx.scene.input.MouseEvent) DoubleProperty(javafx.beans.property.DoubleProperty) Skin(javafx.scene.control.Skin) ArrayList(java.util.ArrayList) FadeTransition(javafx.animation.FadeTransition) ValueEvent(eu.hansolo.enzo.common.ValueEvent) VPos(javafx.geometry.VPos) RadialGradient(javafx.scene.paint.RadialGradient) StrokeType(javafx.scene.shape.StrokeType) BlurType(javafx.scene.effect.BlurType) KeyValue(javafx.animation.KeyValue) LinkedList(java.util.LinkedList) InnerShadow(javafx.scene.effect.InnerShadow) Color(javafx.scene.paint.Color) KeyFrame(javafx.animation.KeyFrame) Section(eu.hansolo.enzo.common.Section) Node(javafx.scene.Node) ImagePattern(javafx.scene.paint.ImagePattern) DropShadow(javafx.scene.effect.DropShadow) Fonts(eu.hansolo.enzo.fonts.Fonts) EventType(javafx.event.EventType) ParallelTransition(javafx.animation.ParallelTransition) SequentialTransition(javafx.animation.SequentialTransition) Arc(javafx.scene.shape.Arc) Image(javafx.scene.image.Image) Rotate(javafx.scene.transform.Rotate) Stop(javafx.scene.paint.Stop) Marker(eu.hansolo.enzo.common.Marker) Section(eu.hansolo.enzo.common.Section)

Example 13 with Marker

use of eu.hansolo.enzo.common.Marker in project Board-Instrumentation-Framework by intel.

the class RadialBargraph method setMarkers.

public final void setMarkers(final List<Marker> MARKERS) {
    int markerCounter = 0;
    for (Marker marker : MARKERS) {
        Rotate markerRotate = new Rotate(180 - getStartAngle());
        marker.getTransforms().setAll(markerRotate);
        marker.getStyleClass().add("marker" + markerCounter);
        markers.put(marker, markerRotate);
        markerCounter++;
    }
}
Also used : Rotate(javafx.scene.transform.Rotate) Marker(eu.hansolo.enzo.common.Marker) Paint(javafx.scene.paint.Paint)

Example 14 with Marker

use of eu.hansolo.enzo.common.Marker in project Board-Instrumentation-Framework by intel.

the class RadialBargraphBuilder method build.

public final RadialBargraph build() {
    final RadialBargraph CONTROL = new RadialBargraph();
    for (String key : properties.keySet()) {
        if ("prefSize".equals(key)) {
            Dimension2D dim = ((ObjectProperty<Dimension2D>) properties.get(key)).get();
            CONTROL.setPrefSize(dim.getWidth(), dim.getHeight());
        } else if ("minSize".equals(key)) {
            Dimension2D dim = ((ObjectProperty<Dimension2D>) properties.get(key)).get();
            CONTROL.setPrefSize(dim.getWidth(), dim.getHeight());
        } else if ("maxSize".equals(key)) {
            Dimension2D dim = ((ObjectProperty<Dimension2D>) properties.get(key)).get();
            CONTROL.setPrefSize(dim.getWidth(), dim.getHeight());
        } else if ("prefWidth".equals(key)) {
            CONTROL.setPrefWidth(((DoubleProperty) properties.get(key)).get());
        } else if ("prefHeight".equals(key)) {
            CONTROL.setPrefHeight(((DoubleProperty) properties.get(key)).get());
        } else if ("minWidth".equals(key)) {
            CONTROL.setMinWidth(((DoubleProperty) properties.get(key)).get());
        } else if ("minHeight".equals(key)) {
            CONTROL.setMinHeight(((DoubleProperty) properties.get(key)).get());
        } else if ("maxWidth".equals(key)) {
            CONTROL.setMaxWidth(((DoubleProperty) properties.get(key)).get());
        } else if ("maxHeight".equals(key)) {
            CONTROL.setMaxHeight(((DoubleProperty) properties.get(key)).get());
        } else if ("scaleX".equals(key)) {
            CONTROL.setScaleX(((DoubleProperty) properties.get(key)).get());
        } else if ("scaleY".equals(key)) {
            CONTROL.setScaleY(((DoubleProperty) properties.get(key)).get());
        } else if ("layoutX".equals(key)) {
            CONTROL.setLayoutX(((DoubleProperty) properties.get(key)).get());
        } else if ("layoutY".equals(key)) {
            CONTROL.setLayoutY(((DoubleProperty) properties.get(key)).get());
        } else if ("translateX".equals(key)) {
            CONTROL.setTranslateX(((DoubleProperty) properties.get(key)).get());
        } else if ("translateY".equals(key)) {
            CONTROL.setTranslateY(((DoubleProperty) properties.get(key)).get());
        } else if ("styleClass".equals(key)) {
            CONTROL.getStyleClass().setAll("gauge");
            CONTROL.getStyleClass().addAll(((ObjectProperty<String[]>) properties.get(key)).get());
        } else if ("minValue".equals(key)) {
            CONTROL.setMinValue(((DoubleProperty) properties.get(key)).get());
        } else if ("maxValue".equals(key)) {
            CONTROL.setMaxValue(((DoubleProperty) properties.get(key)).get());
        } else if ("value".equals(key)) {
            CONTROL.setValue(((DoubleProperty) properties.get(key)).get());
        } else if ("threshold".equals(key)) {
            CONTROL.setThreshold(((DoubleProperty) properties.get(key)).get());
        } else if ("sectionsArray".equals(key)) {
            CONTROL.setSections(((ObjectProperty<Section[]>) properties.get(key)).get());
        } else if ("sectionsList".equals(key)) {
            CONTROL.setSections(((ObjectProperty<List<Section>>) properties.get(key)).get());
        } else if ("markersArray".equals(key)) {
            CONTROL.setMarkers(((ObjectProperty<Marker[]>) properties.get(key)).get());
        } else if ("markersList".equals(key)) {
            CONTROL.setMarkers(((ObjectProperty<List<Marker>>) properties.get(key)).get());
        } else if ("decimals".equals(key)) {
            CONTROL.setDecimals(((IntegerProperty) properties.get(key)).get());
        } else if ("title".equals(key)) {
            CONTROL.setTitle(((StringProperty) properties.get(key)).get());
        } else if ("unit".equals(key)) {
            CONTROL.setUnit(((StringProperty) properties.get(key)).get());
        } else if ("animated".equals(key)) {
            CONTROL.setAnimated(((BooleanProperty) properties.get(key)).get());
        } else if ("animationDuration".equals(key)) {
            CONTROL.setAnimationDuration(((DoubleProperty) properties.get(key)).get());
        } else if ("minMeasuredValueVisible".equals(key)) {
            CONTROL.setMinMeasuredValueVisible(((BooleanProperty) properties.get(key)).get());
        } else if ("maxMeasuredValueVisible".equals(key)) {
            CONTROL.setMaxMeasuredValueVisible(((BooleanProperty) properties.get(key)).get());
        } else if ("thresholdVisible".equals(key)) {
            CONTROL.setThresholdVisible(((BooleanProperty) properties.get(key)).get());
        } else if ("startAngle".equals(key)) {
            CONTROL.setStartAngle(((DoubleProperty) properties.get(key)).get());
        } else if ("angleRange".equals(key)) {
            CONTROL.setAngleRange(((DoubleProperty) properties.get(key)).get());
        } else if ("autoScale".equals(key)) {
            CONTROL.setAutoScale(((BooleanProperty) properties.get(key)).get());
        } else if ("barColor".equals(key)) {
            CONTROL.setBarColor(((ObjectProperty<Color>) properties.get(key)).get());
        } else if ("numberFormat".equals(key)) {
            CONTROL.setNumberFormat(((ObjectProperty<RadialBargraph.NumberFormat>) properties.get(key)).get());
        } else if ("minorTickSpace".equals(key)) {
            CONTROL.setMinorTickSpace(((DoubleProperty) properties.get(key)).get());
        } else if ("plainValue".equals(key)) {
            CONTROL.setPlainValue(((BooleanProperty) properties.get(key)).get());
        } else if ("sectionFill0".equals(key)) {
            CONTROL.setSectionFill0(((ObjectProperty<Color>) properties.get(key)).get());
        } else if ("sectionFill1".equals(key)) {
            CONTROL.setSectionFill1(((ObjectProperty<Color>) properties.get(key)).get());
        } else if ("sectionFill2".equals(key)) {
            CONTROL.setSectionFill2(((ObjectProperty<Color>) properties.get(key)).get());
        } else if ("sectionFill3".equals(key)) {
            CONTROL.setSectionFill3(((ObjectProperty<Color>) properties.get(key)).get());
        } else if ("sectionFill4".equals(key)) {
            CONTROL.setSectionFill4(((ObjectProperty<Color>) properties.get(key)).get());
        } else if ("sectionFill5".equals(key)) {
            CONTROL.setSectionFill5(((ObjectProperty<Color>) properties.get(key)).get());
        } else if ("sectionFill6".equals(key)) {
            CONTROL.setSectionFill6(((ObjectProperty<Color>) properties.get(key)).get());
        } else if ("sectionFill7".equals(key)) {
            CONTROL.setSectionFill7(((ObjectProperty<Color>) properties.get(key)).get());
        } else if ("sectionFill8".equals(key)) {
            CONTROL.setSectionFill8(((ObjectProperty<Color>) properties.get(key)).get());
        } else if ("sectionFill9".equals(key)) {
            CONTROL.setSectionFill9(((ObjectProperty<Color>) properties.get(key)).get());
        } else if ("markerFill0".equals(key)) {
            CONTROL.setMarkerFill0(((ObjectProperty<Color>) properties.get(key)).get());
        } else if ("markerFill1".equals(key)) {
            CONTROL.setMarkerFill1(((ObjectProperty<Color>) properties.get(key)).get());
        } else if ("markerFill2".equals(key)) {
            CONTROL.setMarkerFill2(((ObjectProperty<Color>) properties.get(key)).get());
        } else if ("markerFill3".equals(key)) {
            CONTROL.setMarkerFill3(((ObjectProperty<Color>) properties.get(key)).get());
        } else if ("markerFill4".equals(key)) {
            CONTROL.setMarkerFill4(((ObjectProperty<Color>) properties.get(key)).get());
        } else if ("sectionsVisible".equals(key)) {
            CONTROL.setSectionsVisible(((BooleanProperty) properties.get(key)).get());
        } else if ("markersVisible".equals(key)) {
            CONTROL.setMarkersVisible(((BooleanProperty) properties.get(key)).get());
        }
    }
    return CONTROL;
}
Also used : ObjectProperty(javafx.beans.property.ObjectProperty) SimpleObjectProperty(javafx.beans.property.SimpleObjectProperty) BooleanProperty(javafx.beans.property.BooleanProperty) SimpleBooleanProperty(javafx.beans.property.SimpleBooleanProperty) Dimension2D(javafx.geometry.Dimension2D) Color(javafx.scene.paint.Color) SimpleStringProperty(javafx.beans.property.SimpleStringProperty) StringProperty(javafx.beans.property.StringProperty) Marker(eu.hansolo.enzo.common.Marker) DoubleProperty(javafx.beans.property.DoubleProperty) SimpleDoubleProperty(javafx.beans.property.SimpleDoubleProperty) Section(eu.hansolo.enzo.common.Section)

Example 15 with Marker

use of eu.hansolo.enzo.common.Marker in project Board-Instrumentation-Framework by intel.

the class Gauge method setMarkers.

public final void setMarkers(final List<Marker> MARKERS) {
    int markerCounter = 0;
    for (Marker marker : MARKERS) {
        Rotate markerRotate = new Rotate(180 - getStartAngle());
        marker.getTransforms().setAll(markerRotate);
        marker.getStyleClass().add("marker" + markerCounter);
        markers.put(marker, markerRotate);
        markerCounter++;
    }
}
Also used : Rotate(javafx.scene.transform.Rotate) Marker(eu.hansolo.enzo.common.Marker) Paint(javafx.scene.paint.Paint)

Aggregations

Marker (eu.hansolo.enzo.common.Marker)15 EventType (javafx.event.EventType)6 Point2D (javafx.geometry.Point2D)6 Section (eu.hansolo.enzo.common.Section)5 Node (javafx.scene.Node)4 Rotate (javafx.scene.transform.Rotate)4 ArrayList (java.util.ArrayList)3 Color (javafx.scene.paint.Color)3 ValueEvent (eu.hansolo.enzo.common.ValueEvent)2 Fonts (eu.hansolo.enzo.fonts.Fonts)2 Instant (java.time.Instant)2 List (java.util.List)2 Locale (java.util.Locale)2 IntStream (java.util.stream.IntStream)2 AnimationTimer (javafx.animation.AnimationTimer)2 FadeTransition (javafx.animation.FadeTransition)2 Interpolator (javafx.animation.Interpolator)2 KeyFrame (javafx.animation.KeyFrame)2 KeyValue (javafx.animation.KeyValue)2 ParallelTransition (javafx.animation.ParallelTransition)2