diff options
author | Tom Schindl | 2015-05-08 10:57:21 +0000 |
---|---|---|
committer | Tom Schindl | 2015-05-08 10:57:21 +0000 |
commit | 54b7de1fec051a3c2cd598301fdcc3e972c0e3f3 (patch) | |
tree | 78cb18e3ea6b816e8a1b6960853519d103cc6443 | |
parent | 1ff0b13101589d7fb9b943dda2f97b1c7e948ca1 (diff) | |
download | org.eclipse.efxclipse-54b7de1fec051a3c2cd598301fdcc3e972c0e3f3.tar.gz org.eclipse.efxclipse-54b7de1fec051a3c2cd598301fdcc3e972c0e3f3.tar.xz org.eclipse.efxclipse-54b7de1fec051a3c2cd598301fdcc3e972c0e3f3.zip |
adjust to latest code base
23 files changed, 324 insertions, 44 deletions
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/Application.e4xmi b/experimental/compensator/org.eclipse.fx.code.compensator.app/Application.e4xmi index 1da737776..e18b05b77 100644 --- a/experimental/compensator/org.eclipse.fx.code.compensator.app/Application.e4xmi +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/Application.e4xmi @@ -2,6 +2,7 @@ <application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:advanced="http://www.eclipse.org/ui/2010/UIModel/application/ui/advanced" xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmlns:menu="http://www.eclipse.org/ui/2010/UIModel/application/ui/menu" xmi:id="_fFsNwPG6EeOigcR0oBysUg" elementId="org.eclipse.fx.code.compensator.app" bindingContexts="_fFq_oPG6EeOigcR0oBysUg"> <children xsi:type="basic:TrimmedWindow" xmi:id="_xH6dEPG6EeOigcR0oBysUg" elementId="org.eclipse.fx.code.compensator.app.trimmedwindow.0" label="Bestsolution Compensator" bindingContexts="_fFsNwfG6EeOigcR0oBysUg" x="10" y="10" width="800" height="600"> <persistedState key="efx.window.root.fxml" value="platform:/plugin/org.eclipse.fx.code.compensator.app/org/eclipse/fx/code/compensator/app/ApplicationDecoration.fxml"/> + <persistedState key="efx.window.stagestyle" value="TRANSPARENT"/> <children xsi:type="advanced:PerspectiveStack" xmi:id="_mym9kPNkEeOKm6R57HGa4g" elementId="org.eclipse.fx.code.compensator.app.perspectivestack.0"/> <mainMenu xmi:id="_RTKZcPNkEeOKm6R57HGa4g" elementId="org.eclipse.fx.code.compensator.app.menu.0"> <children xsi:type="menu:Menu" xmi:id="_SXdvEPNkEeOKm6R57HGa4g" elementId="org.eclipse.fx.code.compensator.app.menu.1" label="Application"> @@ -12,6 +13,7 @@ <children xsi:type="menu:HandledMenuItem" xmi:id="_HP7AMHVIEeSh6_BeBEfIrA" elementId="org.eclipse.fx.code.compensator.app.handledmenuitem.4" label="Dark" type="Radio" command="_7TZj0HVHEeSh6_BeBEfIrA"> <parameters xmi:id="_OIZ68HVIEeSh6_BeBEfIrA" elementId="org.eclipse.fx.code.compensator.app.parameter.1" name="themeId" value="dark"/> </children> + <children xsi:type="menu:HandledMenuItem" xmi:id="_5_iFgPVqEeSzM8h0i2FpIw" elementId="org.eclipse.fx.code.compensator.app.handledmenuitem.presentationMode" label="Presentation Mode" type="Check" command="_GWW4QPVrEeSzM8h0i2FpIw"/> </children> <children xsi:type="menu:HandledMenuItem" xmi:id="_KY76wEdBEeSZQYCAvKFSig" elementId="org.eclipse.fx.code.compensator.app.handledmenuitem.1" label="Save" command="_3He4MEdAEeSZQYCAvKFSig"/> <children xsi:type="menu:HandledMenuItem" xmi:id="_qTpF4ICyEeSVlekWrdeFsw" elementId="org.eclipse.fx.code.compensator.app.handledmenuitem.0" label="Exit" command="_krCpMICzEeSVlekWrdeFsw"/> @@ -24,6 +26,7 @@ <handlers xmi:id="_1quZ4HQwEeSQ0Pmwy73byg" elementId="org.eclipse.fx.code.compensator.app.handler.3" contributionURI="bundleclass://org.eclipse.fx.code.compensator.app/org.eclipse.fx.code.compensator.app.LoadFolder" command="_zuhL4HQwEeSQ0Pmwy73byg"/> <handlers xmi:id="_9c2joHVHEeSh6_BeBEfIrA" elementId="org.eclipse.fx.code.compensator.app.handler.4" contributionURI="bundleclass://org.eclipse.fx.code.compensator.app/org.eclipse.fx.code.compensator.app.ToggleThemeHandler" command="_7TZj0HVHEeSh6_BeBEfIrA"/> <handlers xmi:id="_CSlV0IC0EeSVlekWrdeFsw" elementId="org.eclipse.fx.code.compensator.app.handler.5" contributionURI="bundleclass://org.eclipse.fx.code.compensator.app/org.eclipse.fx.code.compensator.app.QuitApplication" command="_krCpMICzEeSVlekWrdeFsw"/> + <handlers xmi:id="_CdBPMPVrEeSzM8h0i2FpIw" elementId="org.eclipse.fx.code.compensator.app.handler.6" contributionURI="bundleclass://org.eclipse.fx.code.compensator.app/org.eclipse.fx.code.compensator.app.TogglePresentationModeHandler" command="_GWW4QPVrEeSzM8h0i2FpIw"/> <bindingTables xmi:id="_iCgYwFRVEeSOIvvv6jFM3A" elementId="org.eclipse.fx.code.compensator.app.bindingtable.0" bindingContext="_fFsNwfG6EeOigcR0oBysUg"> <bindings xmi:id="_jaVuYFRVEeSOIvvv6jFM3A" elementId="org.eclipse.fx.code.compensator.app.keybinding.0" keySequence="M1+S" command="_3He4MEdAEeSZQYCAvKFSig"/> <bindings xmi:id="_FVcp4IC0EeSVlekWrdeFsw" elementId="org.eclipse.fx.code.compensator.app.keybinding.1" keySequence="M1+Q" command="_krCpMICzEeSVlekWrdeFsw"/> @@ -40,6 +43,7 @@ <parameters xmi:id="_Agpr0HVIEeSh6_BeBEfIrA" elementId="themeId" name="Theme Id" optional="false"/> </commands> <commands xmi:id="_krCpMICzEeSVlekWrdeFsw" elementId="org.eclipse.fx.code.compensator.app.command.7" commandName="Quit Application"/> + <commands xmi:id="_GWW4QPVrEeSzM8h0i2FpIw" elementId="org.eclipse.fx.code.compensator.app.command.togglePresentationMode" commandName="Toggle Presentation Mode"/> <addons xmi:id="_fFsNw_G6EeOigcR0oBysUg" elementId="org.eclipse.e4.core.commands.service" contributionURI="bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"/> <addons xmi:id="_fFsNxPG6EeOigcR0oBysUg" elementId="org.eclipse.e4.ui.contexts.service" contributionURI="bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"/> <addons xmi:id="_fFsNxfG6EeOigcR0oBysUg" elementId="org.eclipse.fx.ui.keybindings.e4.service" contributionURI="bundleclass://org.eclipse.fx.ui.keybindings.e4/org.eclipse.fx.ui.keybindings.e4.BindingServiceAddon"/> diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/META-INF/MANIFEST.MF b/experimental/compensator/org.eclipse.fx.code.compensator.app/META-INF/MANIFEST.MF index 17ec0188c..3b9b3ae3a 100644 --- a/experimental/compensator/org.eclipse.fx.code.compensator.app/META-INF/MANIFEST.MF +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/META-INF/MANIFEST.MF @@ -33,36 +33,11 @@ Require-Bundle: org.eclipse.fx.ui.workbench.fx, org.eclipse.fx.ui.workbench.renderers.fx, org.eclipse.fx.ui.workbench.renderers.base;bundle-version="1.2.0", org.eclipse.fx.ui.controls;bundle-version="2.0.0" -Import-Package: javafx.animation;version="2.0.0", - javafx.application;version="2.0.0", - javafx.beans;version="2.0.0", - javafx.beans.binding;version="2.0.0", - javafx.beans.property;version="2.0.0", - javafx.beans.value;version="2.0.0", - javafx.collections;version="2.0.0", - javafx.concurrent;version="2.0.0", - javafx.event;version="2.0.0", - javafx.fxml;version="2.0.0", - javafx.geometry;version="2.0.0", - javafx.scene;version="2.0.0", - javafx.scene.chart;version="2.0.0", - javafx.scene.control;version="2.0.0", - javafx.scene.control.cell;version="2.0.0", - javafx.scene.effect;version="2.0.0", - javafx.scene.image;version="2.0.0", - javafx.scene.input;version="2.0.0", - javafx.scene.layout;version="2.0.0", - javafx.scene.media;version="2.0.0", - javafx.scene.paint;version="2.0.0", - javafx.scene.shape;version="2.0.0", - javafx.scene.text;version="2.0.0", - javafx.scene.transform;version="2.0.0", - javafx.scene.web;version="2.0.0", - javafx.stage;version="2.0.0", - javafx.util;version="2.0.0", - javax.annotation;version="1.2.0", - javax.inject;version="1.0.0" +Import-Package: javax.inject;version="1.0.0", + org.osgi.framework;version="1.8.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Service-Component: OSGI-INF/services/default-theme.xml, - OSGI-INF/services/dark-theme.xml +Service-Component: OSGI-INF/services/org.eclipse.fx.code.compensator.app.DefaultTheme.xml, + OSGI-INF/services/org.eclipse.fx.code.compensator.app.FadeDialogTranstionServiceImpl.xml, + OSGI-INF/services/org.eclipse.fx.code.compensator.app.FlyinTransitionServiceImpl.xml, + OSGI-INF/services/org.eclipse.fx.code.compensator.app.DarkTheme.xml Bundle-ActivationPolicy: lazy diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/OSGI-INF/services/dark-theme.xml b/experimental/compensator/org.eclipse.fx.code.compensator.app/OSGI-INF/services/org.eclipse.fx.code.compensator.app.DarkTheme.xml index 8c86624d5..075dfb7a4 100644 --- a/experimental/compensator/org.eclipse.fx.code.compensator.app/OSGI-INF/services/dark-theme.xml +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/OSGI-INF/services/org.eclipse.fx.code.compensator.app.DarkTheme.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.fx.code.compensator.app.dark-theme"> +<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.fx.code.compensator.app.DarkTheme"> <implementation class="org.eclipse.fx.code.compensator.app.DarkTheme"/> <service> <provide interface="org.eclipse.fx.ui.services.theme.Theme"/> </service> - <reference bind="registerStylesheet" cardinality="0..n" interface="org.eclipse.fx.ui.services.theme.Stylesheet" name="Stylesheet" policy="dynamic" unbind="unregisterStylesheet"/> - <reference bind="registerMultiURLStylesheet" cardinality="0..n" interface="org.eclipse.fx.ui.services.theme.MultiURLStylesheet" name="MultiURLStylesheet" policy="dynamic" unbind="unregisterMultiURLStylesheet"/> -</scr:component> + <reference bind="registerMultiURLStylesheet" cardinality="0..n" interface="org.eclipse.fx.ui.services.theme.MultiURLStylesheet" name="registerMultiURLStylesheet" policy="dynamic" unbind="unregisterMultiURLStylesheet"/> + <reference bind="registerStylesheet" cardinality="0..n" interface="org.eclipse.fx.ui.services.theme.Stylesheet" name="registerStylesheet" policy="dynamic" unbind="unregisterStylesheet"/> +</scr:component>
\ No newline at end of file diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/OSGI-INF/services/default-theme.xml b/experimental/compensator/org.eclipse.fx.code.compensator.app/OSGI-INF/services/org.eclipse.fx.code.compensator.app.DefaultTheme.xml index 5b4d34849..48db54a93 100644 --- a/experimental/compensator/org.eclipse.fx.code.compensator.app/OSGI-INF/services/default-theme.xml +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/OSGI-INF/services/org.eclipse.fx.code.compensator.app.DefaultTheme.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> -<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.fx.code.compensator.app.default-theme"> +<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.fx.code.compensator.app.DefaultTheme"> <implementation class="org.eclipse.fx.code.compensator.app.DefaultTheme"/> <service> <provide interface="org.eclipse.fx.ui.services.theme.Theme"/> </service> - <reference bind="registerStylesheet" cardinality="0..n" interface="org.eclipse.fx.ui.services.theme.Stylesheet" name="Stylesheet" policy="dynamic" unbind="unregisterStylesheet"/> - <reference bind="registerMultiURLStylesheet" cardinality="0..n" interface="org.eclipse.fx.ui.services.theme.MultiURLStylesheet" name="MultiURLStylesheet" policy="dynamic" unbind="unregisterMultiURLStylesheet"/> -</scr:component> + <reference bind="registerMultiURLStylesheet" cardinality="0..n" interface="org.eclipse.fx.ui.services.theme.MultiURLStylesheet" name="registerMultiURLStylesheet" policy="dynamic" unbind="unregisterMultiURLStylesheet"/> + <reference bind="registerStylesheet" cardinality="0..n" interface="org.eclipse.fx.ui.services.theme.Stylesheet" name="registerStylesheet" policy="dynamic" unbind="unregisterStylesheet"/> +</scr:component>
\ No newline at end of file diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/OSGI-INF/services/org.eclipse.fx.code.compensator.app.FadeDialogTranstionServiceImpl.xml b/experimental/compensator/org.eclipse.fx.code.compensator.app/OSGI-INF/services/org.eclipse.fx.code.compensator.app.FadeDialogTranstionServiceImpl.xml new file mode 100644 index 000000000..2652c7d30 --- /dev/null +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/OSGI-INF/services/org.eclipse.fx.code.compensator.app.FadeDialogTranstionServiceImpl.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.fx.code.compensator.app.FadeDialogTranstionServiceImpl"> + <implementation class="org.eclipse.fx.code.compensator.app.FadeDialogTranstionServiceImpl"/> + <service> + <provide interface="org.eclipse.fx.ui.workbench.renderers.fx.services.LightweightDialogTransitionService"/> + </service> +</scr:component>
\ No newline at end of file diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/OSGI-INF/services/org.eclipse.fx.code.compensator.app.FlyinTransitionServiceImpl.xml b/experimental/compensator/org.eclipse.fx.code.compensator.app/OSGI-INF/services/org.eclipse.fx.code.compensator.app.FlyinTransitionServiceImpl.xml new file mode 100644 index 000000000..2d7410884 --- /dev/null +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/OSGI-INF/services/org.eclipse.fx.code.compensator.app.FlyinTransitionServiceImpl.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.fx.code.compensator.app.FlyinTransitionServiceImpl"> + <implementation class="org.eclipse.fx.code.compensator.app.FlyinTransitionServiceImpl"/> + <service> + <provide interface="org.eclipse.fx.ui.workbench.renderers.fx.services.LightweightDialogTransitionService"/> + </service> + <property name="service.ranking" type="Integer" value="1"/> +</scr:component>
\ No newline at end of file diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/css/default.css b/experimental/compensator/org.eclipse.fx.code.compensator.app/css/default.css index 198cd70e2..d03341b13 100644 --- a/experimental/compensator/org.eclipse.fx.code.compensator.app/css/default.css +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/css/default.css @@ -3,6 +3,7 @@ -compensator-default-text: -fx-text-background-color; /* @SuppressWarning */ -compensator-extra1: /*#957d47*/ derive(-fx-text-background-color, 110%); + -fx-font-size: 1em; } .cell-text-extra { @@ -15,4 +16,9 @@ .menu-bar { -fx-background-color: transparent; +} + +.overlay-container { + /*-fx-background-color: rgba(200,200,200,0.5);*/ + -fx-background-color: transparent; }
\ No newline at end of file diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/css/icons/dialog-error.png b/experimental/compensator/org.eclipse.fx.code.compensator.app/css/icons/dialog-error.png Binary files differnew file mode 100644 index 000000000..01bc922d5 --- /dev/null +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/css/icons/dialog-error.png diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/css/icons/dialog-information.png b/experimental/compensator/org.eclipse.fx.code.compensator.app/css/icons/dialog-information.png Binary files differnew file mode 100644 index 000000000..ee59e170a --- /dev/null +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/css/icons/dialog-information.png diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/css/icons/mail-mark-important.png b/experimental/compensator/org.eclipse.fx.code.compensator.app/css/icons/mail-mark-important.png Binary files differnew file mode 100644 index 000000000..f9eaa9950 --- /dev/null +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/css/icons/mail-mark-important.png diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/css/icons/mail-mark-unread-new.png b/experimental/compensator/org.eclipse.fx.code.compensator.app/css/icons/mail-mark-unread-new.png Binary files differnew file mode 100644 index 000000000..eb781d01d --- /dev/null +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/css/icons/mail-mark-unread-new.png diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/css/icons/mail-mark-unread.png b/experimental/compensator/org.eclipse.fx.code.compensator.app/css/icons/mail-mark-unread.png Binary files differnew file mode 100644 index 000000000..34852c2d6 --- /dev/null +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/css/icons/mail-mark-unread.png diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/css/icons/mail-queue.png b/experimental/compensator/org.eclipse.fx.code.compensator.app/css/icons/mail-queue.png Binary files differnew file mode 100644 index 000000000..2f62c643d --- /dev/null +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/css/icons/mail-queue.png diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/css/presentationMode.css b/experimental/compensator/org.eclipse.fx.code.compensator.app/css/presentationMode.css new file mode 100644 index 000000000..6c9316e8a --- /dev/null +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/css/presentationMode.css @@ -0,0 +1,26 @@ +.root { + -fx-font-size: 20; +} + +.styled-text-area .source-segment { + -fx-font-family: Courier; + -fx-font-size: 20; + /* @SuppressWarning */ + -styled-text-color: black; + -fx-fill: -styled-text-color; +} + +.styled-text-area .plain-source-segment { + -fx-font-family: Courier; + -fx-font-size: 20; +} + +.styled-text-area .line-ruler-text { + -fx-font-family: Courier; + -fx-font-size: 20; +} + +.styled-text-area .list-view { + /*@SuppressWarning */ + -fx-fixed-cell-size: 23; +}
\ No newline at end of file diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/ApplicationDecoration.fxgraph b/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/ApplicationDecoration.fxgraph index 43c358f04..d1e70b4a5 100644 --- a/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/ApplicationDecoration.fxgraph +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/ApplicationDecoration.fxgraph @@ -12,9 +12,10 @@ import javafx.scene.Group import org.eclipse.fx.ui.controls.stage.DefaultWindowPane import javafx.scene.layout.Pane import javafx.scene.layout.HBox +import org.eclipse.fx.ui.controls.stage.DefaultTrimmedWindowPane component ApplicationDecoration styledwith "/css/default.css" { - DefaultWindowPane { + DefaultTrimmedWindowPane { content : BorderPane { top : ToolBar { items : [ diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/ApplicationDecoration.fxml b/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/ApplicationDecoration.fxml index a3e8cfddc..513d01935 100644 --- a/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/ApplicationDecoration.fxml +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/ApplicationDecoration.fxml @@ -9,11 +9,11 @@ <?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
-<?import org.eclipse.fx.ui.controls.stage.DefaultWindowPane?>
+<?import org.eclipse.fx.ui.controls.stage.DefaultTrimmedWindowPane?>
<?import org.eclipse.fx.ui.panes.FillLayoutPane?>
<?scenebuilder-stylesheet /css/default.css?>
-<DefaultWindowPane xmlns:fx="http://javafx.com/fxml">
+<DefaultTrimmedWindowPane xmlns:fx="http://javafx.com/fxml">
<content>
<BorderPane>
@@ -30,4 +30,4 @@ </center>
</BorderPane>
</content>
-</DefaultWindowPane>
+</DefaultTrimmedWindowPane>
diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/ApplicationDecorationController.java b/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/ApplicationDecorationController.java new file mode 100644 index 000000000..1bde86367 --- /dev/null +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/ApplicationDecorationController.java @@ -0,0 +1,102 @@ +package org.eclipse.fx.code.compensator.app; + +import java.net.URL; +import java.util.ResourceBundle; + +import javafx.animation.Animation.Status; +import javafx.animation.TranslateTransition; +import javafx.application.Platform; +import javafx.fxml.FXML; +import javafx.fxml.Initializable; +import javafx.scene.Node; +import javafx.scene.control.Label; +import javafx.scene.control.Tooltip; +import javafx.scene.layout.VBox; +import javafx.stage.WindowEvent; +import javafx.util.Duration; + +import javax.inject.Inject; + +import org.eclipse.e4.core.services.events.IEventBroker; +import org.osgi.service.event.Event; + +public class ApplicationDecorationController implements Initializable { + @Inject + private IEventBroker broker; + + @FXML + Label messageCenter; + + private VBox box; + + private boolean clearOnChange; + + private TranslateTransition pendingMessageAnimation; + + @Override + public void initialize(URL location, ResourceBundle resources) { + Tooltip tip = new Tooltip(); + tip.setOnShown(this::handleShow); + box = new VBox(); +// box.getChildren().add(new Label("No messages pending")); + tip.setGraphic(box); + messageCenter.setTooltip(tip); + + broker.subscribe("org/eclipse/fx/code/compensator/editor/Language/installed", this::handleLanguageInstall); + broker.subscribe("org/eclipse/fx/code/compensator/cibundleinfo", this::handleCiBuild); + } + + private void handleLanguageInstall(Event event) { + Platform.runLater(() -> { + Label l = new Label(); + l.setText("New syntax highlight for '"+event.getProperty(IEventBroker.DATA)+"' has been installed"); + l.getStyleClass().add("message-center-info"); + addMessage(l); + }); + } + + private void handleCiBuild(Event event) { + Platform.runLater(() -> { + Label l = new Label(); + if( "success".equals(event.getProperty(IEventBroker.DATA))) { + l.setText("CI Build succeeded"); + l.getStyleClass().add("message-center-info"); + } else { + l.setText("CI Build failed"); + l.getStyleClass().add("message-center-error"); + } + + + l.getStyleClass().add("message-center-info"); + addMessage(l); + }); + } + + private void handleShow(WindowEvent evt) { + clearOnChange = true; + if( pendingMessageAnimation != null ) { + pendingMessageAnimation.stop(); + messageCenter.setTranslateY(0); + } + + messageCenter.getStyleClass().remove("infopending"); + } + + private void addMessage(Node node) { + if( clearOnChange ) { + box.getChildren().clear(); + clearOnChange = false; + } + + if( pendingMessageAnimation == null || pendingMessageAnimation.getStatus() == Status.STOPPED ) { + messageCenter.getStyleClass().add("infopending"); + pendingMessageAnimation = new TranslateTransition(Duration.millis(500),messageCenter); + pendingMessageAnimation.setByY(-5); + pendingMessageAnimation.setCycleCount(TranslateTransition.INDEFINITE); + pendingMessageAnimation.setAutoReverse(true); + pendingMessageAnimation.play(); + } + + box.getChildren().add(node); + } +} diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/DarkTheme.java b/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/DarkTheme.java index 072628f6f..dd94b0b21 100644 --- a/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/DarkTheme.java +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/DarkTheme.java @@ -1,11 +1,28 @@ package org.eclipse.fx.code.compensator.app; +import org.eclipse.fx.ui.services.theme.MultiURLStylesheet; +import org.eclipse.fx.ui.services.theme.Stylesheet; +import org.eclipse.fx.ui.services.theme.Theme; import org.eclipse.fx.ui.theme.AbstractTheme; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.ReferencePolicy; +@Component(service=Theme.class) public class DarkTheme extends AbstractTheme { public DarkTheme() { super("dark", "Dark theme", DarkTheme.class.getClassLoader().getResource("css/dark-default.css")); } + @Reference(cardinality=ReferenceCardinality.MULTIPLE,policy=ReferencePolicy.DYNAMIC) + public void registerStylesheet(Stylesheet stylesheet) { + super.registerStylesheet(stylesheet); + } + + @Reference(cardinality=ReferenceCardinality.MULTIPLE,policy=ReferencePolicy.DYNAMIC) + public void registerMultiURLStylesheet(MultiURLStylesheet stylesheet) { + super.registerMultiURLStylesheet(stylesheet); + } } diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/DefaultTheme.java b/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/DefaultTheme.java index 7e44f1c9e..dd84f3563 100644 --- a/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/DefaultTheme.java +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/DefaultTheme.java @@ -1,8 +1,13 @@ package org.eclipse.fx.code.compensator.app; +import org.eclipse.fx.ui.services.theme.MultiURLStylesheet; +import org.eclipse.fx.ui.services.theme.Stylesheet; import org.eclipse.fx.ui.services.theme.Theme; import org.eclipse.fx.ui.theme.AbstractTheme; import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.ReferencePolicy; @Component(service=Theme.class) public class DefaultTheme extends AbstractTheme { @@ -10,5 +15,14 @@ public class DefaultTheme extends AbstractTheme { public DefaultTheme() { super("default", "Default Theme", DefaultTheme.class.getClassLoader().getResource("css/default.css")); } - + + @Reference(cardinality=ReferenceCardinality.MULTIPLE,policy=ReferencePolicy.DYNAMIC) + public void registerStylesheet(Stylesheet stylesheet) { + super.registerStylesheet(stylesheet); + } + + @Reference(cardinality=ReferenceCardinality.MULTIPLE,policy=ReferencePolicy.DYNAMIC) + public void registerMultiURLStylesheet(MultiURLStylesheet stylesheet) { + super.registerMultiURLStylesheet(stylesheet); + } } diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/FadeDialogTranstionServiceImpl.java b/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/FadeDialogTranstionServiceImpl.java new file mode 100644 index 000000000..d37935278 --- /dev/null +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/FadeDialogTranstionServiceImpl.java @@ -0,0 +1,23 @@ +package org.eclipse.fx.code.compensator.app; + +import org.eclipse.fx.ui.workbench.renderers.fx.services.FadeDialogTranstionService; +import org.eclipse.fx.ui.workbench.renderers.fx.services.LightweightDialogTransitionService; +import org.osgi.service.component.annotations.Component; + +import javafx.animation.FadeTransition; +import javafx.animation.Interpolator; + +@Component +public class FadeDialogTranstionServiceImpl extends FadeDialogTranstionService implements LightweightDialogTransitionService { + @Override + protected void configureFadeIn(FadeTransition transition) { + super.configureFadeIn(transition); + transition.setInterpolator(Interpolator.EASE_OUT); + } + + @Override + protected void configureFadeOut(FadeTransition transition) { + super.configureFadeOut(transition); + transition.setInterpolator(Interpolator.EASE_OUT); + } +} diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/FlyinTransitionServiceImpl.java b/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/FlyinTransitionServiceImpl.java new file mode 100644 index 000000000..617bf5e54 --- /dev/null +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/FlyinTransitionServiceImpl.java @@ -0,0 +1,10 @@ +package org.eclipse.fx.code.compensator.app; + +import org.eclipse.fx.ui.workbench.renderers.fx.services.FlyInTransitionService; +import org.eclipse.fx.ui.workbench.renderers.fx.services.LightweightDialogTransitionService; +import org.osgi.service.component.annotations.Component; + +@Component(property={"service.ranking:Integer=1"}) +public class FlyinTransitionServiceImpl extends FlyInTransitionService implements LightweightDialogTransitionService { + +} diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/PresentationModeStylesheet.java b/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/PresentationModeStylesheet.java new file mode 100644 index 000000000..f3e3b06fd --- /dev/null +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/PresentationModeStylesheet.java @@ -0,0 +1,21 @@ +package org.eclipse.fx.code.compensator.app; + +import java.net.URL; + +import org.eclipse.fx.ui.services.theme.Stylesheet; +import org.eclipse.fx.ui.services.theme.Theme; +import org.eclipse.jdt.annotation.NonNull; + +public class PresentationModeStylesheet implements Stylesheet { + + @Override + public boolean appliesToTheme(Theme t) { + return true; + } + + @Override + public @NonNull URL getURL(Theme t) { + return getClass().getClassLoader().getResource("css/presentationMode.css"); + } + +} diff --git a/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/TogglePresentationModeHandler.java b/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/TogglePresentationModeHandler.java new file mode 100644 index 000000000..b213b6324 --- /dev/null +++ b/experimental/compensator/org.eclipse.fx.code.compensator.app/src/org/eclipse/fx/code/compensator/app/TogglePresentationModeHandler.java @@ -0,0 +1,66 @@ +package org.eclipse.fx.code.compensator.app; + +import java.net.URL; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.List; + +import org.eclipse.core.runtime.preferences.IEclipsePreferences; +import org.eclipse.e4.core.di.annotations.Execute; +import org.eclipse.e4.core.di.extensions.Preference; +import org.eclipse.fx.core.di.Service; +import org.eclipse.fx.ui.services.theme.Stylesheet; +import org.eclipse.fx.ui.services.theme.Theme; +import org.eclipse.jdt.annotation.NonNull; +import org.osgi.framework.BundleContext; +import org.osgi.framework.FrameworkUtil; +import org.osgi.framework.ServiceRegistration; +import org.osgi.service.prefs.BackingStoreException; + +public class TogglePresentationModeHandler { + static class PresentationModeStylesheet implements Stylesheet { + + @Override + public boolean appliesToTheme(Theme t) { + return true; + } + + @Override + public @NonNull URL getURL(Theme t) { + return getClass().getClassLoader().getResource("css/presentationMode.css"); + } + + } + + private static PresentationModeStylesheet STYLESHEET = new PresentationModeStylesheet(); + private static ServiceRegistration<Stylesheet> SERVICE_REG; + + @Execute + public void execute(@Service List<Theme> themes, @Preference() IEclipsePreferences preferences) { + if( ! preferences.getBoolean("presentationMode", false) && SERVICE_REG == null ) { + enablePresentationMode(); + } else { + disenablePresentationMode(); + } + + try { + preferences.putBoolean("presentationMode",preferences.getBoolean("presentationMode", false)); + preferences.flush(); + } catch (BackingStoreException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + public static void enablePresentationMode() { + BundleContext bundleContext = FrameworkUtil.getBundle(TogglePresentationModeHandler.class).getBundleContext(); + SERVICE_REG = bundleContext.registerService(Stylesheet.class, STYLESHEET, new Hashtable<>()); + } + + public static void disenablePresentationMode() { + if( SERVICE_REG != null ) { + SERVICE_REG.unregister(); + SERVICE_REG = null; + } + } +}
\ No newline at end of file |