From 0216e435a21753dddccfd3e31b2a487994dca53f Mon Sep 17 00:00:00 2001 From: Tobisaninfo <thinkdifferent055@gmail.com> Date: Wed, 24 Aug 2016 23:03:33 +0200 Subject: [PATCH] Add touch events to TouchMode --- PlayWall/.classpath | 37 ++++++++++--------- .../src/de/tobias/playpad/PlayPadMain.java | 3 +- .../playpad/layout/touch/TouchPadView.java | 12 +++++- .../layout/touch/TouchPadViewController.java | 15 ++++++-- .../awakeplugin/impl/AwakePluginImpl.java | 2 +- 5 files changed, 44 insertions(+), 25 deletions(-) diff --git a/PlayWall/.classpath b/PlayWall/.classpath index d6c36775..37d7d014 100644 --- a/PlayWall/.classpath +++ b/PlayWall/.classpath @@ -1,18 +1,19 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry excluding="**/.DS_Store|**/.gitignore|icon.icns|icon.ico|de/tobias/playpad/viewcontroller/main/MainMenuBarController.java|de/tobias/playpad/viewcontroller/main/MainToolbarController.java|de/tobias/playpad/viewcontroller/main/MainViewController.java|de/tobias/playpad/viewcontroller/pad/PadViewController.java|de/tobias/playpad/view/PadView.java" kind="src" path="src"/> - <classpathentry excluding="**/.gitignor|de/tobias/playpad/assets/files/dialogDnD.pxm" kind="src" path="assets"/> - <classpathentry kind="src" path="test"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/ControlFx"/> - <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/XML"/> - <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/YML"/> - <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/HTML Builder"/> - <classpathentry combineaccessrules="false" kind="src" path="/libUtils"/> - <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Plugins"/> - <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/TinySound"/> - <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/JLayer"/> - <classpathentry combineaccessrules="false" kind="src" path="/PlayWallCore"/> - <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/> - <classpathentry kind="output" path="bin"/> -</classpath> +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry excluding="**/.DS_Store|**/.gitignore|icon.icns|icon.ico|de/tobias/playpad/viewcontroller/main/MainMenuBarController.java|de/tobias/playpad/viewcontroller/main/MainToolbarController.java|de/tobias/playpad/viewcontroller/main/MainViewController.java|de/tobias/playpad/viewcontroller/pad/PadViewController.java|de/tobias/playpad/view/PadView.java" kind="src" path="src"/> + <classpathentry excluding="**/.gitignor|de/tobias/playpad/assets/files/dialogDnD.pxm" kind="src" path="assets"/> + <classpathentry kind="src" path="test"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/ControlFx"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/XML"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/YML"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/HTML Builder"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/JNA"/> + <classpathentry combineaccessrules="false" kind="src" path="/libUtils"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Plugins"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/TinySound"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/JLayer"/> + <classpathentry combineaccessrules="false" kind="src" path="/PlayWallCore"/> + <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/PlayWall/src/de/tobias/playpad/PlayPadMain.java b/PlayWall/src/de/tobias/playpad/PlayPadMain.java index cdf17287..94eb0f52 100644 --- a/PlayWall/src/de/tobias/playpad/PlayPadMain.java +++ b/PlayWall/src/de/tobias/playpad/PlayPadMain.java @@ -29,6 +29,7 @@ import de.tobias.utils.util.Localization.LocalizationDelegate; import de.tobias.utils.util.OS; import de.tobias.utils.util.OS.OSType; import de.tobias.utils.util.Worker; +import de.tobias.utils.util.win.User32X; import javafx.application.Application; import javafx.application.Platform; import javafx.scene.control.ButtonType; @@ -60,7 +61,7 @@ public class PlayPadMain extends Application implements LocalizationDelegate { private static PlayPadImpl impl; private static PlayPadUpdater updater; - + public static ResourceBundle getUiResourceBundle() { return uiResourceBundle; } diff --git a/PlayWall/src/de/tobias/playpad/layout/touch/TouchPadView.java b/PlayWall/src/de/tobias/playpad/layout/touch/TouchPadView.java index f99a12de..068de5a1 100644 --- a/PlayWall/src/de/tobias/playpad/layout/touch/TouchPadView.java +++ b/PlayWall/src/de/tobias/playpad/layout/touch/TouchPadView.java @@ -1,5 +1,6 @@ package de.tobias.playpad.layout.touch; +import de.tobias.playpad.PlayPadMain; import de.tobias.playpad.PlayPadPlugin; import de.tobias.playpad.PseudoClasses; import de.tobias.playpad.pad.Pad; @@ -13,6 +14,8 @@ import de.tobias.playpad.view.EmptyPadView; import de.tobias.utils.ui.icon.FontAwesomeType; import de.tobias.utils.ui.icon.FontIcon; import de.tobias.utils.ui.scene.BusyView; +import de.tobias.utils.util.OS; +import de.tobias.utils.util.win.User32X; import javafx.beans.property.Property; import javafx.css.PseudoClass; import javafx.geometry.Pos; @@ -86,8 +89,13 @@ public class TouchPadView implements IPadViewV2 { root.getChildren().addAll(infoBox, preview, playBar); superRoot.getChildren().addAll(root); - superRoot.setOnMouseClicked(controller); - playBar.setOnMouseClicked(controller); + if (OS.isWindows() && User32X.isTouchAvailable()) { + superRoot.setOnTouchPressed(controller); + playBar.setOnTouchPressed(controller); + } else { + superRoot.setOnMouseClicked(controller); + playBar.setOnMouseClicked(controller); + } } @Override diff --git a/PlayWall/src/de/tobias/playpad/layout/touch/TouchPadViewController.java b/PlayWall/src/de/tobias/playpad/layout/touch/TouchPadViewController.java index 0e93545f..ff8e4684 100644 --- a/PlayWall/src/de/tobias/playpad/layout/touch/TouchPadViewController.java +++ b/PlayWall/src/de/tobias/playpad/layout/touch/TouchPadViewController.java @@ -20,6 +20,7 @@ import javafx.event.Event; import javafx.event.EventHandler; import javafx.scene.input.MouseButton; import javafx.scene.input.MouseEvent; +import javafx.scene.input.TouchEvent; import javafx.util.Duration; public class TouchPadViewController implements IPadViewControllerV2, EventHandler<Event> { @@ -47,7 +48,8 @@ public class TouchPadViewController implements IPadViewControllerV2, EventHandle padDurationListener = new PadDurationListener(this); padPositionListener = new PadPositionListener(this); - // Listener muss nur einmal hier hinzugefügt werden, weil bei einem neuen Profile, werden neue PadViewController + // Listener muss nur einmal hier hinzugefügt werden, weil bei einem + // neuen Profile, werden neue PadViewController // erzeugt ProfileSettings profileSettings = Profile.currentProfile().getProfileSettings(); profileSettings.lockedProperty().addListener(padLockedListener); @@ -85,7 +87,9 @@ public class TouchPadViewController implements IPadViewControllerV2, EventHandle pad.statusProperty().addListener(padStatusListener); // First Listener call with new data - padContentListener.changed(null, null, pad.getContent()); // Add Duration listener + padContentListener.changed(null, null, pad.getContent()); // Add + // Duration + // listener padStatusListener.changed(null, null, pad.getStatus()); padDragListener = new PadDragListener(pad, padView); @@ -142,7 +146,12 @@ public class TouchPadViewController implements IPadViewControllerV2, EventHandle } } } - + } else if (event instanceof TouchEvent) { + if (pad.getStatus() == PadStatus.PLAY) { + onStop(); + } else { + onPlay(); + } } } diff --git a/PlayWallPlugins/awakeplugin/de/tobias/playpad/awakeplugin/impl/AwakePluginImpl.java b/PlayWallPlugins/awakeplugin/de/tobias/playpad/awakeplugin/impl/AwakePluginImpl.java index 7d6d1646..ead13c66 100644 --- a/PlayWallPlugins/awakeplugin/de/tobias/playpad/awakeplugin/impl/AwakePluginImpl.java +++ b/PlayWallPlugins/awakeplugin/de/tobias/playpad/awakeplugin/impl/AwakePluginImpl.java @@ -25,10 +25,10 @@ import de.tobias.utils.ui.icon.FontAwesomeType; import de.tobias.utils.ui.icon.FontIcon; import de.tobias.utils.util.AwakeUtils; import de.tobias.utils.util.IOUtils; -import de.tobias.utils.util.Kernel32; import de.tobias.utils.util.Localization; import de.tobias.utils.util.OS; import de.tobias.utils.util.OS.OSType; +import de.tobias.utils.util.win.Kernel32; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.control.CheckMenuItem; -- GitLab