diff --git a/src/com/coder/client/CoderClient.java b/src/com/coder/client/CoderClient.java index be1d7b2..57a9689 100644 --- a/src/com/coder/client/CoderClient.java +++ b/src/com/coder/client/CoderClient.java @@ -26,6 +26,7 @@ import com.coder.server.message.ProjectRspMsg; import zutil.log.CompactLogFormatter; import zutil.log.LogUtil; import javafx.application.Application; +import javafx.application.Platform; import javafx.stage.Stage; public class CoderClient extends Application{ @@ -106,7 +107,7 @@ public class CoderClient extends Application{ selectServerDialog.setServerPort(serverPort); } @Override - public void cancel() { + public void exit() { logger.info("terminating"); System.exit(0); } @@ -162,11 +163,16 @@ public class CoderClient extends Application{ private void setupSessionListener(){ session.addCoderMessageReceivedListener(new CoderMessageReceivedListener() { @Override - public void projectListRspReceived(Map projectListRsp) { - for(String projectName : projectListRsp.keySet()){ - ProjectListData projectData = projectListRsp.get(projectName); - selectProjectDialog.addProjectToList(projectName, projectData); - } + public void projectListRspReceived(final Map projectListRsp) { + Platform.runLater(new Runnable() { + @Override + public void run() { + for(String projectName : projectListRsp.keySet()){ + ProjectListData projectData = projectListRsp.get(projectName); + selectProjectDialog.addProjectToList(projectName, projectData); + } + } + }); } @Override public void projectRspReceived(ProjectRspMsg projectRspMsg) { @@ -243,6 +249,7 @@ public class CoderClient extends Application{ private void closeCurrentSession(){ if(this.session != null){ + logger.info("disconnecting from server"); session.close(); session = null; } diff --git a/src/com/coder/client/gui/GuiWindow.java b/src/com/coder/client/gui/GuiWindow.java index 2a04cdd..e64faa6 100644 --- a/src/com/coder/client/gui/GuiWindow.java +++ b/src/com/coder/client/gui/GuiWindow.java @@ -33,6 +33,7 @@ public abstract class GuiWindow implements Initializable{ */ public void showOnStage(Stage stage){ stage.setScene(scene); + stage.setTitle(getTitle()); this.stage = stage; willShow(); stage.show(); @@ -47,6 +48,7 @@ public abstract class GuiWindow implements Initializable{ modalStage.initModality(Modality.WINDOW_MODAL); modalStage.initOwner(parent); modalStage.setScene(scene); + modalStage.setTitle(getTitle()); this.stage = modalStage; willShow(); modalStage.showAndWait(); @@ -58,6 +60,8 @@ public abstract class GuiWindow implements Initializable{ } } + protected abstract String getTitle(); + /** * Called every time before showed on stage */ diff --git a/src/com/coder/client/gui/editor/EditorWindow.java b/src/com/coder/client/gui/editor/EditorWindow.java index 2ef8689..e4dabd7 100644 --- a/src/com/coder/client/gui/editor/EditorWindow.java +++ b/src/com/coder/client/gui/editor/EditorWindow.java @@ -113,4 +113,9 @@ public class EditorWindow extends GuiWindow { this.listsners.add(listener); } + @Override + protected String getTitle() { + return "Coder Client"; + } + } diff --git a/src/com/coder/client/gui/login/LoginDialog.java b/src/com/coder/client/gui/login/LoginDialog.java index d30c8cf..318502d 100644 --- a/src/com/coder/client/gui/login/LoginDialog.java +++ b/src/com/coder/client/gui/login/LoginDialog.java @@ -80,11 +80,20 @@ public class LoginDialog extends GuiWindow { } public void setPassword(char[] password){ - passwordPasswordField.setText(new String(password)); + if(password != null){ + passwordPasswordField.setText(new String(password)); + }else{ + passwordPasswordField.setText(""); + } } public void addLoginDialogListener(LoginDialogListener listener) { this.listeners.add(listener); } + @Override + protected String getTitle() { + return "Login"; + } + } diff --git a/src/com/coder/client/gui/selectProject/SelectProjectDialog.fxml b/src/com/coder/client/gui/selectProject/SelectProjectDialog.fxml index 076f8f2..e129cad 100644 --- a/src/com/coder/client/gui/selectProject/SelectProjectDialog.fxml +++ b/src/com/coder/client/gui/selectProject/SelectProjectDialog.fxml @@ -1,19 +1,20 @@ + - + - + - + @@ -43,9 +44,14 @@ + - + diff --git a/src/com/coder/client/gui/selectProject/SelectProjectDialog.java b/src/com/coder/client/gui/selectProject/SelectProjectDialog.java index cbd45d2..a7ffd69 100644 --- a/src/com/coder/client/gui/selectProject/SelectProjectDialog.java +++ b/src/com/coder/client/gui/selectProject/SelectProjectDialog.java @@ -51,10 +51,16 @@ public class SelectProjectDialog extends GuiWindow { projectListView.setCellFactory(new Callback, ListCell>(){ @Override public ListCell call(ListView arg0) { + System.out.println("cell factory"); ListCell cell = new ListCell(){ @Override protected void updateItem(ProjectListItem item, boolean empty){ + System.out.println("update item: " + item); super.updateItem(item, empty); + if(empty){ + setText(""); + setGraphic(null); + } if(item != null){ setText(item.toString()); //setGraphic(null); @@ -124,5 +130,10 @@ public class SelectProjectDialog extends GuiWindow { ProjectListItem item = new ProjectListItem(projectName, projectData.type, projectData.description); this.projectList.add(item); } + + @Override + protected String getTitle() { + return "Select Project"; + } } diff --git a/src/com/coder/client/gui/selectServer/SelectServerDialog.fxml b/src/com/coder/client/gui/selectServer/SelectServerDialog.fxml index c604ff7..459f5a9 100644 --- a/src/com/coder/client/gui/selectServer/SelectServerDialog.fxml +++ b/src/com/coder/client/gui/selectServer/SelectServerDialog.fxml @@ -5,7 +5,6 @@ - @@ -24,7 +23,7 @@ -