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) {