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 2009/05/11 15:40:13 UTC

svn commit: r773558 - in /incubator/pivot/trunk/wtk/src/pivot/wtk: effects/FadeTransition.java skin/terra/FadeWindowTransition.java skin/terra/TerraCalendarButtonSkin.java skin/terra/TerraListButtonSkin.java skin/terra/TerraMenuPopupSkin.java

Author: gbrown
Date: Mon May 11 13:40:12 2009
New Revision: 773558

URL: http://svn.apache.org/viewvc?rev=773558&view=rev
Log:
Resolve PIVOT-65 and PIVOT-90.

Added:
    incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/FadeWindowTransition.java
Modified:
    incubator/pivot/trunk/wtk/src/pivot/wtk/effects/FadeTransition.java
    incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraCalendarButtonSkin.java
    incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraListButtonSkin.java
    incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraMenuPopupSkin.java

Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/effects/FadeTransition.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/effects/FadeTransition.java?rev=773558&r1=773557&r2=773558&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/effects/FadeTransition.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/effects/FadeTransition.java Mon May 11 13:40:12 2009
@@ -32,6 +32,10 @@
         this.component = component;
     }
 
+    public Component getComponent() {
+        return component;
+    }
+
     @Override
     public void start(TransitionListener transitionListener) {
         component.getDecorators().add(fadeDecorator);

Added: incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/FadeWindowTransition.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/FadeWindowTransition.java?rev=773558&view=auto
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/FadeWindowTransition.java (added)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/FadeWindowTransition.java Mon May 11 13:40:12 2009
@@ -0,0 +1,29 @@
+package pivot.wtk.skin.terra;
+
+import pivot.wtk.Component;
+import pivot.wtk.Container;
+import pivot.wtk.effects.DropShadowDecorator;
+import pivot.wtk.effects.FadeTransition;
+
+public class FadeWindowTransition extends FadeTransition {
+    private DropShadowDecorator dropShadowDecorator;
+
+    public FadeWindowTransition(Component component, int duration, int rate,
+        DropShadowDecorator dropShadowDecorator) {
+        super(component, duration, rate);
+
+        this.dropShadowDecorator = dropShadowDecorator;
+    }
+
+    @Override
+    protected void update() {
+        super.update();
+        dropShadowDecorator.setShadowOpacity(1.0f - getPercentComplete());
+
+        Component component = getComponent();
+        Container parent = component.getParent();
+        if (parent != null) {
+            parent.repaint(component.getDecoratedBounds());
+        }
+    }
+}

Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraCalendarButtonSkin.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraCalendarButtonSkin.java?rev=773558&r1=773557&r2=773558&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraCalendarButtonSkin.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraCalendarButtonSkin.java Mon May 11 13:40:12 2009
@@ -38,7 +38,7 @@
 import pivot.wtk.Theme;
 import pivot.wtk.Window;
 import pivot.wtk.WindowStateListener;
-import pivot.wtk.effects.FadeTransition;
+import pivot.wtk.effects.DropShadowDecorator;
 import pivot.wtk.effects.Transition;
 import pivot.wtk.effects.TransitionListener;
 import pivot.wtk.skin.CalendarButtonSkin;
@@ -51,8 +51,6 @@
  * @author gbrown
  */
 public class TerraCalendarButtonSkin extends CalendarButtonSkin {
-    private Border calendarBorder;
-
     private WindowStateListener calendarPopupStateListener = new WindowStateListener() {
         private boolean focusButtonOnClose = true;
 
@@ -72,8 +70,9 @@
             Vote vote = Vote.APPROVE;
 
             if (closeTransition == null) {
-                closeTransition = new FadeTransition(window,
-                    CLOSE_TRANSITION_DURATION, CLOSE_TRANSITION_RATE);
+                closeTransition = new FadeWindowTransition(window,
+                    CLOSE_TRANSITION_DURATION, CLOSE_TRANSITION_RATE,
+                    dropShadowDecorator);
 
                 closeTransition.start(new TransitionListener() {
                     public void transitionCompleted(Transition transition) {
@@ -109,6 +108,8 @@
         }
     };
 
+    private Border calendarBorder;
+
     private Font font;
     private Color color;
     private Color disabledColor;
@@ -124,6 +125,7 @@
     private Color disabledBevelColor;
 
     private Transition closeTransition = null;
+    private DropShadowDecorator dropShadowDecorator = null;
 
     private static final int TRIGGER_WIDTH = 14;
 
@@ -156,6 +158,10 @@
 
         // Set the popup content
         calendarPopup.setContent(calendarBorder);
+
+        // Attach the drop-shadow decorator
+        dropShadowDecorator = new DropShadowDecorator(3, 3, 3);
+        calendarPopup.getDecorators().add(dropShadowDecorator);
     }
 
     public int getPreferredWidth(int height) {

Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraListButtonSkin.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraListButtonSkin.java?rev=773558&r1=773557&r2=773558&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraListButtonSkin.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraListButtonSkin.java Mon May 11 13:40:12 2009
@@ -41,7 +41,7 @@
 import pivot.wtk.Theme;
 import pivot.wtk.Window;
 import pivot.wtk.WindowStateListener;
-import pivot.wtk.effects.FadeTransition;
+import pivot.wtk.effects.DropShadowDecorator;
 import pivot.wtk.effects.Transition;
 import pivot.wtk.effects.TransitionListener;
 import pivot.wtk.skin.ListButtonSkin;
@@ -52,9 +52,6 @@
  * @author gbrown
  */
 public class TerraListButtonSkin extends ListButtonSkin {
-    private Panorama listViewPanorama;
-    private Border listViewBorder;
-
     private WindowStateListener listViewPopupStateListener = new WindowStateListener() {
         private boolean focusButtonOnClose = true;
 
@@ -74,8 +71,9 @@
             Vote vote = Vote.APPROVE;
 
             if (closeTransition == null) {
-                closeTransition = new FadeTransition(window,
-                    CLOSE_TRANSITION_DURATION, CLOSE_TRANSITION_RATE);
+                closeTransition = new FadeWindowTransition(window,
+                    CLOSE_TRANSITION_DURATION, CLOSE_TRANSITION_RATE,
+                    dropShadowDecorator);
 
                 closeTransition.start(new TransitionListener() {
                     public void transitionCompleted(Transition transition) {
@@ -111,6 +109,9 @@
         }
     };
 
+    private Panorama listViewPanorama;
+    private Border listViewBorder;
+
     private Font font;
     private Color color;
     private Color disabledColor;
@@ -127,6 +128,7 @@
     private Color disabledBevelColor;
 
     private Transition closeTransition = null;
+    private DropShadowDecorator dropShadowDecorator = null;
 
     private static final int TRIGGER_WIDTH = 14;
 
@@ -164,6 +166,10 @@
 
         // Set the popup content
         listViewPopup.setContent(listViewBorder);
+
+        // Attach the drop-shadow decorator
+        dropShadowDecorator = new DropShadowDecorator(3, 3, 3);
+        listViewPopup.getDecorators().add(dropShadowDecorator);
     }
 
     public int getPreferredWidth(int height) {

Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraMenuPopupSkin.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraMenuPopupSkin.java?rev=773558&r1=773557&r2=773558&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraMenuPopupSkin.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/skin/terra/TerraMenuPopupSkin.java Mon May 11 13:40:12 2009
@@ -35,7 +35,6 @@
 import pivot.wtk.Theme;
 import pivot.wtk.Window;
 import pivot.wtk.effects.DropShadowDecorator;
-import pivot.wtk.effects.FadeTransition;
 import pivot.wtk.effects.Transition;
 import pivot.wtk.effects.TransitionListener;
 import pivot.wtk.skin.WindowSkin;
@@ -92,8 +91,9 @@
         public void itemSelected(Menu.Item item) {
             final MenuPopup menuPopup = (MenuPopup)getComponent();
 
-            closeTransition = new FadeTransition(menuPopup,
-                CLOSE_TRANSITION_DURATION, CLOSE_TRANSITION_RATE);
+            closeTransition = new FadeWindowTransition(menuPopup,
+                CLOSE_TRANSITION_DURATION, CLOSE_TRANSITION_RATE,
+                dropShadowDecorator);
 
             closeTransition.start(new TransitionListener() {
                 public void transitionCompleted(Transition transition) {