From: rnayabed Date: Wed, 24 Feb 2021 23:26:03 +0530 Subject: work --- work --- --- '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