Package org.lightview.presentation.dashboard.toolbar

Source Code of org.lightview.presentation.dashboard.toolbar.ToolbarPresenter

package org.lightview.presentation.dashboard.toolbar;

import javafx.animation.FadeTransition;
import javafx.animation.FadeTransitionBuilder;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.control.ToolBar;
import javafx.util.Duration;
import javafx.util.Pair;
import org.lightview.business.administration.boundary.MonitoringLevelActivation;
import org.lightview.business.administration.boundary.PollingSetup;
import org.lightview.presentation.dashboard.DashboardModel;

import javax.inject.Inject;
import java.beans.EventHandler;
import java.net.URL;
import java.util.ResourceBundle;

/**
* @author: adam-bien.com
*/
public class ToolbarPresenter implements Initializable {

    @FXML
    ToolBar toolbar;

    @FXML
    TextField location;

    @FXML
    TextField lightfishLocation;

    @FXML
    public TextField interval;

    @FXML
    public Label message;

    @Inject
    PollingSetup administration;

    @Inject
    MonitoringLevelActivation monitoringLevelActivation;

    @Inject
    DashboardModel dashboardModel;



    @Override
    public void initialize(URL url, ResourceBundle resourceBundle) {
        lightfishLocation.setText(this.dashboardModel.getUri());
        lightfishLocation.setOnAction(EventHandler -> updateUri());
    }

    void updateUri() {
        this.dashboardModel.setUri(lightfishLocation.getText());
    }


    public void startMonitoring() {
        final String location = this.location.getText();
        final String intervalText = this.interval.getText();
        final String nextTimeout = administration.changeInterval(location, Integer.valueOf(intervalText));
        status();
    }

    public void stopMonitoring() {
        administration.stopPolling();
        status();
    }

    public void activateMonitoring() {
        monitoringLevelActivation.activateMonitoring();
    }

    public void deactivateMonitoring() {
        monitoringLevelActivation.deactivateMonitoring();
    }

    public void status() {
        final Pair<String,String> status = administration.status();
        showMessage();
        message.setText("Interval: " + status.getKey() + " next timeout: " + status.getValue());
    }

    void showMessage() {
        final FadeTransition fadeTransition = new FadeTransition(Duration.seconds(3),this.message);
        fadeTransition.setFromValue(0);
        fadeTransition.setToValue(1.0);
        fadeTransition.setAutoReverse(true);
        fadeTransition.setCycleCount(2);
        fadeTransition.play();
    }

}
TOP

Related Classes of org.lightview.presentation.dashboard.toolbar.ToolbarPresenter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.