You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by gb...@apache.org on 2010/08/08 20:00:39 UTC

svn commit: r983464 - in /pivot/trunk/wtk/src/org/apache/pivot/wtk: Component.java ComponentListener.java content/TableViewRowEditor.java skin/ComponentSkin.java

Author: gbrown
Date: Sun Aug  8 18:00:39 2010
New Revision: 983464

URL: http://svn.apache.org/viewvc?rev=983464&view=rev
Log:
Resolve PIVOT-563.

Modified:
    pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/ComponentListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewRowEditor.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ComponentSkin.java

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java?rev=983464&r1=983463&r2=983464&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java Sun Aug  8 18:00:39 2010
@@ -337,6 +337,13 @@ public abstract class Component implemen
         }
 
         @Override
+        public void tooltipDelayChanged(Component component, int previousTooltipDelay) {
+            for (ComponentListener listener : this) {
+                listener.tooltipDelayChanged(component, previousTooltipDelay);
+            }
+        }
+
+        @Override
         public void dragSourceChanged(Component component, DragSource previousDragSource) {
             for (ComponentListener listener : this) {
                 listener.dragSourceChanged(component, previousDragSource);
@@ -613,8 +620,9 @@ public abstract class Component implemen
     // The cursor that is displayed over the component
     private Cursor cursor = null;
 
-    // The tooltip text
+    // The tooltip text and delay
     private String tooltipText = null;
+    private int tooltipDelay = 1000;
 
     // The component's drag source
     private DragSource dragSource = null;
@@ -1511,7 +1519,7 @@ public abstract class Component implemen
      */
     public boolean contains(int x, int y) {
         // TODO
-        return false;
+        throw new UnsupportedOperationException();
     }
 
     /**
@@ -2246,6 +2254,31 @@ public abstract class Component implemen
     }
 
     /**
+     * Returns the component's tooltip delay.
+     *
+     * @return
+     * The tooltip delay, in milliseconds.
+     */
+    public int getTooltipDelay() {
+        return tooltipDelay;
+    }
+
+    /**
+     * Sets the component's tooltip delay.
+     *
+     * @param tooltipDelay
+     * The tooltip delay, in milliseconds.
+     */
+    public void setTooltipDelay(int tooltipDelay) {
+        int previousTooltipDelay = this.tooltipDelay;
+
+        if (previousTooltipDelay != tooltipDelay) {
+            this.tooltipDelay = tooltipDelay;
+            componentListeners.tooltipDelayChanged(this, previousTooltipDelay);
+        }
+    }
+
+    /**
      * Tells whether or not this component is fully opaque when painted.
      *
      * @return

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ComponentListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ComponentListener.java?rev=983464&r1=983463&r2=983464&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ComponentListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ComponentListener.java Sun Aug  8 18:00:39 2010
@@ -64,6 +64,10 @@ public interface ComponentListener {
         }
 
         @Override
+        public void tooltipDelayChanged(Component component, int previousTooltipDelay) {
+        }
+
+        @Override
         public void dragSourceChanged(Component component, DragSource previousDragSource) {
         }
 
@@ -161,6 +165,14 @@ public interface ComponentListener {
     public void tooltipTextChanged(Component component, String previousTooltipText);
 
     /**
+     * Called when a component's tooltip delay has changed.
+     *
+     * @param component
+     * @param previousTooltipDelay
+     */
+    public void tooltipDelayChanged(Component component, int previousTooltipDelay);
+
+    /**
      * Called when a component's drag source has changed.
      *
      * @param component

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewRowEditor.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewRowEditor.java?rev=983464&r1=983463&r2=983464&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewRowEditor.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewRowEditor.java Sun Aug  8 18:00:39 2010
@@ -527,6 +527,11 @@ public class TableViewRowEditor implemen
         }
 
         @Override
+        public void tooltipDelayChanged(Component component, int previousTooltipDelay) {
+            // No-op
+        }
+
+        @Override
         public void dragSourceChanged(Component component, DragSource previousDragSource) {
             // No-op
         }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ComponentSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ComponentSkin.java?rev=983464&r1=983463&r2=983464&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ComponentSkin.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ComponentSkin.java Sun Aug  8 18:00:39 2010
@@ -88,8 +88,6 @@ public abstract class ComponentSkin impl
     private ShowTooltipCallback showTooltipCallback = new ShowTooltipCallback();
     private ApplicationContext.ScheduledCallback scheduledShowTooltipCallback = null;
 
-    public static final int SHOW_TOOLTIP_TIMEOUT = 1000;
-
     @Override
     public int getWidth() {
         return width;
@@ -210,7 +208,10 @@ public abstract class ComponentSkin impl
 
     @Override
     public void tooltipTextChanged(Component component, String previousTooltipText) {
-        // TODO Handle change here instead of in ShowTooltipCallback?
+    }
+
+    @Override
+    public void tooltipDelayChanged(Component component, int previousTooltipDelay) {
     }
 
     @Override
@@ -254,7 +255,7 @@ public abstract class ComponentSkin impl
 
         if (getComponent().getTooltipText() != null) {
             scheduledShowTooltipCallback =
-                ApplicationContext.scheduleCallback(showTooltipCallback, SHOW_TOOLTIP_TIMEOUT);
+                ApplicationContext.scheduleCallback(showTooltipCallback, component.getTooltipDelay());
         }
 
         return false;