server

Clone or download

Modified Files

--- 'a/src/main/java/com/stream_pi/server/controller/Controller.java'
+++ b/src/main/java/com/stream_pi/server/controller/Controller.java
@@ -25,6 +25,7 @@ import javafx.animation.KeyValue;
import javafx.animation.Timeline;
import javafx.application.Platform;
import javafx.concurrent.Task;
+import javafx.event.EventHandler;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.stage.Modality;
@@ -384,6 +385,10 @@ public class Controller extends Base imp
systemTray.add(getTrayIcon());
getStage().hide();
+
+ getStage().setOnShown(windowEvent -> {
+ systemTray.remove(getTrayIcon());
+ });
}
catch(Exception e)
{
@@ -400,9 +405,7 @@ public class Controller extends Base imp
MenuItem showItem = new MenuItem("Show");
showItem.addActionListener(l->{
- systemTray.remove(getTrayIcon());
Platform.runLater(()->{
- //getStage().setIconified(false);
getStage().show();
});
});
@@ -438,15 +441,18 @@ public class Controller extends Base imp
@Override
public void handleMinorException(MinorException e) {
- getLogger().log(Level.SEVERE, e.getMessage());
+ getLogger().log(Level.SEVERE, e.getMessage(), e);
e.printStackTrace();
- Platform.runLater(()-> new StreamPiAlert(e.getTitle(), e.getShortMessage(), StreamPiAlertType.WARNING).show());
+
+ Platform.runLater(()->{
+ new StreamPiAlert(e.getTitle(), e.getShortMessage(), StreamPiAlertType.WARNING).show();
+ });
}
@Override
public void handleSevereException(SevereException e) {
- getLogger().log(Level.SEVERE, e.getMessage());
+ getLogger().log(Level.SEVERE, e.getMessage(), e);
e.printStackTrace();
Platform.runLater(()->{
@@ -502,6 +508,7 @@ public class Controller extends Base imp
Platform.runLater(() -> {
getDashboardPane().getClientDetailsPane().refresh();
getDashboardPane().getActionGridPane().clear();
+ getDashboardPane().getActionGridPane().setFreshRender(true);
getDashboardPane().getActionDetailsPane().clear();
getSettingsPane().getClientsSettings().loadData();
});
--- 'a/src/main/java/com/stream_pi/server/window/dashboard/actiondetailpane/ActionDetailsPane.java'
+++ b/src/main/java/com/stream_pi/server/window/dashboard/actiondetailpane/ActionDetailsPane.java
@@ -558,6 +558,7 @@ public class ActionDetailsPane extends V
return combineAction;
}
+ @Override
public void onOpenFolderButtonClicked()
{
FolderAction folderAction = getActionAsFolderAction(action);
--- 'a/src/main/java/com/stream_pi/server/window/dashboard/actiondetailpane/OnSaveActionTask.java'
+++ b/src/main/java/com/stream_pi/server/window/dashboard/actiondetailpane/OnSaveActionTask.java
@@ -201,7 +201,7 @@ public class OnSaveActionTask extends Ta
Platform.runLater(()->{
actionBox.clear();
actionBox.setAction(action);
- actionBox.baseInit();
+ //actionBox.baseInit();
actionBox.init();
});
--- 'a/src/main/java/com/stream_pi/server/window/dashboard/actiongridpane/ActionBox.java'
+++ b/src/main/java/com/stream_pi/server/window/dashboard/actiongridpane/ActionBox.java
@@ -55,11 +55,12 @@ public class ActionBox extends StackPane
public void clear()
{
+ setStyle(null);
setAction(null);
- setInvalid(false);
+ getStyleClass().clear();
setBackground(Background.EMPTY);
- setStyle(null);
getChildren().clear();
+ baseInit();
}
public void baseInit()
@@ -79,7 +80,7 @@ public class ActionBox extends StackPane
setMaxSize(size, size);
getStyleClass().add("action_box");
- getStyleClass().add("action_box_icon_not_present");
+ setIcon(null);
getStyleClass().add("action_box_valid");
@@ -104,7 +105,7 @@ public class ActionBox extends StackPane
action.setLocation(new Location(getRow(),
getCol()));
- action.setParent(getStreamPiParent());
+ action.setParent(actionGridPaneListener.getCurrentParent());
action.setIDRandom();
@@ -143,7 +144,7 @@ public class ActionBox extends StackPane
Action newAction = (Action) action.clone();
newAction.setIDRandom();
- newAction.setParent(getStreamPiParent());
+ newAction.setParent(actionGridPaneListener.getCurrentParent());
content.put(Action.getDataFormat(), newAction);
@@ -211,11 +212,15 @@ public class ActionBox extends StackPane
private int size;
private ActionGridPaneListener actionGridPaneListener;
- public ActionBox(int size, ActionDetailsPaneListener actionDetailsPaneListener, ActionGridPaneListener actionGridPaneListener)
+ public ActionBox(int size, ActionDetailsPaneListener actionDetailsPaneListener, ActionGridPaneListener actionGridPaneListener,
+ int col, int row)
{
this.actionGridPaneListener = actionGridPaneListener;
this.actionDetailsPaneListener = actionDetailsPaneListener;
this.size = size;
+
+ this.col = col;
+ this.row = row;
baseInit();
}
@@ -244,7 +249,6 @@ public class ActionBox extends StackPane
getStyleClass().add("action_box_icon_present");
getStyleClass().remove("action_box_icon_not_present");
-
setBackground(
new Background(
new BackgroundImage(new Image(
@@ -257,20 +261,12 @@ public class ActionBox extends StackPane
}
}
- private Action action;
+ private Action action = null;
private ExceptionAndAlertHandler exceptionAndAlertHandler;
- private String parent;
- public String getStreamPiParent() {
- return parent;
- }
-
- public void setStreamPiParent(String parent) {
- this.parent = parent;
- }
-
- public ActionBox(int size, Action action, ActionDetailsPaneListener actionDetailsPaneListener, ExceptionAndAlertHandler exceptionAndAlertHandler, ActionGridPaneListener actionGridPaneListener)
+ public ActionBox(int size, Action action, ActionDetailsPaneListener actionDetailsPaneListener, ExceptionAndAlertHandler exceptionAndAlertHandler, ActionGridPaneListener actionGridPaneListener,
+ int col, int row)
{
this.actionGridPaneListener = actionGridPaneListener;
this.exceptionAndAlertHandler = exceptionAndAlertHandler;
@@ -278,6 +274,8 @@ public class ActionBox extends StackPane
this.actionDetailsPaneListener = actionDetailsPaneListener;
this.size = size;
+ this.col = col;
+ this.row = row;
baseInit();
@@ -286,6 +284,10 @@ public class ActionBox extends StackPane
}
+ public Action getAction() {
+ return action;
+ }
+
public void setAction(Action action)
{
this.action = action;
--- 'a/src/main/java/com/stream_pi/server/window/dashboard/actiongridpane/ActionGridPane.java'
+++ b/src/main/java/com/stream_pi/server/window/dashboard/actiongridpane/ActionGridPane.java
@@ -47,6 +47,7 @@ public class ActionGridPane extends Scro
private String currentParent;
+ @Override
public void setCurrentParent(String currentParent) {
this.currentParent = currentParent;
}
@@ -81,6 +82,7 @@ public class ActionGridPane extends Scro
}
+ @Override
public String getCurrentParent() {
return currentParent;
}
@@ -108,19 +110,49 @@ public class ActionGridPane extends Scro
return stackPane;
}
- public void renderGrid() throws SevereException {
- clear();
+ private ActionBox[][] actionBoxes;
+ private boolean isFreshRender = true;
+ private Node folderBackButton = null;
+ public void renderGrid() throws SevereException
+ {
actionsGridPane.setHgap(Config.getInstance().getActionGridActionGap());
actionsGridPane.setVgap(Config.getInstance().getActionGridActionGap());
+ if(isFreshRender)
+ {
+ clear();
+ actionBoxes = new ActionBox[cols][rows];
+ }
+
boolean isFolder = false;
- if(!getCurrentParent().equals("root"))
+ if(getCurrentParent().equals("root"))
+ {
+ if(folderBackButton != null)
+ {
+ actionsGridPane.getChildren().remove(folderBackButton);
+ folderBackButton = null;
+
+ actionBoxes[0][0] = addBlankActionBox(0,0);
+ }
+ }
+ else
{
isFolder = true;
- actionsGridPane.add(getFolderBackButton(), 0,0);
+ if(folderBackButton != null)
+ {
+ actionsGridPane.getChildren().remove(folderBackButton);
+ folderBackButton = null;
+ }
+ else
+ {
+ actionsGridPane.getChildren().remove(actionBoxes[0][0]);
+ }
+
+ folderBackButton = getFolderBackButton();
+ actionsGridPane.add(folderBackButton, 0,0);
}
for(int row = 0; row<rows; row++)
@@ -130,16 +162,34 @@ public class ActionGridPane extends Scro
if(row == 0 && col == 0 && isFolder)
continue;
- ActionBox actionBox = new ActionBox(Config.getInstance().getActionGridActionSize(), actionDetailsPaneListener, this);
+ if(isFreshRender)
+ {
+ actionBoxes[col][row] = addBlankActionBox(col, row);
+ }
+ else
+ {
+ if(actionBoxes[col][row].getAction() != null)
+ {
+ actionBoxes[col][row].clear();
+ }
+ }
+ }
+ }
- actionBox.setStreamPiParent(currentParent);
- actionBox.setRow(row);
- actionBox.setCol(col);
+ isFreshRender = false;
+ }
- actionsGridPane.add(actionBox, row, col);
+ public void setFreshRender(boolean freshRender)
+ {
+ isFreshRender = freshRender;
+ }
- }
- }
+ public ActionBox addBlankActionBox(int col, int row) throws SevereException {
+ ActionBox actionBox = new ActionBox(Config.getInstance().getActionGridActionSize(), actionDetailsPaneListener, this,
+ col, row);
+
+ actionsGridPane.add(actionBox, row, col);
+ return actionBox;
}
public void renderActions()
@@ -198,7 +248,15 @@ public class ActionGridPane extends Scro
}
- ActionBox actionBox = new ActionBox(Config.getInstance().getActionGridActionSize(), action, actionDetailsPaneListener, exceptionAndAlertHandler, this);
+ Location location = action.getLocation();
+
+ ActionBox actionBox = actionBoxes[location.getCol()][location.getRow()];
+ actionBox.clear();
+ actionBox.setAction(action);
+
+ actionBox.init();
+
+ /*ActionBox actionBox = new ActionBox(Config.getInstance().getActionGridActionSize(), action, actionDetailsPaneListener, exceptionAndAlertHandler, this);
Location location = action.getLocation();
@@ -217,7 +275,7 @@ public class ActionGridPane extends Scro
}
System.out.println(location.getCol()+","+location.getRow());
- actionsGridPane.add(actionBox, location.getRow(), location.getCol());
+ actionsGridPane.add(actionBox, location.getRow(), location.getCol());*/
}
--- 'a/src/main/java/com/stream_pi/server/window/dashboard/actiongridpane/ActionGridPaneListener.java'
+++ b/src/main/java/com/stream_pi/server/window/dashboard/actiongridpane/ActionGridPaneListener.java
@@ -7,4 +7,8 @@ public interface ActionGridPaneListener
void addActionToCurrentClientProfile(Action newAction);
void renderFolder(FolderAction action);
+
+ String getCurrentParent();
+
+ void setCurrentParent(String currentParent);
}
--- 'a/src/main/java/com/stream_pi/server/window/settings/ClientsSettings.java'
+++ b/src/main/java/com/stream_pi/server/window/settings/ClientsSettings.java
@@ -339,7 +339,7 @@ public class ClientsSettings extends VBo
}
public void saveClientAndProfileDetails() throws SevereException, CloneNotSupportedException, MinorException {
- System.out.println("IIN");
+
getConnection().saveClientDetails(
nicknameTextField.getText(),
startupWindowWidthTextField.getText(),
--- 'a/src/main/resources/com/stream_pi/server/style.css'
+++ b/src/main/resources/com/stream_pi/server/style.css
@@ -27,7 +27,8 @@
.action_box
{
-fx-border-width: 1px;
- -fx-shape: "M100,100 h200 a20,20 0 0 1 20,20 v200 a20,20 0 0 1 -20,20 h-200 a20,20 0 0 1 -20,-20 v-200 a20,20 0 0 1 20,-20 z";
+ -fx-border-color : grey;
+ -fx-shape : "M100,100 h200 a20,20 0 0 1 20,20 v200 a20,20 0 0 1 -20,20 h-200 a20,20 0 0 1 -20,-20 v-200 a20,20 0 0 1 20,-20 z";
}
.action_box_icon_present