Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pt.europeia.casa_inteligente.controller;
- import javafx.fxml.FXML;
- import javafx.scene.control.CheckBox;
- import javafx.scene.control.Label;
- import javafx.scene.control.ListView;
- import javafx.scene.control.TextField;
- import pt.europeia.casa_inteligente.models.ArCondicionado;
- import pt.europeia.casa_inteligente.models.Casa;
- import pt.europeia.casa_inteligente.models.Divisao;
- import pt.europeia.casa_inteligente.models.Estado;
- import pt.europeia.casa_inteligente.models.Utensilios;
- public class Controller {
- @FXML
- private Label estadoUtensilios;
- @FXML
- private Label alarme;
- @FXML
- private TextField adicionarDivisao;
- @FXML
- private CheckBox alarmeCB;
- @FXML
- private TextField adicionarUtensilio;
- @FXML
- private ListView<Divisao> divisoes;
- @FXML
- private ListView<Utensilios> utensilios;
- @FXML
- private Label arCondicionado;
- @FXML
- private Label olaola;
- Casa casa;
- @FXML
- /**
- * Método para iniciar o programa
- */
- private void initialize() {
- casa = new Casa();
- divisoes.setItems(casa.getDivisoes());
- divisoes.getSelectionModel().selectedItemProperty().addListener((obs, oldVal, newVal) -> {
- if (newVal == null) {
- utensilios.setItems(null);
- } else {
- utensilios.setItems(newVal.getUtensiliosDivisao());
- }
- });
- utensilios.getSelectionModel().selectedItemProperty().addListener((obs, oldVal, newVal) -> {
- if (newVal == null) {
- estadoUtensilios.setText(null);
- } else {
- estadoUtensilios.setText(newVal.getEstado().toString());
- }
- });
- }
- @FXML
- /**
- * Método para adicionar uma divisão, em que faz uma verificação caso o
- * campo de texto não esteja preenchido
- */
- private void criarDivisao() {
- if (!adicionarDivisao.getText().equals("")) {
- casa.addDivisao(adicionarDivisao.getText());
- adicionarDivisao.setText(null);
- }
- }
- @FXML
- /**
- * Método para criar um utensilio quando se clicar no botão "Adicionar
- * Utensilio" e o campo de texto não estiver em branco
- */
- private void criarUtensilio() {
- Divisao divisaoSelecionada = divisoes.getSelectionModel().selectedItemProperty().getValue();
- if (!adicionarUtensilio.getText().equals("")) {
- divisaoSelecionada.addUtensilio(adicionarUtensilio.getText(), Estado.desligado);
- adicionarUtensilio.setText(null);
- }
- }
- @FXML
- /**
- * Método que verifica o utensilio selecionado, e verfica também o seu
- * estado de modo a muda-lo para o estado correto quando solicitado
- */
- public void setEstadoUtensilio() {
- Utensilios utensilioSelecionado = utensilios.getSelectionModel().selectedItemProperty().getValue();
- if (utensilioSelecionado != null) {
- if (utensilioSelecionado.getEstado() == Estado.desligado) {
- utensilioSelecionado.setEstado(Estado.ligado);
- if (utensilioSelecionado instanceof ArCondicionado) {
- ArCondicionado ac = (ArCondicionado) utensilioSelecionado;
- ac.setTemperatura(20);
- arCondicionado.setText(String.valueOf(ac.getTemperatura()) + " ºC");
- }
- } else {
- utensilioSelecionado.setEstado(Estado.desligado);
- arCondicionado.setText("");
- }
- estadoUtensilios.setText(utensilioSelecionado.getEstado().toString());
- }
- }
- @FXML
- /**
- * Método para mudar o estado do alarme e escreve-lo no XML
- */
- private void setAlarme() {
- casa.setAlarme();
- alarme.setText(casa.getAlarmeEstado().toString());
- }
- @FXML
- /**
- * Método que serve para aumentar a temperatura do ar condicionado quando o botão "+" for pressionado
- */
- private void aumentarTemperatura() {
- Utensilios utensilioSelecionado = utensilios.getSelectionModel().selectedItemProperty().getValue();
- if (utensilioSelecionado instanceof ArCondicionado) {
- ArCondicionado ac = (ArCondicionado) utensilioSelecionado;
- if (ac.getEstado() == Estado.ligado) {
- ac.upTemperatura();
- arCondicionado.setText(String.valueOf(ac.getTemperatura()) + " ºC");
- }
- }
- }
- @FXML
- /**
- * Método que serve para diminuir a temperatura do ar condicionado quando o botão "-" for pressionado.
- */
- private void diminuirTemperatura() {
- Utensilios utensilioSelecionado = utensilios.getSelectionModel().selectedItemProperty().getValue();
- if (utensilioSelecionado instanceof ArCondicionado) {
- ArCondicionado ac = (ArCondicionado) utensilioSelecionado;
- if (ac.getEstado() == Estado.ligado) {
- ac.downTemperatura();
- arCondicionado.setText(String.valueOf(ac.getTemperatura()) + " ºC");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement