Refactoring: moving more GUI logic to each controller class

-Adding a handler for SSDP
-CoderClient giving control to each controller to be able to show itself on the main stage
This commit is contained in:
dcollin 2015-11-13 13:25:36 +01:00
parent 02efc6c22f
commit 09d15b4a80
12 changed files with 244 additions and 243 deletions

View file

@ -6,6 +6,7 @@ import java.util.ResourceBundle;
import java.util.logging.Logger;
import com.coder.server.message.CoderMessage;
import com.coder.server.message.ProjectCreateReqMsg;
import com.coder.server.message.ProjectTypeReqMsg;
import com.coder.server.message.ProjectTypeRspMsg;
import com.coder.server.message.SupportedProperties;
@ -25,6 +26,7 @@ import zutil.log.LogUtil;
import com.coder.client.CoderClient;
import com.coder.client.gui.GuiWindow;
import com.coder.client.project.ProjectListener;
import com.coder.client.session.ProjectTypeRspMsgListener;
public class NewProjectDialog extends GuiWindow {
@ -40,11 +42,12 @@ public class NewProjectDialog extends GuiWindow {
private ObservableList<String> projectTypeList = null;
public NewProjectDialog(CoderClient client) throws IOException {
public NewProjectDialog(final CoderClient client) throws IOException {
super(NewProjectDialog.class.getResource("NewProjectDialog.fxml"));
projectTypeList = FXCollections.observableArrayList();
projectTypeComboBox.setItems(projectTypeList);
this.client = client;
client.getSessionHandler().addMessageListener(new ProjectTypeRspMsgListener() {
@Override
public void messageReceived(final ProjectTypeRspMsg msg) {
@ -55,10 +58,31 @@ public class NewProjectDialog extends GuiWindow {
}
}
});
client.getProjectHandler().addprojectListener(new ProjectListener() {
@Override
public void selectProject() {
}
@Override
public void openProjectFailed(String errorMsg) {
}
@Override
public void openProject(String projectName) {
}
@Override
public void createNewProject() {
setErrorMessage("");
logger.fine("new project requested, will show the new project dialog on the main stage");
client.showOnStage(NewProjectDialog.this);
}
});
}
@Override
protected void willShow() {
public void willShow() {
clearProjectTypeList();
sendProjectTypeReqMsg();
@ -93,7 +117,13 @@ public class NewProjectDialog extends GuiWindow {
return;
}
client.getProjectHandler().triggerCreateNewProject(projectNameTextField.getText(), projectTypeComboBox.getValue(), projectDescriptionTextField.getText());
CoderMessage msg = new CoderMessage();
msg.ProjectCreateReq = new ProjectCreateReqMsg();
msg.ProjectCreateReq.name = projectNameTextField.getText();
msg.ProjectCreateReq.type = projectTypeComboBox.getValue();
msg.ProjectCreateReq.description = projectDescriptionTextField.getText();
client.getSessionHandler().sendMessage(msg);
}
@FXML
@ -129,7 +159,7 @@ public class NewProjectDialog extends GuiWindow {
}
@Override
protected String getTitle() {
public String getTitle() {
return "New Project";
}
@ -147,7 +177,7 @@ public class NewProjectDialog extends GuiWindow {
}
@Override
protected String getDescriptiveName() {
public String getDescriptiveName() {
return "New Project Dialog";
}