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/06 15:56:53 UTC

svn commit: r982965 - in /pivot/trunk: tests/src/org/apache/pivot/tests/ wtk-terra/src/org/apache/pivot/wtk/skin/terra/ wtk/src/org/apache/pivot/wtk/

Author: gbrown
Date: Fri Aug  6 13:56:53 2010
New Revision: 982965

URL: http://svn.apache.org/viewvc?rev=982965&view=rev
Log:
Minor updates to Accordion and skin; add a tooltipText static property to Accordion.


Modified:
    pivot/trunk/tests/src/org/apache/pivot/tests/accordion_test.bxml
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraAccordionSkin.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/Accordion.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/AccordionAttributeListener.java

Modified: pivot/trunk/tests/src/org/apache/pivot/tests/accordion_test.bxml
URL: http://svn.apache.org/viewvc/pivot/trunk/tests/src/org/apache/pivot/tests/accordion_test.bxml?rev=982965&r1=982964&r2=982965&view=diff
==============================================================================
--- pivot/trunk/tests/src/org/apache/pivot/tests/accordion_test.bxml (original)
+++ pivot/trunk/tests/src/org/apache/pivot/tests/accordion_test.bxml Fri Aug  6 13:56:53 2010
@@ -30,7 +30,7 @@ limitations under the License.
                 <content:ButtonData text="A" icon="@anchor.png"/>
             </Accordion.headerData>
         </Label>
-        <Label Accordion.headerData="B" text="World"/>
+        <Label Accordion.headerData="B" Accordion.tooltipText="12345" text="World"/>
         <Label Accordion.headerData="C" text="From" enabled="false"/>
         <Label Accordion.headerData="D" text="Pivot"/>
     </Accordion>

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraAccordionSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraAccordionSkin.java?rev=982965&r1=982964&r2=982965&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraAccordionSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraAccordionSkin.java Fri Aug  6 13:56:53 2010
@@ -63,6 +63,26 @@ public class TerraAccordionSkin extends 
         }
 
         @Override
+        public Object getButtonData() {
+            return Accordion.getHeaderData((Component)super.getButtonData());
+        }
+
+        @Override
+        public void setButtonData(Object buttonData) {
+            throw new UnsupportedOperationException();
+        }
+
+        @Override
+        public String getTooltipText() {
+            return Accordion.getTooltipText((Component)super.getButtonData());
+        }
+
+        @Override
+        public void setTooltipText(String tooltipText) {
+            throw new UnsupportedOperationException();
+        }
+
+        @Override
         public void setToggleButton(boolean toggleButton) {
             throw new UnsupportedOperationException();
         }
@@ -86,8 +106,7 @@ public class TerraAccordionSkin extends 
 
             Accordion accordion = (Accordion)TerraAccordionSkin.this.getComponent();
             Button.DataRenderer headerDataRenderer = accordion.getHeaderDataRenderer();
-            headerDataRenderer.render(Accordion.getHeaderData((Component)panelHeader.getButtonData()),
-                panelHeader, false);
+            headerDataRenderer.render(panelHeader.getButtonData(), panelHeader, false);
 
             int preferredWidth = headerDataRenderer.getPreferredWidth(-1)
                 + buttonPadding.left + buttonPadding.right + 2;
@@ -101,8 +120,7 @@ public class TerraAccordionSkin extends 
 
             Accordion accordion = (Accordion)TerraAccordionSkin.this.getComponent();
             Button.DataRenderer headerDataRenderer = accordion.getHeaderDataRenderer();
-            headerDataRenderer.render(Accordion.getHeaderData((Component)panelHeader.getButtonData()),
-                panelHeader, false);
+            headerDataRenderer.render(panelHeader.getButtonData(), panelHeader, false);
 
             // Include padding and border in constraint
             int contentWidth = width;
@@ -123,8 +141,7 @@ public class TerraAccordionSkin extends 
 
             Accordion accordion = (Accordion)TerraAccordionSkin.this.getComponent();
             Button.DataRenderer headerDataRenderer = accordion.getHeaderDataRenderer();
-            headerDataRenderer.render(Accordion.getHeaderData((Component)panelHeader.getButtonData()),
-                panelHeader, false);
+            headerDataRenderer.render(panelHeader.getButtonData(), panelHeader, false);
 
             Dimensions preferredContentSize = headerDataRenderer.getPreferredSize();
 
@@ -143,8 +160,7 @@ public class TerraAccordionSkin extends 
 
             Accordion accordion = (Accordion)TerraAccordionSkin.this.getComponent();
             Button.DataRenderer headerDataRenderer = accordion.getHeaderDataRenderer();
-            headerDataRenderer.render(Accordion.getHeaderData((Component)panelHeader.getButtonData()),
-                panelHeader, false);
+            headerDataRenderer.render(panelHeader.getButtonData(), panelHeader, false);
 
             int clientWidth = Math.max(width - (buttonPadding.left + buttonPadding.right + 2), 0);
             int clientHeight = Math.max(height - (buttonPadding.top + buttonPadding.bottom + 2), 0);
@@ -177,8 +193,7 @@ public class TerraAccordionSkin extends 
             // Paint the content
             Accordion accordion = (Accordion)TerraAccordionSkin.this.getComponent();
             Button.DataRenderer headerDataRenderer = accordion.getHeaderDataRenderer();
-            headerDataRenderer.render(Accordion.getHeaderData((Component)panelHeader.getButtonData()),
-                panelHeader, highlighted);
+            headerDataRenderer.render(panelHeader.getButtonData(), panelHeader, false);
             headerDataRenderer.setSize(Math.max(width - (buttonPadding.left + buttonPadding.right + 2), 0),
                 Math.max(getHeight() - (buttonPadding.top + buttonPadding.bottom + 2), 0));
 
@@ -892,4 +907,9 @@ public class TerraAccordionSkin extends 
     public void headerDataChanged(Accordion accordion, Component component, Object previousHeaderData) {
         invalidateComponent();
     }
+
+    @Override
+    public void tooltipTextChanged(Accordion accordion, Component component, String previousTooltipText) {
+        // No-op
+    }
 }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Accordion.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Accordion.java?rev=982965&r1=982964&r2=982965&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Accordion.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Accordion.java Fri Aug  6 13:56:53 2010
@@ -127,7 +127,8 @@ public class Accordion extends Container
     }
 
     private enum Attribute {
-        HEADER_DATA;
+        HEADER_DATA,
+        TOOLTIP_TEXT;
     }
 
     private static class AccordionListenerList extends ListenerList<AccordionListener>
@@ -190,6 +191,13 @@ public class Accordion extends Container
                 listener.headerDataChanged(accordion, component, previousHeaderData);
             }
         }
+
+        @Override
+        public void tooltipTextChanged(Accordion accordion, Component component, String previousTooltipText) {
+            for (AccordionAttributeListener listener : this) {
+                listener.tooltipTextChanged(accordion, component, previousTooltipText);
+            }
+        }
     }
 
     private int selectedIndex = -1;
@@ -287,7 +295,7 @@ public class Accordion extends Container
     }
 
     public static void setHeaderData(Component component, Object headerData) {
-        String previousHeaderData = (String)component.setAttribute(Attribute.HEADER_DATA, headerData);
+        Object previousHeaderData = component.setAttribute(Attribute.HEADER_DATA, headerData);
 
         if (previousHeaderData != headerData) {
             Container parent = component.getParent();
@@ -299,4 +307,22 @@ public class Accordion extends Container
             }
         }
     }
+
+    public static String getTooltipText(Component component) {
+        return (String)component.getAttribute(Attribute.TOOLTIP_TEXT);
+    }
+
+    public static void setTooltipText(Component component, String tooltipText) {
+        String previousTooltipText = (String)component.setAttribute(Attribute.TOOLTIP_TEXT, tooltipText);
+
+        if (previousTooltipText != tooltipText) {
+            Container parent = component.getParent();
+
+            if (parent instanceof Accordion) {
+                Accordion accordion = (Accordion)parent;
+                accordion.accordionAttributeListeners.tooltipTextChanged(accordion, component,
+                    previousTooltipText);
+            }
+        }
+    }
 }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/AccordionAttributeListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/AccordionAttributeListener.java?rev=982965&r1=982964&r2=982965&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/AccordionAttributeListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/AccordionAttributeListener.java Fri Aug  6 13:56:53 2010
@@ -27,6 +27,10 @@ public interface AccordionAttributeListe
         @Override
         public void headerDataChanged(Accordion accordion, Component component, Object previousHeaderData) {
         }
+
+        @Override
+        public void tooltipTextChanged(Accordion accordion, Component component, String previousTooltipText) {
+        }
     }
 
     /**
@@ -37,4 +41,13 @@ public interface AccordionAttributeListe
      * @param previousHeaderData
      */
     public void headerDataChanged(Accordion accordion, Component component, Object previousHeaderData);
+
+    /**
+     * Called when a panel's tooltip text has changed.
+     *
+     * @param accordion
+     * @param component
+     * @param previousTooltipText
+     */
+    public void tooltipTextChanged(Accordion accordion, Component component, String previousTooltipText);
 }