added interfaces for file management
This commit is contained in:
parent
6d1794421c
commit
38ea6a91fe
@ -120,7 +120,7 @@ public class MainController implements Initializable {
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle an exit request for the whole program Checking if all is saved before
|
||||
* Handle an exit request for the whole program. Checking if all is saved before
|
||||
* closing the app. The user can either choose to exit or go back to the
|
||||
* application and save.
|
||||
*
|
||||
@ -129,7 +129,7 @@ public class MainController implements Initializable {
|
||||
@Subscribe
|
||||
private void handle(ExitApplicationEvent event) {
|
||||
if (!Model.getFileIsSaved()) {
|
||||
int g = JOptionPane.showConfirmDialog(null, "Your files are not saved.\nSave before you exit?", "Exit",
|
||||
int g = JOptionPane.showConfirmDialog(null, "Your files are not saved.\nGo back to save?", "Exit",
|
||||
JOptionPane.YES_NO_OPTION);
|
||||
|
||||
if (!(g == JOptionPane.YES_OPTION)) {
|
||||
|
@ -29,6 +29,7 @@ import app.events.SaveFileEvent;
|
||||
import app.events.ToggleCommentEvent;
|
||||
import app.events.ToggleWrapTextEvent;
|
||||
import app.events.UndoEvent;
|
||||
import app.interfaces.FileManagement;
|
||||
import app.events.FileSaveStateChangedEvent;
|
||||
import app.events.FileSelectedEvent;
|
||||
import app.model.Model;
|
||||
@ -41,7 +42,7 @@ import javafx.scene.control.Alert.AlertType;
|
||||
/**
|
||||
* A FXML controller that controls the editor component of the UI
|
||||
*/
|
||||
public class EditorController implements Initializable, Controller {
|
||||
public class EditorController implements Initializable, Controller, FileManagement {
|
||||
|
||||
@FXML
|
||||
private CodeArea editor;
|
||||
@ -144,7 +145,7 @@ public class EditorController implements Initializable, Controller {
|
||||
* @param filePath The path of the file
|
||||
* @throws FileNotFoundException
|
||||
*/
|
||||
private void setEditorContent(String filePath) {
|
||||
public void setEditorContent(String filePath) {
|
||||
if (filePath == null) {
|
||||
editor.clear();
|
||||
editor.appendText("// New File");
|
||||
@ -173,8 +174,11 @@ public class EditorController implements Initializable, Controller {
|
||||
/**
|
||||
* Saving/Writing to the file based on the spesific filepath. Otherwise it will
|
||||
* open an error dialog to give the user feedback about what has happened.
|
||||
*
|
||||
* @param filePath The path of the file
|
||||
* @throws FileNotFoundException
|
||||
*/
|
||||
private void saveCodeArea(String filePath) {
|
||||
public void saveCodeArea(String filePath) {
|
||||
try (PrintWriter writer = new PrintWriter(new File(filePath))) {
|
||||
if (filePath.endsWith(".java") || filePath.endsWith(".md")) {
|
||||
writer.println(editor.getText());
|
||||
|
13
src/main/java/app/interfaces/FileManagement.java
Normal file
13
src/main/java/app/interfaces/FileManagement.java
Normal file
@ -0,0 +1,13 @@
|
||||
package app.interfaces;
|
||||
|
||||
/*
|
||||
* An interface that contains two methods for reading and writing to files.
|
||||
*/
|
||||
|
||||
public interface FileManagement {
|
||||
|
||||
void setEditorContent(String filePath);
|
||||
|
||||
void saveCodeArea(String filePath);
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user