From d33fc8929e80db20d1529441d3efe752b4e68ef0 Mon Sep 17 00:00:00 2001 From: dcollin Date: Fri, 20 Nov 2015 10:52:00 +0100 Subject: [PATCH] editor will recieve and populate the editor text area with the content of the FileRspMsg --- .settings/org.eclipse.jdt.core.prefs | 7 ++--- src/com/coder/client/SessionHandler.java | 2 -- .../coder/client/gui/editor/EditorWindow.java | 26 +++++++++++++++++-- .../selectProject/SelectProjectDialog.fxml | 2 +- .../selectProject/SelectProjectDialog.java | 7 +++++ 5 files changed, 36 insertions(+), 8 deletions(-) diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index 7341ab1..a698e59 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,11 +1,12 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.7 +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/src/com/coder/client/SessionHandler.java b/src/com/coder/client/SessionHandler.java index 342cce5..73c782a 100644 --- a/src/com/coder/client/SessionHandler.java +++ b/src/com/coder/client/SessionHandler.java @@ -5,8 +5,6 @@ import java.util.HashSet; import java.util.logging.Level; import java.util.logging.Logger; -import javax.swing.JOptionPane; - import zutil.log.LogUtil; import com.coder.client.session.ProjectMessageListener; diff --git a/src/com/coder/client/gui/editor/EditorWindow.java b/src/com/coder/client/gui/editor/EditorWindow.java index acb89a9..652a873 100644 --- a/src/com/coder/client/gui/editor/EditorWindow.java +++ b/src/com/coder/client/gui/editor/EditorWindow.java @@ -2,6 +2,7 @@ package com.coder.client.gui.editor; import java.io.IOException; import java.net.URL; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Enumeration; import java.util.List; @@ -28,6 +29,7 @@ import com.coder.client.session.ProjectTypeRspMsgListener; import com.coder.server.message.CoderMessage; import com.coder.server.message.FileReqMsg; import com.coder.server.message.FileRspMsg; +import com.coder.server.message.FileSaveReqMsg; import com.coder.server.message.ProjectReqMsg; import com.coder.server.message.ProjectRspMsg; import com.coder.server.message.ProjectTypeReqMsg; @@ -148,7 +150,10 @@ public class EditorWindow extends GuiWindow { setErrorMessage(""); } logger.fine("recieved file content for file: \""+msg.path+"\""); - //TODO: load file content to text area + String data = new String(msg.data, StandardCharsets.UTF_8); + logger.fine("loading file content to edit text area"); + editTextArea.setText(data); + editTextArea.setDisable(false); } }); @@ -169,11 +174,13 @@ public class EditorWindow extends GuiWindow { setErrorMessage(""); setupPropertySheet(); setupFileTreeView(); + setupEditTextArea(); } @Override public void willShow(){ - + editTextArea.setText(""); + editTextArea.setDisable(true); } @FXML @@ -210,6 +217,7 @@ public class EditorWindow extends GuiWindow { }else{ FileTreeFile file = (FileTreeFile)fileTreeItem; logger.fine("file " + file.getName() + " selected in the file tree. The file has the full path: \""+file.getFullPath()+"\""); + editTextArea.setDisable(true); //sending file request message CoderMessage msg = new CoderMessage(); msg.FileReq = new FileReqMsg(); @@ -243,6 +251,20 @@ public class EditorWindow extends GuiWindow { propertySheet.getItems().clear(); } + + private void setupEditTextArea(){ + editTextArea.focusedProperty().addListener((observable, oldValue, newValue)->{ + if(!editTextArea.isFocused()){ + logger.fine("edit text area lost focus"); + logger.fine("will send a file save req"); + CoderMessage msg = new CoderMessage(); + msg.FileSaveReq = new FileSaveReqMsg(); + msg.FileSaveReq.path = ((FileTreeFile)fileTreeView.getSelectionModel().getSelectedItem().getValue()).getFullPath(); + msg.FileSaveReq.data = editTextArea.getText().getBytes(StandardCharsets.UTF_8); + sessionHandler.sendMessage(msg); + } + }); + } @Override public String getTitle() { diff --git a/src/com/coder/client/gui/selectProject/SelectProjectDialog.fxml b/src/com/coder/client/gui/selectProject/SelectProjectDialog.fxml index a5c5bba..d7b0f6b 100644 --- a/src/com/coder/client/gui/selectProject/SelectProjectDialog.fxml +++ b/src/com/coder/client/gui/selectProject/SelectProjectDialog.fxml @@ -44,7 +44,7 @@ -