summaryrefslogtreecommitdiffstats
path: root/src/de
diff options
context:
space:
mode:
authorStefan Suhren <suhren.stefan@fh-swf.de>2015-11-25 12:58:12 +0100
committerStefan Suhren <suhren.stefan@fh-swf.de>2015-11-25 12:58:12 +0100
commitaf663064a08610a57551b45040a18b70d9f0102e (patch)
treec331c38bc7f2d70b7bd2151fe770bb60eb3e6947 /src/de
parent0ae95e66642f6e4971ce2c6af1b14f6b78d6cc59 (diff)
downloadNotepad---af663064a08610a57551b45040a18b70d9f0102e.tar.gz
Notepad---af663064a08610a57551b45040a18b70d9f0102e.zip
Implement more fxml handler
Diffstat (limited to 'src/de')
-rw-r--r--src/de/fhswf/in/inf/se/notepadMinusMinus/view/MainView.fxml12
-rw-r--r--src/de/fhswf/in/inf/se/notepadMinusMinus/view/MainViewController.java108
2 files changed, 113 insertions, 7 deletions
diff --git a/src/de/fhswf/in/inf/se/notepadMinusMinus/view/MainView.fxml b/src/de/fhswf/in/inf/se/notepadMinusMinus/view/MainView.fxml
index 5b99713..1a07833 100644
--- a/src/de/fhswf/in/inf/se/notepadMinusMinus/view/MainView.fxml
+++ b/src/de/fhswf/in/inf/se/notepadMinusMinus/view/MainView.fxml
@@ -13,27 +13,27 @@
<menus>
<Menu mnemonicParsing="false" text="Datei">
<items>
- <MenuItem mnemonicParsing="false" text="Neu">
+ <MenuItem mnemonicParsing="false" onAction="#handleNew" text="Neu">
<accelerator>
<KeyCodeCombination alt="UP" code="N" control="UP" meta="UP" shift="UP" shortcut="DOWN" />
</accelerator>
</MenuItem>
- <MenuItem mnemonicParsing="false" text="Öffnen">
+ <MenuItem mnemonicParsing="false" onAction="#handleOpen" text="Öffnen">
<accelerator>
<KeyCodeCombination alt="UP" code="O" control="UP" meta="UP" shift="UP" shortcut="DOWN" />
</accelerator>
</MenuItem>
- <MenuItem mnemonicParsing="false" text="Speichern">
+ <MenuItem mnemonicParsing="false" onAction="#handleSave" text="Speichern">
<accelerator>
<KeyCodeCombination alt="UP" code="S" control="UP" meta="UP" shift="UP" shortcut="DOWN" />
</accelerator>
</MenuItem>
- <MenuItem mnemonicParsing="false" text="Speichern unter">
+ <MenuItem mnemonicParsing="false" onAction="#handleSaveAs" text="Speichern unter">
<accelerator>
<KeyCodeCombination alt="UP" code="S" control="UP" meta="UP" shift="DOWN" shortcut="DOWN" />
</accelerator>
</MenuItem>
- <MenuItem mnemonicParsing="false" text="Schließen">
+ <MenuItem mnemonicParsing="false" onAction="#handleExit" text="Schließen">
<accelerator>
<KeyCodeCombination alt="UP" code="Q" control="UP" meta="UP" shift="UP" shortcut="DOWN" />
</accelerator>
@@ -83,7 +83,7 @@
<Label fx:id="ectsSumLabel" text="0" GridPane.columnIndex="1" />
<Label text="Note:" GridPane.columnIndex="2" />
<Label fx:id="averageNoteLabel" text="0,0" GridPane.columnIndex="3" />
- <Button mnemonicParsing="false" onAction="#handleNew" text="Neu" GridPane.columnIndex="4" />
+ <Button mnemonicParsing="false" onAction="#handleNewValue" text="Neu" GridPane.columnIndex="4" />
<Button disable="true" mnemonicParsing="false" text="Löschen" GridPane.columnIndex="5" />
<Label text="Kolloquium" GridPane.rowIndex="1" />
<ComboBox fx:id="colloquiumComboBox" disable="true" prefWidth="150.0" GridPane.columnIndex="1" GridPane.columnSpan="2" GridPane.rowIndex="1" />
diff --git a/src/de/fhswf/in/inf/se/notepadMinusMinus/view/MainViewController.java b/src/de/fhswf/in/inf/se/notepadMinusMinus/view/MainViewController.java
index 493ec42..bea6305 100644
--- a/src/de/fhswf/in/inf/se/notepadMinusMinus/view/MainViewController.java
+++ b/src/de/fhswf/in/inf/se/notepadMinusMinus/view/MainViewController.java
@@ -1,9 +1,11 @@
package de.fhswf.in.inf.se.notepadMinusMinus.view;
+import java.io.File;
import java.math.BigDecimal;
import de.fhswf.in.inf.se.notepadMinusMinus.Main;
import de.fhswf.in.inf.se.notepadMinusMinus.model.Grade;
+import javafx.application.Platform;
import javafx.fxml.FXML;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
@@ -11,6 +13,7 @@ import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.ComboBoxTableCell;
import javafx.scene.control.cell.TextFieldTableCell;
+import javafx.stage.FileChooser;
import javafx.util.converter.IntegerStringConverter;
public class MainViewController
@@ -45,6 +48,8 @@ public class MainViewController
@FXML
private ComboBox<Double> thesisComboBox;
+ private Main main;
+
@FXML
private void initialize()
{
@@ -90,13 +95,114 @@ public class MainViewController
public void setMain(Main main)
{
+ this.main = main;
gradeTable.setItems(main.getGradeList());
}
@FXML
- private void handleNew()
+ private void handleNewValue()
{
Grade grade = new Grade();
gradeTable.getItems().add(grade);
}
+
+ @FXML
+ private void handleNew()
+ {
+ if (main != null)
+ {
+ gradeTable.getItems().clear();
+ main.setOpenFile(null);
+ }
+ }
+
+ @FXML
+ private void handleOpen()
+ {
+ FileChooser fileChooser = new FileChooser();
+
+ // Set extension filter
+ FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter(
+ "XML files (*.xml)", "*.xml");
+ fileChooser.getExtensionFilters().add(extFilter);
+
+ // Set initial Directory to a good value
+ if (main != null && main.getGradesFilePath() != null)
+ {
+ fileChooser
+ .setInitialDirectory(main.getGradesFilePath().getParentFile());
+ }
+ else
+ {
+ String userDirectoryString = System.getProperty("user.home");
+ File userDirectory = new File(userDirectoryString);
+ fileChooser.setInitialDirectory(userDirectory);
+ }
+
+ // Show save file dialog
+ File file = fileChooser.showOpenDialog(main.getPrimaryStage());
+
+ if (file != null)
+ {
+ main.loadGradesFromFile(file);
+ }
+ }
+
+ @FXML
+ private void handleSave()
+ {
+ if (main.getOpenFile() == null)
+ {
+ handleSaveAs();
+ }
+ else
+ {
+ if (main != null)
+ {
+ main.saveGradesToFile(main.getOpenFile());
+ }
+ }
+ }
+
+ @FXML
+ private void handleSaveAs()
+ {
+ FileChooser fileChooser = new FileChooser();
+
+ // Only show XML files.
+ FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter(
+ "XML files (*.xml)", "*.xml");
+ fileChooser.getExtensionFilters().add(extFilter);
+
+ // Set initial Directory to a good value
+ if (main != null && main.getGradesFilePath() != null)
+ {
+ fileChooser
+ .setInitialDirectory(main.getGradesFilePath().getParentFile());
+ }
+ else
+ {
+ String userDirectoryString = System.getProperty("user.home");
+ File userDirectory = new File(userDirectoryString);
+ fileChooser.setInitialDirectory(userDirectory);
+ }
+
+ File file = fileChooser.showSaveDialog(main.getPrimaryStage());
+
+ if (file != null)
+ {
+ // Set the correct file ending
+ if (!file.getPath().endsWith(".xml"))
+ {
+ file = new File(file.getPath() + ".xml");
+ }
+ main.saveGradesToFile(file);
+ }
+ }
+
+ @FXML
+ private void handleExit()
+ {
+ Platform.exit();
+ }
}