/*
* Copyright 2015 Tareq Si Salem
* <tareq.sisalem@gmail.com>
*/
package application;
import application.colorThemes.Theme;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.input.MouseButton;
import javafx.scene.input.MouseEvent;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Rectangle;
/**
* @author tareq
*/
public class CheckBox extends Selectable {
private static Image image = new Image(CheckBox.class.getResourceAsStream("assets/check.png"));
public CheckBox() {
setUp(null);
}
public CheckBox(MaterialText sideText, double horizontalSpacing) {
setUp(sideText);
sideText.setLayoutX(20 + horizontalSpacing);
sideText.setLayoutY(13);
getChildren().add(sideText);
setDisabled(true);
}
@Override
void setUp(MaterialText sideText) {
setPrefSize(30, 30);
Rectangle rectangle = new Rectangle(defaultRadius, defaultRadius);
rectangle.setArcWidth(3);
rectangle.setArcHeight(3);
rectangle.setStroke(new Color(0.6, 0.6, 0.6, 1));
rectangle.setStrokeWidth(2f);
rectangle.setFill(Color.TRANSPARENT);
ImageView imageView = new ImageView(image);
imageView.setVisible(false);
Circle ripple = new Circle(7.5);
ripple.setFill(Color.GRAY);
ripple.setCenterX(7.5);
ripple.setCenterY(7.5);
ripple.setOpacity(0.2);
ripple.setVisible(false);
getChildren().addAll(rectangle, imageView, ripple);
imageView.setPickOnBounds(false);
imageView.setScaleX(0.8);
imageView.setScaleX(0.8);
addEventHandler(MouseEvent.MOUSE_CLICKED, e -> {
System.out.print("sdhhds");
if (e.getButton() == MouseButton.PRIMARY) {
if (!isSelected && animationFinished) {
if (sideText != null)
sideText.setFill(Color.web(Theme.BlueGreen.ACCENT_COLOR));
imageView.setVisible(true);
rectangle.setFill(Color.web(Theme.BlueGreen.ACCENT_COLOR));
animateRipple(ripple, isSelected, 30);
isSelected = !isSelected;
} else if (animationFinished) {
animateRipple(ripple, isSelected, 30);
imageView.setVisible(false);
rectangle.setFill(Color.TRANSPARENT);
if (sideText != null)
sideText.setFill(Color.BLACK);
isSelected = !isSelected;
}
}
});
}
}