Skip to content
Snippets Groups Projects

Release v2

Merged Alexandre Ducarne requested to merge int/v2 into develop
128 files
+ 5709
776
Compare changes
  • Side-by-side
  • Inline
Files
128
package baleine.client.game.controller;
import java.io.File;
import baleine.client.game.model.TransApplicationModel;
import baleine.client.game.model.TransItem;
import baleine.client.game.view.CardShape;
import baleine.client.game.view.TransApplicationView;
import javafx.collections.SetChangeListener;
import javafx.stage.FileChooser;
import javafx.stage.FileChooser.ExtensionFilter;
import javafx.stage.Stage;
public class TransApplicationController {
/**
* Main application view
*/
private TransApplicationView mainView;
/**
* Application model
*/
private TransApplicationModel model;
/**
* Class constructor
*
* @param view : application view
*/
public TransApplicationController(TransApplicationView view) {
mainView = view;
model = new TransApplicationModel();
initViewActions();
initModelBiding();
}
/**
* Actions mapping of all components in the view
*/
private void initViewActions() {
mainView.openButton.setOnAction(evt -> actionOpenFile());
}
/**
* Model change listener
*/
private void initModelBiding() {
// Définition de la fonction de réponse
SetChangeListener<TransItem> f;
f = change -> {
if (change.wasRemoved()) {
mainView.cardsTilePane.getChildren().clear();
}
if (change.wasAdded()) {
mainView.cardsTilePane.getChildren().add(new CardShape(change.getElementAdded()));
}
};
// Installation de la fonction
model.transItemsSet.addListener(f);
}
/**
* Method called on openButton click
*/
private void actionOpenFile() {
FileChooser fileChooser = new FileChooser();
fileChooser.getExtensionFilters().add(new ExtensionFilter("Text file", "*.txt"));
fileChooser.setInitialDirectory(new File(System.getProperty("user.dir") + "/src/td2/transFiles"));
File f = fileChooser.showOpenDialog(new Stage());
if (f != null) {
model.parse(f);
}
}
}
Loading