themes and more
@ -1,49 +1,42 @@
|
||||
package gearth;
|
||||
|
||||
import gearth.misc.AdminValidator;
|
||||
import gearth.misc.Cacher;
|
||||
import gearth.misc.UpdateChecker;
|
||||
import gearth.ui.GEarthController;
|
||||
import javafx.application.Application;
|
||||
import javafx.application.Platform;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Alert;
|
||||
import javafx.scene.control.ButtonType;
|
||||
import javafx.scene.control.Hyperlink;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.layout.FlowPane;
|
||||
import javafx.scene.layout.Region;
|
||||
import javafx.scene.web.WebView;
|
||||
import javafx.stage.Stage;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.maven.artifact.versioning.ComparableVersion;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
// run as root issue Invalid MIT-MAGIC-COOKIE-1 key fix: https://stackoverflow.com/questions/48139447/invalid-mit-magic-cookie-1-key
|
||||
|
||||
public class Main extends Application {
|
||||
|
||||
public static Application main;
|
||||
public static String version = "1.5";
|
||||
private static String gitApi = "https://api.github.com/repos/sirjonasxx/G-Earth/releases/latest";
|
||||
public static String gitApi = "https://api.github.com/repos/sirjonasxx/G-Earth/releases/latest";
|
||||
public static String theme = "G-Earth";
|
||||
|
||||
static {
|
||||
if (Cacher.getCacheContents().has("theme")) {
|
||||
theme = Cacher.getCacheContents().getString("theme");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start(Stage primaryStage) throws Exception{
|
||||
main = this;
|
||||
|
||||
FXMLLoader loader = new FXMLLoader(getClass().getResource("ui/G-Earth.fxml"));
|
||||
FXMLLoader loader = new FXMLLoader(getClass().getResource("/gearth/ui/G-Earth.fxml"));
|
||||
Parent root = loader.load();
|
||||
GEarthController companion = loader.getController();
|
||||
companion.setStage(primaryStage);
|
||||
|
||||
primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("G-EarthLogoSmaller.png")));
|
||||
primaryStage.getIcons().add(new Image(getClass().getResourceAsStream(String.format("/gearth/themes/%s/logoSmall.png", theme))));
|
||||
|
||||
primaryStage.setTitle("G-Earth " + version);
|
||||
primaryStage.setTitle(theme + " " + version);
|
||||
// https://stackoverflow.com/questions/20732100/javafx-why-does-stage-setresizablefalse-cause-additional-margins
|
||||
// primaryStage.setScene(new Scene(root, 650, 295));
|
||||
primaryStage.setScene(new Scene(root));
|
||||
@ -51,7 +44,7 @@ public class Main extends Application {
|
||||
primaryStage.sizeToScene();
|
||||
|
||||
primaryStage.show();
|
||||
primaryStage.getScene().getStylesheets().add(getClass().getResource("ui/bootstrap3.css").toExternalForm());
|
||||
primaryStage.getScene().getStylesheets().add(getClass().getResource(String.format("/gearth/themes/%s/styling.css", theme)).toExternalForm());
|
||||
|
||||
primaryStage.setOnCloseRequest( event -> {
|
||||
companion.exit();
|
||||
@ -61,61 +54,8 @@ public class Main extends Application {
|
||||
System.exit(0);
|
||||
});
|
||||
|
||||
new Thread(() -> {
|
||||
if (!AdminValidator.isAdmin()) {
|
||||
Platform.runLater(() -> {
|
||||
Alert alert = new Alert(Alert.AlertType.WARNING, "G-Earth needs admin privileges in order to work on Flash, please restart G-Earth with admin permissions unless you're using Unity", ButtonType.OK);
|
||||
alert.getDialogPane().setMinHeight(Region.USE_PREF_SIZE);
|
||||
alert.setResizable(false);
|
||||
alert.show();
|
||||
});
|
||||
|
||||
}
|
||||
}).start();
|
||||
|
||||
new Thread(() -> {
|
||||
try {
|
||||
JSONObject object = new JSONObject(IOUtils.toString(
|
||||
new URL(gitApi).openStream(), StandardCharsets.UTF_8));
|
||||
|
||||
String gitv = (String)object.get("tag_name");
|
||||
if (new ComparableVersion(version).compareTo(new ComparableVersion(gitv)) < 0) {
|
||||
Platform.runLater(() -> {
|
||||
String body = (String)object.get("body");
|
||||
boolean isForcedUpdate = body.contains("(!)");
|
||||
|
||||
Alert alert = new Alert(isForcedUpdate ? Alert.AlertType.ERROR : Alert.AlertType.INFORMATION, "G-Earth is outdated!", ButtonType.OK);
|
||||
|
||||
FlowPane fp = new FlowPane();
|
||||
Label lbl = new Label("A new version of G-Earth has been found ("+gitv+")" + System.lineSeparator()+ System.lineSeparator() + "Update to the latest version:");
|
||||
Hyperlink link = new Hyperlink("https://github.com/sirjonasxx/G-Earth/releases");
|
||||
fp.getChildren().addAll( lbl, link);
|
||||
link.setOnAction(event -> {
|
||||
Main.main.getHostServices().showDocument(link.getText());
|
||||
event.consume();
|
||||
});
|
||||
|
||||
|
||||
|
||||
WebView webView = new WebView();
|
||||
webView.getEngine().loadContent("<html>A new version of G-Earth has been found ("+gitv+")<br><br>Update to the latest version:<br><a href=\"https://github.com/sirjonasxx/G-Earth/releases\">https://github.com/sirjonasxx/G-Earth/releases</a></html>");
|
||||
webView.setPrefSize(500, 200);
|
||||
|
||||
alert.setResizable(false);
|
||||
alert.getDialogPane().setMinHeight(Region.USE_PREF_SIZE);
|
||||
alert.getDialogPane().setContent(fp);
|
||||
if (isForcedUpdate) {
|
||||
alert.setOnCloseRequest(event -> System.exit(0));
|
||||
}
|
||||
alert.show();
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
} catch (IOException e) {
|
||||
// e.printStackTrace();
|
||||
}
|
||||
}).start();
|
||||
AdminValidator.validate();
|
||||
UpdateChecker.checkForUpdates();
|
||||
|
||||
}
|
||||
|
||||
@ -146,15 +86,3 @@ public class Main extends Application {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// Hi
|
||||
// I'm
|
||||
// Lande
|
||||
// I want
|
||||
// The role
|
||||
// Developer
|
||||
// Pls
|
||||
// You say :
|
||||
// Change 10 lines
|
||||
// I dit it.
|
||||
// https://i.imgur.com/QEHV2NZ.png
|
||||
|
@ -1,5 +1,10 @@
|
||||
package gearth.misc;
|
||||
|
||||
import javafx.application.Platform;
|
||||
import javafx.scene.control.Alert;
|
||||
import javafx.scene.control.ButtonType;
|
||||
import javafx.scene.layout.Region;
|
||||
|
||||
import java.io.PrintStream;
|
||||
import java.util.prefs.Preferences;
|
||||
|
||||
@ -34,4 +39,18 @@ public class AdminValidator {
|
||||
return isAdmin;
|
||||
}
|
||||
|
||||
public static void validate() {
|
||||
new Thread(() -> {
|
||||
if (!AdminValidator.isAdmin()) {
|
||||
Platform.runLater(() -> {
|
||||
Alert alert = new Alert(Alert.AlertType.WARNING, "G-Earth needs admin privileges in order to work on Flash, please restart G-Earth with admin permissions unless you're using Unity", ButtonType.OK);
|
||||
alert.getDialogPane().setMinHeight(Region.USE_PREF_SIZE);
|
||||
alert.setResizable(false);
|
||||
alert.show();
|
||||
});
|
||||
|
||||
}
|
||||
}).start();
|
||||
}
|
||||
|
||||
}
|
||||
|
71
G-Earth/src/main/java/gearth/misc/UpdateChecker.java
Normal file
@ -0,0 +1,71 @@
|
||||
package gearth.misc;
|
||||
|
||||
import gearth.Main;
|
||||
import javafx.application.Platform;
|
||||
import javafx.scene.control.Alert;
|
||||
import javafx.scene.control.ButtonType;
|
||||
import javafx.scene.control.Hyperlink;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.layout.FlowPane;
|
||||
import javafx.scene.layout.Region;
|
||||
import javafx.scene.web.WebView;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.maven.artifact.versioning.ComparableVersion;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
import static gearth.Main.gitApi;
|
||||
import static gearth.Main.version;
|
||||
|
||||
public class UpdateChecker {
|
||||
|
||||
public static void checkForUpdates() {
|
||||
new Thread(() -> {
|
||||
try {
|
||||
JSONObject object = new JSONObject(IOUtils.toString(
|
||||
new URL(gitApi).openStream(), StandardCharsets.UTF_8));
|
||||
|
||||
String gitv = (String)object.get("tag_name");
|
||||
if (new ComparableVersion(version).compareTo(new ComparableVersion(gitv)) < 0) {
|
||||
Platform.runLater(() -> {
|
||||
String body = (String)object.get("body");
|
||||
boolean isForcedUpdate = body.contains("(!)");
|
||||
|
||||
Alert alert = new Alert(isForcedUpdate ? Alert.AlertType.ERROR : Alert.AlertType.INFORMATION, "G-Earth is outdated!", ButtonType.OK);
|
||||
|
||||
FlowPane fp = new FlowPane();
|
||||
Label lbl = new Label("A new version of G-Earth has been found ("+gitv+")" + System.lineSeparator()+ System.lineSeparator() + "Update to the latest version:");
|
||||
Hyperlink link = new Hyperlink("https://github.com/sirjonasxx/G-Earth/releases");
|
||||
fp.getChildren().addAll( lbl, link);
|
||||
link.setOnAction(event -> {
|
||||
Main.main.getHostServices().showDocument(link.getText());
|
||||
event.consume();
|
||||
});
|
||||
|
||||
|
||||
|
||||
WebView webView = new WebView();
|
||||
webView.getEngine().loadContent("<html>A new version of G-Earth has been found ("+gitv+")<br><br>Update to the latest version:<br><a href=\"https://github.com/sirjonasxx/G-Earth/releases\">https://github.com/sirjonasxx/G-Earth/releases</a></html>");
|
||||
webView.setPrefSize(500, 200);
|
||||
|
||||
alert.setResizable(false);
|
||||
alert.getDialogPane().setMinHeight(Region.USE_PREF_SIZE);
|
||||
alert.getDialogPane().setContent(fp);
|
||||
if (isForcedUpdate) {
|
||||
alert.setOnCloseRequest(event -> System.exit(0));
|
||||
}
|
||||
alert.show();
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
} catch (IOException e) {
|
||||
// e.printStackTrace();
|
||||
}
|
||||
}).start();
|
||||
}
|
||||
|
||||
}
|
@ -26,8 +26,8 @@ public class GExtensionStoreLauncher extends InternalExtensionFormLauncher<GExte
|
||||
stage.setHeight(530);
|
||||
|
||||
stage.setScene(new Scene(root));
|
||||
stage.getScene().getStylesheets().add(GEarthController.class.getResource("/gearth/ui/bootstrap3.css").toExternalForm());
|
||||
stage.getIcons().add(new Image(Main.class.getResourceAsStream("G-EarthLogoSmaller.png")));
|
||||
stage.getScene().getStylesheets().add(GEarthController.class.getResource(String.format("/gearth/themes/%s/styling.css", Main.theme)).toExternalForm());
|
||||
stage.getIcons().add(new Image(Main.class.getResourceAsStream(String.format("/gearth/themes/%s/logoSmall.png", Main.theme))));
|
||||
|
||||
GExtensionStore gExtensionStore = new GExtensionStore();
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
package gearth.services.internal_extensions.uilogger;
|
||||
|
||||
import gearth.Main;
|
||||
import gearth.extensions.InternalExtensionFormLauncher;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.scene.Parent;
|
||||
@ -16,12 +17,12 @@ public class UiLoggerLauncher extends InternalExtensionFormLauncher<UiLogger> {
|
||||
FXMLLoader loader = new FXMLLoader(UiLogger.class.getResource("UiLogger.fxml"));
|
||||
|
||||
Parent root = loader.load();
|
||||
stage.setTitle("G-Earth | Packet Logger");
|
||||
stage.setTitle(String.format("%s | Packet Logger", Main.theme));
|
||||
stage.initModality(Modality.NONE);
|
||||
stage.getIcons().add(new Image(getClass().getResourceAsStream("/gearth/G-EarthLogoSmaller.png")));
|
||||
stage.getIcons().add(new Image(getClass().getResourceAsStream(String.format("/gearth/themes/%s/logoSmall.png", Main.theme))));
|
||||
|
||||
Scene scene = new Scene(root);
|
||||
scene.getStylesheets().add("/gearth/ui/bootstrap3.css");
|
||||
scene.getStylesheets().add(String.format("/gearth/themes/%s/styling.css", Main.theme));
|
||||
scene.getStylesheets().add("/gearth/services/internal_extensions/uilogger/logger.css");
|
||||
|
||||
UiLoggerController controller = loader.getController();
|
||||
|
@ -8,7 +8,6 @@ import javax.servlet.http.HttpServlet;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.*;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.Random;
|
||||
|
||||
@ -133,7 +132,7 @@ public class GUnityFileServer extends HttpServlet
|
||||
|
||||
private void getLogo(HttpServletResponse response) throws IOException {
|
||||
OutputStream out = response.getOutputStream();
|
||||
InputStream in = Main.class.getResourceAsStream("G-EarthLogo.png");
|
||||
InputStream in = Main.class.getResourceAsStream(String.format("/gearth/themes/%s/logo.png", Main.theme));
|
||||
|
||||
byte[] bytes = new byte[4096];
|
||||
int bytesRead;
|
||||
|
@ -144,7 +144,8 @@ public class ExtensionItemContainer extends GridPane {
|
||||
parent.getChildren().add(this);
|
||||
|
||||
if (item.extensionType() == ExtensionType.INTERNAL) {
|
||||
setBackground(new Background(new BackgroundFill(Paint.valueOf("F0FFFF"), CornerRadii.EMPTY, Insets.EMPTY)));
|
||||
getStyleClass().clear();
|
||||
getStyleClass().add("internalExtension");
|
||||
}
|
||||
|
||||
|
||||
@ -176,7 +177,8 @@ public class ExtensionItemContainer extends GridPane {
|
||||
ExtensionItemContainer this2 = this;
|
||||
item.getDeletedObservable().addListener(() -> Platform.runLater(() -> {
|
||||
if (item.isInstalledExtension()) {
|
||||
setBackground(new Background(new BackgroundFill(Paint.valueOf("#cccccc"),null, null)));
|
||||
getStyleClass().clear();
|
||||
getStyleClass().add("disconnectedExtension");
|
||||
getChildren().remove(buttonsBox);
|
||||
add(additionalButtonBox, 4, 0);
|
||||
reloadButton.setVisible(true);
|
||||
@ -191,7 +193,8 @@ public class ExtensionItemContainer extends GridPane {
|
||||
item = extension;
|
||||
initExtension();
|
||||
|
||||
setBackground(new Background(new BackgroundFill(Paint.valueOf("#ffffff"),null, null)));
|
||||
getStyleClass().clear();
|
||||
getStyleClass().add("connectedExtension");
|
||||
getChildren().remove(additionalButtonBox);
|
||||
if (buttonsBox != null) {
|
||||
add(buttonsBox, 4, 0);
|
||||
|
@ -1,5 +1,6 @@
|
||||
package gearth.ui.extensions.logger;
|
||||
|
||||
import gearth.Main;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.Scene;
|
||||
@ -34,15 +35,15 @@ public class ExtensionLogger {
|
||||
|
||||
|
||||
stage = new Stage();
|
||||
stage.setTitle("G-Earth | Extension Console");
|
||||
stage.setTitle(String.format("%s | Extension Console", Main.theme));
|
||||
stage.initModality(Modality.NONE);
|
||||
stage.getIcons().add(new Image(getClass().getResourceAsStream("/gearth/G-EarthLogoSmaller.png")));
|
||||
stage.getIcons().add(new Image(getClass().getResourceAsStream(String.format("/gearth/themes/%s/logoSmall.png", Main.theme))));
|
||||
stage.setAlwaysOnTop(true);
|
||||
stage.setMinHeight(235);
|
||||
stage.setMinWidth(370);
|
||||
|
||||
Scene scene = new Scene(root);
|
||||
scene.getStylesheets().add("/gearth/ui/bootstrap3.css");
|
||||
scene.getStylesheets().add(String.format("/gearth/themes/%s/styling.css", Main.theme));
|
||||
scene.getStylesheets().add("/gearth/ui/extensions/logger/logger.css");
|
||||
ExtensionLoggerController controller = loader.getController();
|
||||
controller.setStage(stage);
|
||||
|
@ -6,7 +6,6 @@ import javafx.scene.control.*;
|
||||
import gearth.ui.SubForm;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.image.ImageView;
|
||||
import javafx.scene.layout.FlowPane;
|
||||
import javafx.scene.layout.Region;
|
||||
import javafx.scene.web.WebView;
|
||||
|
||||
@ -34,9 +33,10 @@ public class InfoController extends SubForm {
|
||||
}
|
||||
|
||||
public void initialize() {
|
||||
version.setText(version.getText().replace("$theme", Main.theme));
|
||||
version.setText(version.getText().replace("$version", Main.version));
|
||||
|
||||
img_logo.setImage(new Image("/gearth/G-EarthLogo.png"));
|
||||
img_logo.setImage(new Image(String.format("/gearth/themes/%s/logo.png", Main.theme)));
|
||||
|
||||
link_ase.setTooltip(new Tooltip("https://allseeingeye.to"));
|
||||
link_darkbox.setTooltip(new Tooltip("https://darkbox.nl"));
|
||||
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 569 KiB After Width: | Height: | Size: 569 KiB |
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 8.8 KiB |
@ -890,4 +890,23 @@ VBox > .split-menu-button.last > .arrow-button {
|
||||
.check-box:pressed > .box,
|
||||
.radio-button:pressed > .radio {
|
||||
-fx-background-color: #50c0e2;
|
||||
}
|
||||
|
||||
|
||||
/*g-earth stuff*/
|
||||
|
||||
.hyperlink {
|
||||
-fx-text-fill: #0096c8;
|
||||
}
|
||||
|
||||
.internalExtension {
|
||||
-fx-background-color: #F0FFFF;
|
||||
}
|
||||
|
||||
.disconnectedExtension {
|
||||
-fx-background-color: #CCCCCC;
|
||||
}
|
||||
|
||||
.connectedExtension {
|
||||
-fx-background-color: #FFFFFF;
|
||||
}
|
BIN
G-Earth/src/main/resources/gearth/themes/Tanji/logo.ico
Normal file
After Width: | Height: | Size: 361 KiB |
BIN
G-Earth/src/main/resources/gearth/themes/Tanji/logo.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
G-Earth/src/main/resources/gearth/themes/Tanji/logoSmall.png
Normal file
After Width: | Height: | Size: 48 KiB |
910
G-Earth/src/main/resources/gearth/themes/Tanji/styling.css
Normal file
@ -0,0 +1,910 @@
|
||||
.root {
|
||||
-fx-body-color : #F5F5F5;
|
||||
-fx-outer-border : #cecece;
|
||||
}
|
||||
.button,.menu-button,.toggle-button,.split-menu-button {
|
||||
-fx-font-size: 14;
|
||||
-fx-background-radius: 4;
|
||||
-fx-border-radius: 4;
|
||||
-fx-pref-height: 30;
|
||||
-fx-min-width: 30;
|
||||
}
|
||||
.button,.menu-button,.split-menu-button,.toggle-button,.number-button {
|
||||
-fx-background-insets: 0, 0, -1, 0;
|
||||
}
|
||||
|
||||
.split-menu-button > .label {
|
||||
-fx-border-radius: 4 0 0 4;
|
||||
-fx-background-radius: 3 0 0 3;
|
||||
}
|
||||
|
||||
.split-menu-button > .arrow-button {
|
||||
-fx-border-radius: 0 4 4 0;
|
||||
-fx-background-radius: 0 3 3 0;
|
||||
}
|
||||
|
||||
.lg {
|
||||
-fx-min-height: 46;
|
||||
-fx-max-height: 46;
|
||||
-fx-font-size: 18;
|
||||
}
|
||||
|
||||
.sm {
|
||||
-fx-min-height: 30;
|
||||
-fx-max-height: 30;
|
||||
}
|
||||
|
||||
.xs {
|
||||
-fx-min-height: 22;
|
||||
-fx-max-height: 22;
|
||||
-fx-font-size: 10;
|
||||
}
|
||||
|
||||
.primary .arrow,
|
||||
.success .arrow,
|
||||
.info .arrow,
|
||||
.warning .arrow,
|
||||
.danger .arrow {
|
||||
-fx-background-color: transparent, white;
|
||||
}
|
||||
|
||||
.primary > .label,
|
||||
.success > .label,
|
||||
.info > .label,
|
||||
.warning > .label,
|
||||
.danger > .label {
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
.action-btn {
|
||||
-fx-min-width: 80;
|
||||
}
|
||||
|
||||
/*positions*/
|
||||
/*first*/
|
||||
.button.first, .menu-button.first, .toggle-button.first, .text-field.first, .text-area.first {
|
||||
-fx-border-radius: 4 0 0 4;
|
||||
-fx-background-radius: 4 0 0 4;
|
||||
}
|
||||
|
||||
.split-menu-button.first > .arrow-button, .split-menu-button.middle > .arrow-button {
|
||||
-fx-border-radius: 0;
|
||||
-fx-background-radius: 0;
|
||||
}
|
||||
|
||||
VBox > .button.first,
|
||||
VBox > .menu-button.first,
|
||||
VBox > .toggle-button.first,
|
||||
VBox > .split-menu-button.first,
|
||||
VBox > .text-field.first,
|
||||
VBox > .text-area.first {
|
||||
-fx-border-radius: 4 4 0 0;
|
||||
-fx-background-radius: 4 4 0 0;
|
||||
}
|
||||
|
||||
VBox > .split-menu-button.first > .label {
|
||||
-fx-border-radius: 4 0 0 0;
|
||||
-fx-background-radius: 3 0 0 0;
|
||||
}
|
||||
VBox > .split-menu-button.first > .arrow-button {
|
||||
-fx-border-radius: 0 4 0 0;
|
||||
-fx-background-radius: 0 3 0 0;
|
||||
}
|
||||
/*middle*/
|
||||
.middle {
|
||||
-fx-border-radius: 0;
|
||||
-fx-background-radius: 0;
|
||||
}
|
||||
|
||||
/*last*/
|
||||
.split-menu-button.middle > .label, .split-menu-button.last > .label {
|
||||
-fx-border-radius: 0;
|
||||
-fx-background-radius: 0;
|
||||
}
|
||||
|
||||
.split-menu-button.last {
|
||||
-fx-border-radius: 0 4 4 0;
|
||||
-fx-background-radius: 0 4 4 0;
|
||||
}
|
||||
|
||||
.button.middle, .text-field.middle, .text-area.middle, .split-menu-button.middle, .toggle-button.middle {
|
||||
-fx-border-radius: 0;
|
||||
-fx-background-radius: 0;
|
||||
}
|
||||
|
||||
.button.last, .text-field.last, .text-area.last, .split-menu-button.last, .toggle-button.last, .menu-button.last {
|
||||
-fx-border-radius: 0 4 4 0;
|
||||
-fx-background-radius: 0 4 4 0;
|
||||
}
|
||||
VBox > .button.last,
|
||||
VBox > .menu-button.last,
|
||||
VBox > .toggle-button.last,
|
||||
VBox > .split-menu-button.last,
|
||||
VBox > .text-field.last,
|
||||
VBox > .text-area.last {
|
||||
-fx-border-radius: 0 0 4 4;
|
||||
-fx-background-radius: 0 0 4 4;
|
||||
}
|
||||
|
||||
VBox > .split-menu-button.last > .label {
|
||||
-fx-border-radius: 0 0 0 4;
|
||||
-fx-background-radius: 0 0 0 3;
|
||||
}
|
||||
VBox > .split-menu-button.last > .arrow-button {
|
||||
-fx-border-radius: 0 0 4 0;
|
||||
-fx-background-radius: 0 0 3 0;
|
||||
}
|
||||
|
||||
/*button styles*/
|
||||
|
||||
/*default button settings*/
|
||||
|
||||
/*bgcolor setting*/
|
||||
.color-picker,.date-picker > .arrow-button,
|
||||
.number-button,.left-arrow-button,.right-arrow-button,
|
||||
.button,.split-menu-button,.toggle-button,.menu-button,
|
||||
.font-menu-button, .split-menu-button > .label, .split-menu-button > .arrow-button {
|
||||
-fx-background-color: white;
|
||||
}
|
||||
|
||||
.color-picker,.date-picker > .arrow-button,
|
||||
.button,.menu-button,.toggle-button,.number-button,.left-arrow-button,.right-arrow-button,
|
||||
.font-menu-button,
|
||||
.split-menu-button > .label,.split-menu-button > .arrow-button {
|
||||
-fx-border-color: #cccccc;
|
||||
-fx-text-fill: #000000;
|
||||
}
|
||||
/*just for the special split menu button*/
|
||||
.split-menu-button > .label {
|
||||
-fx-border-width: 1 0 1 1;
|
||||
}
|
||||
/*for date picker arrow button*/
|
||||
.date-picker > .arrow-button {
|
||||
-fx-border-radius: 0 4 4 0;
|
||||
}
|
||||
.combo-box > .arrow-button, .choice-box > .arrow-button {
|
||||
-fx-border-width: 0;
|
||||
}
|
||||
/*hover state*/
|
||||
.color-picker:hover,
|
||||
.date-picker:hover > .arrow-button,
|
||||
.combo-box:hover,.choice-box:hover,
|
||||
.number-button:hover,.left-arrow-button:hover,.right-arrow-button:hover,
|
||||
.button:hover,.menu-button:hover,.toggle-button:hover,
|
||||
.font-menu-button:hover,
|
||||
.split-menu-button > .label:hover, .split-menu-button > .arrow-button:hover {
|
||||
-fx-background-color: #e6e6e6;
|
||||
-fx-border-color: #acacac;
|
||||
}
|
||||
/*pressed selected*/
|
||||
.color-picker:pressed,.color-picker:selected,
|
||||
.number-button:pressed,.number-button:selected,
|
||||
.date-picker:pressed > .arrow-button,
|
||||
.combo-box:pressed > .arrow-button,.combo-box:selected > .arrow-button,
|
||||
.choice-box:pressed > .arrow-button,.choice-box:selected > .arrow-button,
|
||||
.font-menu-button:pressed,.font-menu-button:selected,
|
||||
.left-arrow-button:pressed,.left-arrow-button:selected,
|
||||
.right-arrow-button:pressed,.right-arrow-button:selected,
|
||||
.button:pressed, .button:selected,.menu-button:pressed,.menu-button:selected
|
||||
,.toggle-button:pressed,.toggle-button:selected,
|
||||
.split-menu-button:pressed > .label, .split-menu-button > .arrow-button:pressed {
|
||||
-fx-background-color: #e6e6e6;
|
||||
-fx-border-color: #acacac;
|
||||
-fx-effect: innershadow(gaussian, #adadad, 10, 0, 0, 3);
|
||||
}
|
||||
|
||||
/*primary*/
|
||||
|
||||
.button.primary,.split-menu-button.primary,.toggle-button.primary,.menu-button.primary,
|
||||
.split-menu-button.primary > .label, .split-menu-button.primary > .arrow-button {
|
||||
-fx-background-color: #b77714;
|
||||
}
|
||||
|
||||
.button.primary,.menu-button.primary,.toggle-button.primary,
|
||||
.split-menu-button.primary > .label,.split-menu-button.primary > .arrow-button {
|
||||
-fx-border-color: #a46a37;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
/*hover state*/
|
||||
.button.primary:hover,.menu-button.primary:hover,.toggle-button.primary:hover,
|
||||
.split-menu-button.primary > .label:hover, .split-menu-button.primary > .arrow-button:hover {
|
||||
-fx-border-color: #744d15;
|
||||
-fx-background-color: #905710;
|
||||
}
|
||||
/*pressed selected*/
|
||||
.button.primary:pressed, .button.primary:selected,
|
||||
.menu-button.primary:pressed,.menu-button.primary:selected
|
||||
,.toggle-button.primary:pressed,.toggle-button.primary:selected,
|
||||
.split-menu-button.primary:pressed > .label, .split-menu-button.primary > .arrow-button:pressed {
|
||||
-fx-background-color: #905710;
|
||||
-fx-border-color: #744d15;
|
||||
-fx-effect: innershadow(gaussian, #744d15, 10, 0, 0, 3);
|
||||
}
|
||||
|
||||
/*success*/
|
||||
|
||||
.button.success,.split-menu-button.success,.toggle-button.success,.menu-button.success,
|
||||
.split-menu-button.success > .label, .split-menu-button.success > .arrow-button {
|
||||
-fx-background-color: #5cb85c;
|
||||
}
|
||||
|
||||
.button.success,.menu-button.success,.toggle-button.success,
|
||||
.split-menu-button.success > .label,.split-menu-button.success > .arrow-button {
|
||||
-fx-border-color: #4cae4c;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
/*hover state*/
|
||||
.button.success:hover,.menu-button.success:hover,.toggle-button.success:hover,
|
||||
.split-menu-button.success > .label:hover, .split-menu-button.success > .arrow-button:hover {
|
||||
-fx-border-color: #398439;
|
||||
-fx-background-color: #449d44;
|
||||
}
|
||||
/*pressed selected*/
|
||||
.button.success:pressed, .button.success:selected,
|
||||
.menu-button.success:pressed,.menu-button.success:selected
|
||||
,.toggle-button.success:pressed,.toggle-button.success:selected,
|
||||
.split-menu-button.success:pressed > .label, .split-menu-button.success > .arrow-button:pressed {
|
||||
-fx-background-color: #449d44;
|
||||
-fx-border-color: #398439;
|
||||
-fx-effect: innershadow(gaussian, #398439, 10, 0, 0, 3);
|
||||
}
|
||||
|
||||
/*info*/
|
||||
|
||||
.button.info,.split-menu-button.info,.toggle-button.info,.menu-button.info,
|
||||
.split-menu-button.info > .label, .split-menu-button.info > .arrow-button {
|
||||
-fx-background-color: #e2ab40;
|
||||
}
|
||||
|
||||
.button.info,.menu-button.info,.toggle-button.info,
|
||||
.split-menu-button.info > .label,.split-menu-button.info > .arrow-button {
|
||||
-fx-border-color: #e29b23;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
/*hover state*/
|
||||
.button.info:hover,.menu-button.info:hover,.toggle-button.info:hover,
|
||||
.split-menu-button.info > .label:hover, .split-menu-button.info > .arrow-button:hover {
|
||||
-fx-border-color: #bc862a;
|
||||
-fx-background-color: #d59735;
|
||||
}
|
||||
/*pressed selected*/
|
||||
.button.info:pressed, .button.info:selected,
|
||||
.menu-button.info:pressed,.menu-button.info:selected
|
||||
,.toggle-button.info:pressed,.toggle-button.info:selected,
|
||||
.split-menu-button.info:pressed > .label, .split-menu-button.info > .arrow-button:pressed {
|
||||
-fx-background-color: #31b0d5;
|
||||
-fx-border-color: #269abc;
|
||||
-fx-effect: innershadow(gaussian, #269abc, 10, 0, 0, 3);
|
||||
}
|
||||
|
||||
/*warning*/
|
||||
|
||||
.button.warning,.split-menu-button.warning,.toggle-button.warning,.menu-button.warning,
|
||||
.split-menu-button.warning > .label, .split-menu-button.warning > .arrow-button {
|
||||
-fx-background-color: #f0ad4e;
|
||||
}
|
||||
|
||||
.button.warning,.menu-button.warning,.toggle-button.warning,
|
||||
.split-menu-button.warning > .label,.split-menu-button.warning > .arrow-button {
|
||||
-fx-border-color: #eea236;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
/*hover state*/
|
||||
.button.warning:hover,.menu-button.warning:hover,.toggle-button.warning:hover,
|
||||
.split-menu-button.warning > .label:hover, .split-menu-button.warning > .arrow-button:hover {
|
||||
-fx-border-color: #d58512;
|
||||
-fx-background-color: #ec971f;
|
||||
}
|
||||
/*pressed selected*/
|
||||
.button.warning:pressed, .button.warning:selected,
|
||||
.menu-button.warning:pressed,.menu-button.warning:selected
|
||||
,.toggle-button.warning:pressed,.toggle-button.warning:selected,
|
||||
.split-menu-button.warning:pressed > .label, .split-menu-button.warning > .arrow-button:pressed {
|
||||
-fx-background-color: #ec971f;
|
||||
-fx-border-color: #d58512;
|
||||
-fx-effect: innershadow(gaussian, #d58512, 10, 0, 0, 3);
|
||||
}
|
||||
|
||||
/*danger*/
|
||||
|
||||
.button.danger,.split-menu-button.danger,.toggle-button.danger,.menu-button.danger,
|
||||
.split-menu-button.danger > .label, .split-menu-button.danger > .arrow-button {
|
||||
-fx-background-color: #d9534f;
|
||||
}
|
||||
|
||||
.button.danger,.menu-button.danger,.toggle-button.danger,
|
||||
.split-menu-button.danger > .label,.split-menu-button.danger > .arrow-button {
|
||||
-fx-border-color: #d43f3a;
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
/*hover state*/
|
||||
.button.danger:hover,.menu-button.danger:hover,.toggle-button.danger:hover,
|
||||
.split-menu-button.danger > .label:hover, .split-menu-button.danger > .arrow-button:hover {
|
||||
-fx-border-color: #ac2925;
|
||||
-fx-background-color: #c9302c;
|
||||
}
|
||||
/*pressed selected*/
|
||||
.button.danger:pressed, .button.danger:selected,
|
||||
.menu-button.danger:pressed,.menu-button.danger:selected
|
||||
,.toggle-button.danger:pressed,.toggle-button.danger:selected,
|
||||
.split-menu-button.danger:pressed > .label, .split-menu-button.danger > .arrow-button:pressed {
|
||||
-fx-border-color: #ac2925;
|
||||
-fx-background-color: #c9302c;
|
||||
-fx-effect: innershadow(gaussian, #ac2925, 10, 0, 0, 3);
|
||||
}
|
||||
|
||||
.menu-item {
|
||||
-fx-min-width: 200;
|
||||
}
|
||||
|
||||
.menu-item:focused {
|
||||
-fx-background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.menu-item:focused > * {
|
||||
-fx-text-fill: #000000;
|
||||
}
|
||||
.menu-item:focused .arrow {
|
||||
-fx-background-color: #333333;
|
||||
}
|
||||
|
||||
.check-menu-item:checked:hover > .left-container > .check,
|
||||
.check-menu-item:checked:focused > .left-container > .check,
|
||||
.radio-menu-item:checked:hover > .left-container > .radio,
|
||||
.radio-menu-item:checked:focused > .left-container > .radio {
|
||||
-fx-background-color: #333333;
|
||||
}
|
||||
|
||||
.context-menu {
|
||||
-fx-border-radius: 4;
|
||||
-fx-background-radius: 4;
|
||||
-fx-border-color: #bebec0;
|
||||
}
|
||||
|
||||
.context-menu > * {
|
||||
-fx-padding: 5 0 5 0;
|
||||
}
|
||||
|
||||
.separator {
|
||||
-fx-padding: 5 0 5 0;
|
||||
}
|
||||
|
||||
.text-field {
|
||||
-fx-pref-height: 30;
|
||||
}
|
||||
|
||||
.combo-box, .choice-box {
|
||||
-fx-background-insets: 0;
|
||||
-fx-border-color: #cecece;
|
||||
-fx-padding: -1;
|
||||
-fx-border-width: 1;
|
||||
}
|
||||
.combo-box, .choice-box, .color-picker, .date-picker {
|
||||
-fx-border-radius: 4;
|
||||
-fx-background-radius: 4;
|
||||
-fx-pref-height: 30;
|
||||
}
|
||||
|
||||
.combo-box:editable > .arrow-button {
|
||||
-fx-background-color: white;
|
||||
}
|
||||
|
||||
.combo-box:editable > .arrow-button:hover {
|
||||
-fx-background-color: #e6e6e6;
|
||||
}
|
||||
|
||||
.combo-box:editable > .arrow-button:pressed {
|
||||
-fx-effect: innershadow(gaussian, #adadad, 10, 0, 0, 3);
|
||||
}
|
||||
|
||||
.combo-box > .text-input, .date-picker > .text-input {
|
||||
-fx-background-radius: 4 0 0 4;
|
||||
-fx-border-width: 0;
|
||||
}
|
||||
|
||||
.text-field, .text-area {
|
||||
-fx-border-color: #cccccc;
|
||||
-fx-background-color: white;
|
||||
-fx-border-radius: 4;
|
||||
-fx-background-radius: 4;
|
||||
-fx-effect: innershadow(gaussian, transparent, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
.text-field:focused, .text-area:focused {
|
||||
-fx-border-color: #e9b365;
|
||||
-fx-effect: dropshadow(gaussian, #e9b365, 10, 0, 0, 0);
|
||||
}
|
||||
|
||||
.text-area .scroll-pane, .text-area .scroll-pane .content {
|
||||
-fx-background-color: white;
|
||||
-fx-background-radius: 4;
|
||||
}
|
||||
|
||||
.tab-pane .tab-header-background {
|
||||
-fx-background-color: #f4f4f4;
|
||||
}
|
||||
.tab-pane.plain .tab-header-background {
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
.tab-pane .tab-header-area .tab {
|
||||
-fx-border-radius: 4 4 0 0;
|
||||
-fx-background-radius: 5 5 0 0;
|
||||
-fx-background-color: transparent;
|
||||
-fx-border-color: transparent;
|
||||
-fx-padding: 3 10 5 10;
|
||||
-fx-background-insets: 0;
|
||||
}
|
||||
|
||||
.tab-pane .tab-header-area .tab .tab-label {
|
||||
-fx-text-fill: #b77714;
|
||||
}
|
||||
|
||||
.tab-pane .tab-header-area .tab:hover {
|
||||
-fx-background-color: #eeeeee;
|
||||
}
|
||||
|
||||
.tab-pane .tab-header-area .tab:selected {
|
||||
-fx-focus-color: transparent;
|
||||
-fx-border-color: #dddddd #dddddd white #dddddd;
|
||||
-fx-background-color: white;
|
||||
}
|
||||
.tab-pane .tab-header-area .tab:selected .tab-label {
|
||||
-fx-text-fill: #333333;
|
||||
}
|
||||
.tab-pane > .tab-content-area {
|
||||
-fx-background-color: white;
|
||||
}
|
||||
|
||||
.tab-pane .tab-header-area .tab .tab-label {
|
||||
-fx-focus-color: transparent;
|
||||
}
|
||||
|
||||
.tab-pane:focused > .tab-header-area > .headers-region > .tab:selected .focus-indicator {
|
||||
-fx-border-color: transparent;
|
||||
}
|
||||
|
||||
.tab-pane > .tab-header-area > .headers-region > .tab > .tab-container > .tab-close-button {
|
||||
-fx-background-color: #b77714;
|
||||
}
|
||||
.tab-pane > .tab-header-area > .headers-region > .tab:selected > .tab-container > .tab-close-button {
|
||||
-fx-background-color: #333333;
|
||||
}
|
||||
.tab-pane > .tab-header-area > .headers-region > .tab > .tab-container > .tab-close-button:hover {
|
||||
-fx-background-color: red;
|
||||
-fx-cursor: hand;
|
||||
}
|
||||
|
||||
.scroll-bar {
|
||||
-fx-background-color: transparent;
|
||||
-fx-background-radius: 0;
|
||||
-fx-block-increment: 50;
|
||||
}
|
||||
|
||||
.corner {
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
.scroll-bar .decrement-button, .scroll-bar .decrement-arrow {
|
||||
visibility: hidden;
|
||||
-fx-pref-height: 1;
|
||||
-fx-pref-width: 1;
|
||||
}
|
||||
|
||||
.scroll-bar .increment-button, .scroll-bar .increment-arrow {
|
||||
visibility: hidden;
|
||||
-fx-pref-height: 1;
|
||||
-fx-pref-width: 1;
|
||||
}
|
||||
|
||||
.scroll-bar:vertical {
|
||||
-fx-pref-width: 10;
|
||||
}
|
||||
|
||||
.scroll-bar:horizontal {
|
||||
-fx-pref-height: 10;
|
||||
}
|
||||
|
||||
.scroll-bar:horizontal .track,
|
||||
.scroll-bar:vertical .track {
|
||||
-fx-background-color: transparent;
|
||||
-fx-border-color: transparent;
|
||||
-fx-background-radius: 5;
|
||||
}
|
||||
|
||||
.scroll-bar:vertical .track-background,
|
||||
.scroll-bar:horizontal .track-background {
|
||||
-fx-background-color: transparent;
|
||||
-fx-background-insets: 0;
|
||||
-fx-background-radius: 5;
|
||||
}
|
||||
|
||||
.scroll-bar:horizontal .thumb {
|
||||
-fx-background-color: #c9c9c9;
|
||||
-fx-background-insets: 2 0 2 0;
|
||||
-fx-background-radius: 5;
|
||||
}
|
||||
|
||||
.scroll-bar:vertical .thumb {
|
||||
-fx-background-color: #c9c9c9;
|
||||
-fx-background-insets: 0 2 0 2;
|
||||
-fx-background-radius: 5;
|
||||
}
|
||||
|
||||
.scroll-bar:horizontal .thumb:hover,
|
||||
.scroll-bar:vertical .thumb:hover {
|
||||
-fx-background-color: #b5b5b5;
|
||||
}
|
||||
|
||||
.scroll-bar:horizontal .thumb:pressed,
|
||||
.scroll-bar:vertical .thumb:pressed {
|
||||
-fx-background-color: #a0a0a0;
|
||||
}
|
||||
|
||||
.scroll-bar:vertical .increment-button, .scroll-bar:vertical .decrement-button {
|
||||
-fx-background-color: transparent;
|
||||
-fx-background-radius: 5;
|
||||
-fx-padding: 5;
|
||||
}
|
||||
|
||||
.scroll-bar:horizontal .increment-button, .scroll-bar:horizontal .decrement-button {
|
||||
-fx-background-color: transparent;
|
||||
-fx-background-radius: 5;
|
||||
-fx-padding: 5;
|
||||
}
|
||||
|
||||
.scroll-bar:vertical:focused,
|
||||
.scroll-bar:horizontal:focused {
|
||||
-fx-background-color: transparent, rgb(96, 96, 96), rgb(96, 96, 96);
|
||||
}
|
||||
|
||||
.menu-bar {
|
||||
-fx-background-color: white;
|
||||
}
|
||||
.menu-bar > .container > .menu-button {
|
||||
-fx-background-radius: 0;
|
||||
-fx-background-insets: 0;
|
||||
-fx-border-width: 0;
|
||||
-fx-border-radius: 0;
|
||||
}
|
||||
.menu-bar > .container > .menu-button:hover,
|
||||
.menu-bar > .container > .menu-button:showing {
|
||||
-fx-background-color: #e2b14a;
|
||||
}
|
||||
|
||||
.color-palette {
|
||||
-fx-background-color: white;
|
||||
}
|
||||
|
||||
.pagination > .pagination-control > .control-box {
|
||||
-fx-spacing: -1;
|
||||
}
|
||||
.pagination > .pagination-control > .control-box > .left-arrow-button {
|
||||
-fx-border-radius: 3 0 0 3;
|
||||
-fx-border-insets: 0 0 0 7;
|
||||
-fx-background-insets: 0 0 0 7, 0 0 0 5, 1 1 1 6, 2 2 2 7;
|
||||
}
|
||||
.pagination > .pagination-control > .control-box > .right-arrow-button {
|
||||
-fx-border-radius: 0 3 3 0;
|
||||
-fx-border-insets: 0 7 0 0;
|
||||
-fx-background-insets: 0 7 -1 0, 0 5 0 0, 1 6 1 1, 2 7 2 2;
|
||||
}
|
||||
.pagination > .pagination-control > .control-box > .number-button {
|
||||
-fx-background-radius: 0;
|
||||
-fx-border-radius: 0;
|
||||
}
|
||||
|
||||
.progress-bar > .track {
|
||||
-fx-pref-height: 10;
|
||||
-fx-background-radius: 3;
|
||||
-fx-effect: innershadow(gaussian, #e4e4e4, 4, 0, 0, 1);
|
||||
-fx-background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.progress-bar > .bar {
|
||||
-fx-background-insets: 0;
|
||||
-fx-background-color: #b77714;
|
||||
}
|
||||
|
||||
.progress-bar.success > .bar {
|
||||
-fx-background-insets: 0;
|
||||
-fx-background-color: #5cb85c;
|
||||
}
|
||||
|
||||
.progress-bar.info > .bar {
|
||||
-fx-background-insets: 0;
|
||||
-fx-background-color: #5bc0de;
|
||||
}
|
||||
|
||||
.progress-bar.warning > .bar {
|
||||
-fx-background-insets: 0;
|
||||
-fx-background-color: #f0ad4e
|
||||
}
|
||||
|
||||
.progress-bar.danger > .bar {
|
||||
-fx-background-insets: 0;
|
||||
-fx-background-color: #d9534f;
|
||||
}
|
||||
|
||||
.tooltip {
|
||||
-fx-background: white;
|
||||
-fx-text-fill: #333333;
|
||||
-fx-background-color: white;
|
||||
-fx-background-radius: 4px;
|
||||
-fx-border-radius: 4px;
|
||||
-fx-border-color: #C0C0C0;
|
||||
-fx-background-insets: 0;
|
||||
-fx-padding: 0.667em 0.75em 0.667em 0.75em; /* 10px */
|
||||
-fx-effect: dropshadow(three-pass-box, rgba(0, 0, 0, 0.5), 10, 0.0, 0, 3);
|
||||
-fx-font-size: 0.85em;
|
||||
}
|
||||
|
||||
.tooltip.success {
|
||||
-fx-background: #dff0d8;
|
||||
-fx-background-color: #dff0d8;
|
||||
-fx-text-fill: #99bb96;
|
||||
-fx-border-color: #d6e9c6;
|
||||
}
|
||||
|
||||
.tooltip.info {
|
||||
-fx-background: #f6e4c1;
|
||||
-fx-background-color: #f6e4c1;
|
||||
-fx-text-fill: #8f5c16;
|
||||
-fx-border-color: #f7c195;
|
||||
}
|
||||
|
||||
.tooltip.warning {
|
||||
-fx-background: #fcf8e3;
|
||||
-fx-background-color: #fcf8e3;
|
||||
-fx-text-fill: #8a6e3c;
|
||||
-fx-border-color: #faebcc;
|
||||
}
|
||||
|
||||
.tooltip.danger {
|
||||
-fx-background: #f2dede;
|
||||
-fx-background-color: #f2dede;
|
||||
-fx-text-fill: #a94442;
|
||||
-fx-border-color: #ebccd1;
|
||||
}
|
||||
|
||||
.titled-pane > .title {
|
||||
-fx-background-color: #f5f5f5;
|
||||
-fx-border-color: #dddddd;
|
||||
/*-fx-background-insets: 5, 1, 5;*/
|
||||
-fx-background-radius: 3 3 0 0, 2 2 0 0, 1 1 0 0;
|
||||
-fx-border-radius: 3 3 0 0, 2 2 0 0, 1 1 0 0;
|
||||
-fx-padding: 11
|
||||
}
|
||||
|
||||
.titled-pane > .content {
|
||||
-fx-background-color: white;
|
||||
-fx-background-radius: 0 0 4 4;
|
||||
-fx-border-radius: 0 0 4 4;
|
||||
-fx-border-color: #dddddd;
|
||||
/*-fx-padding: -11;*/
|
||||
}
|
||||
|
||||
.titled-pane.primary {
|
||||
-fx-text-fill: white;
|
||||
}
|
||||
|
||||
.titled-pane.primary > .title {
|
||||
-fx-background-color: #b77714;
|
||||
-fx-border-color: #b77714;
|
||||
}
|
||||
|
||||
.titled-pane.primary > .content {
|
||||
-fx-border-color: #b77714;
|
||||
}
|
||||
|
||||
.titled-pane.success .arrow,
|
||||
.titled-pane.info .arrow,
|
||||
.titled-pane.warning .arrow,
|
||||
.titled-pane.danger .arrow {
|
||||
-fx-background-color: -fx-mark-highlight-color, -fx-mark-color;
|
||||
}
|
||||
|
||||
.titled-pane.success {
|
||||
-fx-text-fill: #3c763d;
|
||||
}
|
||||
|
||||
.titled-pane.success > .title {
|
||||
-fx-background-color: #dff0d8;
|
||||
-fx-border-color: #d6e9c6;
|
||||
}
|
||||
|
||||
.titled-pane.success > .content {
|
||||
-fx-border-color: #d6e9c6;
|
||||
}
|
||||
|
||||
.titled-pane.info {
|
||||
-fx-text-fill: #8f5c16;
|
||||
}
|
||||
|
||||
.titled-pane.info > .title {
|
||||
-fx-background-color: #f7d9c2;
|
||||
-fx-border-color: #f7c195;
|
||||
}
|
||||
|
||||
.titled-pane.info > .content {
|
||||
-fx-border-color: #f7c195;
|
||||
}
|
||||
|
||||
.titled-pane.warning {
|
||||
-fx-text-fill: #8a6d3b;
|
||||
}
|
||||
|
||||
.titled-pane.warning > .title {
|
||||
-fx-background-color: #fcf8e3;
|
||||
-fx-border-color: #faebcc;
|
||||
}
|
||||
|
||||
.titled-pane.warning > .content {
|
||||
-fx-border-color: #faebcc;
|
||||
}
|
||||
|
||||
.titled-pane.danger {
|
||||
-fx-text-fill: #a94442;
|
||||
}
|
||||
|
||||
.titled-pane.danger > .title {
|
||||
-fx-background-color: #f2dede;
|
||||
-fx-border-color: #eacbd0;
|
||||
}
|
||||
|
||||
.titled-pane.danger > .content {
|
||||
-fx-border-color: #eacbd0;
|
||||
}
|
||||
|
||||
.accordion > .titled-pane > .title,
|
||||
.accordion > .titled-pane > .content {
|
||||
-fx-background-radius: 0;
|
||||
-fx-border-radius: 0;
|
||||
}
|
||||
|
||||
.tool-bar:vertical { /* left */
|
||||
-fx-border-color: transparent #dddddd transparent transparent;
|
||||
}
|
||||
|
||||
.tool-bar { /* top */
|
||||
-fx-background-color: white;
|
||||
-fx-border-color: transparent transparent #dddddd transparent;
|
||||
}
|
||||
|
||||
.tool-bar:vertical {
|
||||
-fx-background-insets: 0, 0 1 0 0;
|
||||
}
|
||||
|
||||
/*table view columns*/
|
||||
.filler,.column-header,.show-hide-columns-button {
|
||||
-fx-background-color: #dddddd, white, white;
|
||||
}
|
||||
.show-hide-columns-button {
|
||||
-fx-border-width: 0;
|
||||
-fx-background-insets: 0 0 1 1;
|
||||
}
|
||||
.column-header:hover,.show-hide-columns-button:hover {
|
||||
-fx-background-color: #dddddd, white, #f8f8f8;
|
||||
}
|
||||
.column-header-background > .filler {
|
||||
-fx-border-color: transparent #dddddd transparent transparent;
|
||||
-fx-border-insets: 0 1 0 0;
|
||||
}
|
||||
.column-drag-header {
|
||||
-fx-background-color: #2fb254;
|
||||
}
|
||||
|
||||
/*split pane*/
|
||||
.split-pane > .split-pane-divider {
|
||||
-fx-background-color: white;
|
||||
-fx-border-color: #eeeeee;
|
||||
-fx-pref-width: 8;
|
||||
}
|
||||
.split-pane:horizontal > .split-pane-divider {
|
||||
-fx-background-insets: 0, 0 1 0 1;
|
||||
-fx-border-width: 0 1 0 1;
|
||||
}
|
||||
/* vertical the two nodes are placed on top of each other. */
|
||||
.split-pane:vertical > .split-pane-divider {
|
||||
-fx-background-insets: 0, 1 0 1 0;
|
||||
-fx-border-width: 1 0 1 0;
|
||||
}
|
||||
.split-pane > .split-pane-divider:hover {
|
||||
-fx-background-color: #E0E0E0;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* *
|
||||
* CheckBox *
|
||||
* *
|
||||
******************************************************************************/
|
||||
.check-box > .box {
|
||||
-fx-background-radius: 3;
|
||||
/*-fx-padding: 0.166667em 0.166667em 0.25em 0.25em; !* 2 2 3 3 *!*/
|
||||
-fx-padding:0;
|
||||
-fx-border-color: #e2b14a;
|
||||
-fx-border-radius: 3;
|
||||
-fx-background-color: white;
|
||||
}
|
||||
.check-box > .box > .mark {
|
||||
-fx-background-color: null;
|
||||
-fx-padding: 0.416667em 0.416667em 0.5em 0.5em; /* 5 5 6 6 */
|
||||
-fx-shape: "M927.936 272.992l-68.288-68.288c-12.608-12.576-32.96-12.576-45.536 0l-409.44 409.44-194.752-196.16c-12.576-12.576-32.928-12.576-45.536 0l-68.288 68.288c-12.576 12.608-12.576 32.96 0 45.536l285.568 287.488c12.576 12.576 32.96 12.576 45.536 0l500.736-500.768c12.576-12.544 12.576-32.96 0-45.536z";
|
||||
-fx-background-insets: -3 -3 1 0;
|
||||
}
|
||||
.check-box {
|
||||
-fx-label-padding: 0.2em 0.0em 0.3em 0.416667em; /* 0 0 0 5 */
|
||||
-fx-text-fill: -fx-text-background-color;
|
||||
-fx-padding: 0 0 2 0;
|
||||
}
|
||||
.check-box:indeterminate > .box {
|
||||
-fx-padding: 0;
|
||||
}
|
||||
.check-box:selected > .box > .mark {
|
||||
-fx-background-color: linear-gradient(to bottom, #e2b14a, #e29a16);
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* *
|
||||
* RadioButton *
|
||||
* *
|
||||
******************************************************************************/
|
||||
|
||||
.radio-button {
|
||||
-fx-label-padding: 0.0em 0.0em 0.1em 0.416667em; /* 0 0 0 5 */
|
||||
-fx-text-fill: -fx-text-background-color;
|
||||
-fx-padding: 0 0 .5 0;
|
||||
}
|
||||
.radio-button > .radio,
|
||||
.radio-button:focused > .radio {
|
||||
-fx-border-color: #e2b14a;
|
||||
-fx-border-radius: 1em;
|
||||
-fx-background-radius: 1.0em; /* large value to make sure this remains circular */
|
||||
-fx-padding: 1 2 3 2;
|
||||
-fx-background-color: white;
|
||||
}
|
||||
.radio-button > .radio > .dot {
|
||||
-fx-background-color: transparent;
|
||||
-fx-background-radius: 1.0em; /* large value to make sure this remains circular */
|
||||
-fx-padding: 0.333333em; /* 4 -- radius of the inner black dot when selected */
|
||||
-fx-background-insets: 3 2 1 2;
|
||||
}
|
||||
.radio-button:selected > .radio,.radio-button:hover > .radio {
|
||||
-fx-fill-color: #e2b14a;
|
||||
}
|
||||
.radio-button:pressed > .radio {
|
||||
-fx-background-color: #e2ab40;
|
||||
}
|
||||
.radio-button:selected > .radio > .dot {
|
||||
-fx-background-color: #e2b14a;
|
||||
}
|
||||
|
||||
/*common things*/
|
||||
.check-box:hover > .box,
|
||||
.check-box:selected > .box,
|
||||
.radio-button:hover > .radio,
|
||||
.radio-button:selected > .radio {
|
||||
-fx-background-color: linear-gradient(to bottom, white, #efefef);
|
||||
}
|
||||
|
||||
.check-box:pressed > .box,
|
||||
.radio-button:pressed > .radio {
|
||||
-fx-background-color: #e2ab40;
|
||||
}
|
||||
|
||||
|
||||
.hyperlink {
|
||||
-fx-text-fill: #c88600;
|
||||
}
|
||||
|
||||
.internalExtension {
|
||||
-fx-background-color: #fff0e3;
|
||||
}
|
||||
|
||||
.disconnectedExtension {
|
||||
-fx-background-color: #CCCCCC;
|
||||
}
|
||||
|
||||
.connectedExtension {
|
||||
-fx-background-color: #FFFFFF;
|
||||
}
|
@ -15,7 +15,7 @@
|
||||
<AnchorPane prefHeight="200.0" prefWidth="200.0">
|
||||
<children>
|
||||
<ImageView fx:id="img_logo" fitHeight="228.0" fitWidth="217.0" layoutX="23.0" layoutY="23.0" pickOnBounds="true" preserveRatio="true" />
|
||||
<Label fx:id="version" layoutX="260.0" layoutY="23.0" text="G-Earth $version" textFill="#000000b2">
|
||||
<Label fx:id="version" layoutX="260.0" layoutY="23.0" text="\$theme $version" textFill="#000000b2">
|
||||
<font>
|
||||
<Font size="18.0" />
|
||||
</font>
|
||||
|