Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Caks2016-08-25 11:43:42 +0000
committerChristoph Caks2016-08-25 13:27:15 +0000
commit7da06203c15df3e4af88f7851d9310a39e3ee924 (patch)
treedf8442480833ab7880f18e1d930f94d4f7b2d536
parentcb607f1bd5bd04bd762c8b5970709eee435cdfb0 (diff)
downloadorg.eclipse.efxclipse-7da06203c15df3e4af88f7851d9310a39e3ee924.tar.gz
org.eclipse.efxclipse-7da06203c15df3e4af88f7851d9310a39e3ee924.tar.xz
org.eclipse.efxclipse-7da06203c15df3e4af88f7851d9310a39e3ee924.zip
refs #5: fixed hover window for windows
-rw-r--r--bundles/code/org.eclipse.fx.text.ui/src/org/eclipse/fx/text/ui/hover/internal/DefaultHoverWindowPresenter.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/bundles/code/org.eclipse.fx.text.ui/src/org/eclipse/fx/text/ui/hover/internal/DefaultHoverWindowPresenter.java b/bundles/code/org.eclipse.fx.text.ui/src/org/eclipse/fx/text/ui/hover/internal/DefaultHoverWindowPresenter.java
index c2f147c20..8db409b2a 100644
--- a/bundles/code/org.eclipse.fx.text.ui/src/org/eclipse/fx/text/ui/hover/internal/DefaultHoverWindowPresenter.java
+++ b/bundles/code/org.eclipse.fx.text.ui/src/org/eclipse/fx/text/ui/hover/internal/DefaultHoverWindowPresenter.java
@@ -39,11 +39,14 @@ public class DefaultHoverWindowPresenter implements HoverWindowPresenter {
private final VBox root;
private List<HoverInfo> currentVisible;
+
+ private boolean preventHide = false;
private AtomicReference<Boolean> currentScheduledHide = new AtomicReference<>(true);
private void scheduleHide(long delay) {
this.currentScheduledHide.set(true);
Timeline t = new Timeline(new KeyFrame(Duration.millis(delay), (a) -> {
+ if (preventHide) return;
if (this.currentScheduledHide.get()) {
DefaultHoverWindowPresenter.this.popup.hide();
}
@@ -82,11 +85,16 @@ public class DefaultHoverWindowPresenter implements HoverWindowPresenter {
this.root.setOnMouseEntered(this::onMouseEntered);
+ this.root.setOnMouseExited(this::onMouseExited);
}
private void onMouseEntered(MouseEvent event) {
cancelScheduledHide();
+ preventHide = true;
+ }
+ private void onMouseExited(MouseEvent event) {
+ preventHide = false;
}
private void onShowing(WindowEvent event) {
@@ -211,7 +219,7 @@ public class DefaultHoverWindowPresenter implements HoverWindowPresenter {
@Override
public void hide() {
- scheduleHide(500);
+ scheduleHide(300);
}
public void setHoverPresenter(List<HoverPresenter> hoverPresenters) {

Back to the top