From f25c0d75fd57ecd24c55094d5d3eb28bf8781006 Mon Sep 17 00:00:00 2001 From: Tom Schindl Date: Mon, 17 Jan 2022 16:32:13 +0100 Subject: [PATCH] add sample refs #441 --- demos/org.eclipse.fx.ui.panes.demo/.classpath | 7 ++ demos/org.eclipse.fx.ui.panes.demo/.gitignore | 1 + demos/org.eclipse.fx.ui.panes.demo/.project | 28 ++++++ .../.settings/org.eclipse.jdt.core.prefs | 8 ++ .../META-INF/MANIFEST.MF | 8 ++ .../build.properties | 4 + .../fx/ui/panes/demo/SashPaneDemo.java | 97 +++++++++++++++++++ 7 files changed, 153 insertions(+) create mode 100644 demos/org.eclipse.fx.ui.panes.demo/.classpath create mode 100644 demos/org.eclipse.fx.ui.panes.demo/.gitignore create mode 100644 demos/org.eclipse.fx.ui.panes.demo/.project create mode 100644 demos/org.eclipse.fx.ui.panes.demo/.settings/org.eclipse.jdt.core.prefs create mode 100644 demos/org.eclipse.fx.ui.panes.demo/META-INF/MANIFEST.MF create mode 100644 demos/org.eclipse.fx.ui.panes.demo/build.properties create mode 100644 demos/org.eclipse.fx.ui.panes.demo/src/org/eclipse/fx/ui/panes/demo/SashPaneDemo.java diff --git a/demos/org.eclipse.fx.ui.panes.demo/.classpath b/demos/org.eclipse.fx.ui.panes.demo/.classpath new file mode 100644 index 000000000..eca7bdba8 --- /dev/null +++ b/demos/org.eclipse.fx.ui.panes.demo/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/demos/org.eclipse.fx.ui.panes.demo/.gitignore b/demos/org.eclipse.fx.ui.panes.demo/.gitignore new file mode 100644 index 000000000..ae3c17260 --- /dev/null +++ b/demos/org.eclipse.fx.ui.panes.demo/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/demos/org.eclipse.fx.ui.panes.demo/.project b/demos/org.eclipse.fx.ui.panes.demo/.project new file mode 100644 index 000000000..f9982ba8f --- /dev/null +++ b/demos/org.eclipse.fx.ui.panes.demo/.project @@ -0,0 +1,28 @@ + + + org.eclipse.fx.ui.panes.demo + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/demos/org.eclipse.fx.ui.panes.demo/.settings/org.eclipse.jdt.core.prefs b/demos/org.eclipse.fx.ui.panes.demo/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..9f6ece88b --- /dev/null +++ b/demos/org.eclipse.fx.ui.panes.demo/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/demos/org.eclipse.fx.ui.panes.demo/META-INF/MANIFEST.MF b/demos/org.eclipse.fx.ui.panes.demo/META-INF/MANIFEST.MF new file mode 100644 index 000000000..7c3b343ba --- /dev/null +++ b/demos/org.eclipse.fx.ui.panes.demo/META-INF/MANIFEST.MF @@ -0,0 +1,8 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Demo +Bundle-SymbolicName: org.eclipse.fx.ui.panes.demo +Bundle-Version: 1.0.0.qualifier +Automatic-Module-Name: org.eclipse.fx.ui.panes.demo +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: org.eclipse.fx.ui.panes;bundle-version="3.7.1" diff --git a/demos/org.eclipse.fx.ui.panes.demo/build.properties b/demos/org.eclipse.fx.ui.panes.demo/build.properties new file mode 100644 index 000000000..34d2e4d2d --- /dev/null +++ b/demos/org.eclipse.fx.ui.panes.demo/build.properties @@ -0,0 +1,4 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + . diff --git a/demos/org.eclipse.fx.ui.panes.demo/src/org/eclipse/fx/ui/panes/demo/SashPaneDemo.java b/demos/org.eclipse.fx.ui.panes.demo/src/org/eclipse/fx/ui/panes/demo/SashPaneDemo.java new file mode 100644 index 000000000..e22c6a279 --- /dev/null +++ b/demos/org.eclipse.fx.ui.panes.demo/src/org/eclipse/fx/ui/panes/demo/SashPaneDemo.java @@ -0,0 +1,97 @@ +package org.eclipse.fx.ui.panes.demo; + +import org.eclipse.fx.ui.panes.SashPane; +import org.eclipse.fx.ui.panes.SashPane.FixedSashItem; + +import javafx.application.Application; +import javafx.beans.value.ObservableBooleanValue; +import javafx.geometry.Insets; +import javafx.scene.Node; +import javafx.scene.Scene; +import javafx.scene.control.Label; +import javafx.scene.control.Tab; +import javafx.scene.control.TabPane; +import javafx.scene.control.TitledPane; +import javafx.scene.layout.Priority; +import javafx.scene.layout.StackPane; +import javafx.scene.layout.VBox; +import javafx.stage.Stage; + +public class SashPaneDemo extends Application { + + public static void main(String[] args) { + launch(args); + } + + @Override + public void start(Stage primaryStage) throws Exception { + TabPane root = new TabPane(); + root.getTabs().add(createSimpleStartVertical()); + root.getTabs().add(createSimpleEndVertical()); + + Scene s = new Scene(root, 800, 600); + primaryStage.setScene(s); + primaryStage.show(); + } + + private Tab createSimpleStartVertical() { + SashPane pane = new SashPane(); + VBox.setVgrow(pane, Priority.ALWAYS); + pane.setHorizontal(false); + + pane.getItems().add(new StackPane(new Label("Content"))); + pane.getItems().add(createGroupNode()); + + StackPane root = new StackPane(pane); + + return new Tab("Simple - Start - Vertical", root); + } + + private Tab createSimpleEndVertical() { + SashPane pane = new SashPane(); + VBox.setVgrow(pane, Priority.ALWAYS); + pane.setHorizontal(false); + + pane.getItems().add(createGroupNode()); + pane.getItems().add(new StackPane(new Label("Content"))); + + StackPane root = new StackPane(pane); + + return new Tab("Simple - End - Vertical", root); + } + + private Tab createComplex3() { + SashPane pane = new SashPane(); + VBox.setVgrow(pane, Priority.ALWAYS); + pane.setHorizontal(false); + pane.getItems().add(new StackPane(new Label("Top"))); + TitledPane titlePane = createGroupNode(); + pane.getItems().add(titlePane); + pane.getItems().add(new StackPane(new Label("Bottom"))); + + StackPane root = new StackPane(pane); + + return new Tab("Simple - Start - Vertical", root); + } + + private TitledPane createGroupNode() { + VBox content = new VBox(new Label("Content")); + content.setPadding(new Insets(30)); +// content.setPrefHeight(1000); +// content.setMaxHeight(1000); + TitledPane pane = new SashTitlePane("Sample", content); + return pane; + } + + class SashTitlePane extends TitledPane implements FixedSashItem { + public SashTitlePane(String title, Node content) { + super(title, content); + } + + @Override + public ObservableBooleanValue fixed() { + return expandedProperty().not(); + } + + } +}