From 4e94cf2091a65321e98f95048cccdbfc660db0cd Mon Sep 17 00:00:00 2001 From: Andreas Billmann Date: Wed, 13 Jan 2016 11:50:54 +0100 Subject: [PATCH] added toolbar --- .../smartcsv/fx/SmartCSVController.java | 8 + .../ninja/javafx/smartcsv/fx/smartcsv.css | 78 ++++++++++ .../ninja/javafx/smartcsv/fx/smartcsv.fxml | 143 ++++++++++++------ 3 files changed, 182 insertions(+), 47 deletions(-) diff --git a/src/main/java/ninja/javafx/smartcsv/fx/SmartCSVController.java b/src/main/java/ninja/javafx/smartcsv/fx/SmartCSVController.java index 43c279b..426d049 100644 --- a/src/main/java/ninja/javafx/smartcsv/fx/SmartCSVController.java +++ b/src/main/java/ninja/javafx/smartcsv/fx/SmartCSVController.java @@ -141,6 +141,12 @@ public class SmartCSVController extends FXMLController { @FXML private MenuItem saveAsMenuItem; + @FXML + private Button saveButton; + + @FXML + private Button saveAsButton; + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // members @@ -290,6 +296,8 @@ public class SmartCSVController extends FXMLController { if (currentCsvFile != null) { saveMenuItem.setDisable(false); saveAsMenuItem.setDisable(false); + saveButton.setDisable(false); + saveAsButton.setDisable(false); } } diff --git a/src/main/resources/ninja/javafx/smartcsv/fx/smartcsv.css b/src/main/resources/ninja/javafx/smartcsv/fx/smartcsv.css index cebf71d..8e03257 100644 --- a/src/main/resources/ninja/javafx/smartcsv/fx/smartcsv.css +++ b/src/main/resources/ninja/javafx/smartcsv/fx/smartcsv.css @@ -48,3 +48,81 @@ -glyph-name: "COG"; -glyph-size: 14px; } + +/* toolbar customization based on http://fxexperience.com/2012/02/customized-segmented-toolbar-buttons/ */ + +#background { + -light-black: rgb(74, 75, 78); + -dark-highlight: rgb(87, 89, 92); + -dark-black: rgb(39, 40, 40); + -darkest-black: rgb(5, 5, 5); + -mid-gray: rgb(216, 222, 227); + -fx-background-color: -mid-gray; +} + +.tool-bar { + -fx-base: -dark-black; + -fx-font-size: 12px; + -fx-background-color: + linear-gradient(to bottom, derive(-fx-base,-30%), derive(-fx-base,-60%)), + linear-gradient(to bottom, -light-black 2%, -dark-black 98%); + -fx-background-insets: 0, 0 0 1 0; + -fx-padding: .6em 0.416667em .6em 0.416667em; + -fx-effect: dropshadow(two-pass-box,black,5,.2,0,0); +} + +.tool-bar .open-icon { + -glyph-size: 16px; + -fx-fill: white; +} + +.tool-bar .config-icon { + -glyph-size: 16px; + -fx-fill: white; +} + +.tool-bar .save-icon { + -glyph-size: 16px; + -fx-fill: white; +} + +.tool-bar .preferences-icon { + -glyph-size: 16px; + -fx-fill: white; +} + +.tool-bar .exit-icon { + -glyph-size: 16px; + -fx-fill: white; +} + +.segmented-button-bar .button { + -fx-background-color: + -darkest-black, + -dark-highlight, + linear-gradient(to bottom, -light-black 2%, -dark-black 98%); + -fx-background-insets: 0, 1 1 1 0, 2 1 1 1; + -fx-background-radius: 0; + -fx-padding: 0.4em 1.833333em 0.4em 1.833333em; +} + +.segmented-button-bar .button.first { + -fx-background-insets: 0, 1, 2 1 1 1; + -fx-background-radius: 3 0 0 3, 2 0 0 2, 2 0 0 2; +} + +.segmented-button-bar .button.last { + -fx-background-insets: 0, 1 1 1 0, 2 1 1 1; + -fx-background-radius: 0 3 3 0, 0 2 2 0, 0 2 2 0; +} + +.segmented-button-bar .button:pressed { + -fx-background-color: + -darkest-black, + rgb(55, 57, 58), + linear-gradient(to top, -light-black 2%, -dark-black 98%); +} +.tool-bar .spacer { + -fx-padding: 0 5.417em 0 0; +} + diff --git a/src/main/resources/ninja/javafx/smartcsv/fx/smartcsv.fxml b/src/main/resources/ninja/javafx/smartcsv/fx/smartcsv.fxml index c50ea75..4cb3e5a 100644 --- a/src/main/resources/ninja/javafx/smartcsv/fx/smartcsv.fxml +++ b/src/main/resources/ninja/javafx/smartcsv/fx/smartcsv.fxml @@ -1,72 +1,123 @@ + + + - + + - + - - - - + - + - - + + - + - + - + - + - + - + - + - - - - + + + + + + + + + + + + + + @@ -74,9 +125,7 @@ - + @@ -85,13 +134,13 @@ - + @@ -100,35 +149,35 @@ - + - - - - - - - - + + + + + + + + - + - - - +