You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by sm...@apache.org on 2014/07/31 15:20:13 UTC

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

Author: smartini
Date: Thu Jul 31 13:20:13 2014
New Revision: 1614881

URL: http://svn.apache.org/r1614881
Log:
PIVOT-955, changes to the Theme and in default skin configuration file (all others need to be updated too), and implement in some components (more later).
At the moment this is a work-in-progress (wip), but to see the new behavior simply negate che check inside the ComponentSkin themeIsFlat() method.

Modified:
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/FadeWindowTransition.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraAccordionSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraCheckboxSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraMenuButtonSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraMenuPopupSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraPushButtonSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraRadioButtonSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTheme.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTheme_default.json
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTooltipSkin.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/Theme.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/BorderSkin.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ComponentSkin.java

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/FadeWindowTransition.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/FadeWindowTransition.java?rev=1614881&r1=1614880&r2=1614881&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/FadeWindowTransition.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/FadeWindowTransition.java Thu Jul 31 13:20:13 2014
@@ -33,13 +33,18 @@ public class FadeWindowTransition extend
         super(component, duration, rate);
 
         this.dropShadowDecorator = dropShadowDecorator;
-        initialShadowOpacity = dropShadowDecorator.getShadowOpacity();
+        if (dropShadowDecorator != null) {
+            initialShadowOpacity = dropShadowDecorator.getShadowOpacity();
+        }
     }
 
     @Override
     protected void update() {
         super.update();
-        dropShadowDecorator.setShadowOpacity(initialShadowOpacity * (1.0f - getPercentComplete()));
+
+        if (dropShadowDecorator != null) {
+            dropShadowDecorator.setShadowOpacity(initialShadowOpacity * (1.0f - getPercentComplete()));
+        }
 
         Component component = getComponent();
         Container parent = component.getParent();

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=1614881&r1=1614880&r2=1614881&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 Thu Jul 31 13:20:13 2014
@@ -193,13 +193,19 @@ public class TerraAccordionSkin extends 
             int height = getHeight();
 
             // Paint the background
-            graphics.setPaint(new GradientPaint(width / 2f, 0, buttonBevelColor, width / 2f,
-                height, buttonBackgroundColor));
+            if (!themeIsFlat()) {
+                graphics.setPaint(new GradientPaint(width / 2f, 0, buttonBevelColor, width / 2f,
+                    height, buttonBackgroundColor));
+            } else {
+                graphics.setPaint(buttonBackgroundColor);
+            }
             graphics.fillRect(0, 0, width, height);
 
             // Paint the border
-            graphics.setPaint(borderColor);
-            GraphicsUtilities.drawRect(graphics, 0, 0, width, height);
+            if (!themeIsFlat()) {
+                graphics.setPaint(borderColor);
+                GraphicsUtilities.drawRect(graphics, 0, 0, width, height);
+            }
 
             // Paint the content
             Button.DataRenderer dataRenderer = panelHeader.getDataRenderer();
@@ -545,8 +551,10 @@ public class TerraAccordionSkin extends 
         int width = getWidth();
         int height = getHeight();
 
-        graphics.setPaint(borderColor);
-        GraphicsUtilities.drawRect(graphics, 0, 0, width, height);
+        if (!themeIsFlat()) {
+            graphics.setPaint(borderColor);
+            GraphicsUtilities.drawRect(graphics, 0, 0, width, height);
+        }
     }
 
     public Color getBorderColor() {

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraCheckboxSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraCheckboxSkin.java?rev=1614881&r1=1614880&r2=1614881&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraCheckboxSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraCheckboxSkin.java Thu Jul 31 13:20:13 2014
@@ -195,8 +195,13 @@ public class TerraCheckboxSkin extends C
         Color buttonSelectionColorLocal;
 
         if (enabled) {
-            buttonPaint = new GradientPaint(CHECKBOX_SIZE / 2, 0, TerraTheme.darken(buttonColor),
-                CHECKBOX_SIZE / 2, CHECKBOX_SIZE, buttonColor);
+            if (!themeIsFlat()) {
+                buttonPaint = new GradientPaint(CHECKBOX_SIZE / 2, 0, TerraTheme.darken(buttonColor),
+                    CHECKBOX_SIZE / 2, CHECKBOX_SIZE, buttonColor);
+            } else {
+                buttonPaint = currentTheme().getColor(10);
+            }
+
             buttonBorderColorLocal = this.buttonBorderColor;
             buttonSelectionColorLocal = this.buttonSelectionColor;
         } else {
@@ -210,8 +215,10 @@ public class TerraCheckboxSkin extends C
         graphics.fillRect(0, 0, CHECKBOX_SIZE, CHECKBOX_SIZE);
 
         // Paint the border
-        graphics.setPaint(buttonBorderColorLocal);
-        GraphicsUtilities.drawRect(graphics, 0, 0, CHECKBOX_SIZE, CHECKBOX_SIZE);
+        if (!themeIsFlat()) {
+            graphics.setPaint(buttonBorderColorLocal);
+            GraphicsUtilities.drawRect(graphics, 0, 0, CHECKBOX_SIZE, CHECKBOX_SIZE);
+        }
 
         // Paint the checkmark
         graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java?rev=1614881&r1=1614880&r2=1614881&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java Thu Jul 31 13:20:13 2014
@@ -208,18 +208,20 @@ public class TerraListButtonSkin extends
         listViewPanorama = new Panorama(listView);
         listViewPanorama.getStyles().put("buttonBackgroundColor",
             listView.getStyles().get("backgroundColor"));
-        listViewPanorama.getStyles().put("alwaysShowScrollButtons", true);
+        listViewPanorama.getStyles().put("alwaysShowScrollButtons", new Boolean(true));
 
         listViewBorder = new Border(listViewPanorama);
-        listViewBorder.getStyles().put("padding", 0);
+        listViewBorder.getStyles().put("padding", new Integer(0));
         listViewBorder.getStyles().put("color", borderColor);
 
         // Set the popup content
         listViewPopup.setContent(listViewBorder);
 
         // Attach the drop-shadow decorator
-        dropShadowDecorator = new DropShadowDecorator(3, 3, 3);
-        listViewPopup.getDecorators().add(dropShadowDecorator);
+        if (!themeIsFlat()) {
+            dropShadowDecorator = new DropShadowDecorator(3, 3, 3);
+            listViewPopup.getDecorators().add(dropShadowDecorator);
+        }
     }
 
     @Override
@@ -336,8 +338,12 @@ public class TerraListButtonSkin extends
         graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
             RenderingHints.VALUE_ANTIALIAS_ON);
 
-        graphics.setPaint(new GradientPaint(width / 2f, 0, bevelColorLocal, width / 2f,
-            height / 2f, backgroundColorLocal));
+        if (!themeIsFlat()) {
+            graphics.setPaint(new GradientPaint(width / 2f, 0, bevelColorLocal, width / 2f,
+                height / 2f, backgroundColorLocal));
+        } else {
+            graphics.setPaint(backgroundColorLocal);
+        }
         graphics.fill(new RoundRectangle2D.Double(0.5, 0.5, width - 1, height - 1, CORNER_RADIUS,
             CORNER_RADIUS));
 
@@ -363,12 +369,14 @@ public class TerraListButtonSkin extends
             RenderingHints.VALUE_ANTIALIAS_ON);
 
         // Paint the border
-        graphics.setPaint(borderColorLocal);
-        graphics.setStroke(new BasicStroke(1));
-        graphics.draw(new RoundRectangle2D.Double(0.5, 0.5, width - 1, height - 1, CORNER_RADIUS,
-            CORNER_RADIUS));
-        graphics.draw(new Line2D.Double(contentBounds.x + contentBounds.width, 0.5, contentBounds.x
-            + contentBounds.width, contentBounds.height));
+        if (!themeIsFlat()) {
+            graphics.setPaint(borderColorLocal);
+            graphics.setStroke(new BasicStroke(1));
+            graphics.draw(new RoundRectangle2D.Double(0.5, 0.5, width - 1, height - 1, CORNER_RADIUS,
+                CORNER_RADIUS));
+            graphics.draw(new Line2D.Double(contentBounds.x + contentBounds.width, 0.5, contentBounds.x
+                + contentBounds.width, contentBounds.height));
+        }
 
         // Paint the focus state
         if (listButton.isFocused()) {

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraMenuButtonSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraMenuButtonSkin.java?rev=1614881&r1=1614880&r2=1614881&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraMenuButtonSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraMenuButtonSkin.java Thu Jul 31 13:20:13 2014
@@ -263,8 +263,12 @@ public class TerraMenuButtonSkin extends
             RenderingHints.VALUE_ANTIALIAS_ON);
 
         if (backgroundColorLocal != null && bevelColorLocal != null) {
-            graphics.setPaint(new GradientPaint(width / 2f, 0, bevelColorLocal, width / 2f,
-                height / 2f, backgroundColorLocal));
+            if (!themeIsFlat()) {
+                graphics.setPaint(new GradientPaint(width / 2f, 0, bevelColorLocal, width / 2f,
+                    height / 2f, backgroundColorLocal));
+            } else {
+                graphics.setPaint(backgroundColorLocal);
+            }
             graphics.fill(new RoundRectangle2D.Double(0.5, 0.5, width - 1, height - 1,
                 CORNER_RADIUS, CORNER_RADIUS));
         }
@@ -290,7 +294,7 @@ public class TerraMenuButtonSkin extends
             RenderingHints.VALUE_ANTIALIAS_ON);
 
         // Paint the border
-        if (borderColorLocal != null) {
+        if (borderColorLocal != null && !themeIsFlat()) {
             graphics.setPaint(borderColorLocal);
             graphics.setStroke(new BasicStroke(1));
             graphics.draw(new RoundRectangle2D.Double(0.5, 0.5, width - 1, height - 1,
@@ -653,19 +657,19 @@ public class TerraMenuButtonSkin extends
     }
 
     public int getCloseTransitionDuration() {
-        return (Integer) menuPopup.getStyles().get("closeTransitionDuration");
+        return ((Integer) menuPopup.getStyles().get("closeTransitionDuration")).intValue();
     }
 
     public void setCloseTransitionDuration(int closeTransitionDuration) {
-        menuPopup.getStyles().put("closeTransitionDuration", closeTransitionDuration);
+        menuPopup.getStyles().put("closeTransitionDuration", new Integer(closeTransitionDuration));
     }
 
     public int getCloseTransitionRate() {
-        return (Integer) menuPopup.getStyles().get("closeTransitionRate");
+        return ((Integer) menuPopup.getStyles().get("closeTransitionRate")).intValue();
     }
 
     public void setCloseTransitionRate(int closeTransitionRate) {
-        menuPopup.getStyles().put("closeTransitionRate", closeTransitionRate);
+        menuPopup.getStyles().put("closeTransitionRate", new Integer(closeTransitionRate));
     }
 
     @Override

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraMenuPopupSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraMenuPopupSkin.java?rev=1614881&r1=1614880&r2=1614881&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraMenuPopupSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraMenuPopupSkin.java Thu Jul 31 13:20:13 2014
@@ -141,7 +141,7 @@ public class TerraMenuPopupSkin extends 
 
         border.getStyles().put("color", theme.getColor(7));
         border.getStyles().put("backgroundColor", null);
-        border.getStyles().put("padding", 0);
+        border.getStyles().put("padding", new Integer(0));
     }
 
     @Override
@@ -161,8 +161,10 @@ public class TerraMenuPopupSkin extends 
         menuPopup.setContent(border);
 
         // Attach the drop-shadow decorator
-        dropShadowDecorator = new DropShadowDecorator(3, 3, 3);
-        menuPopup.getDecorators().add(dropShadowDecorator);
+        if (!themeIsFlat()) {
+            dropShadowDecorator = new DropShadowDecorator(3, 3, 3);
+            menuPopup.getDecorators().add(dropShadowDecorator);
+        }
     }
 
     public Color getBorderColor() {

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraPushButtonSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraPushButtonSkin.java?rev=1614881&r1=1614880&r2=1614881&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraPushButtonSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraPushButtonSkin.java Thu Jul 31 13:20:13 2014
@@ -210,8 +210,12 @@ public class TerraPushButtonSkin extends
             RenderingHints.VALUE_ANTIALIAS_ON);
 
         if (backgroundColorLocal != null && bevelColorLocal != null) {
-            graphics.setPaint(new GradientPaint(width / 2f, 0, bevelColorLocal, width / 2f,
-                height / 2f, backgroundColorLocal));
+            if (!themeIsFlat()) {
+                graphics.setPaint(new GradientPaint(width / 2f, 0, bevelColorLocal, width / 2f,
+                    height / 2f, backgroundColorLocal));
+            } else {
+                graphics.setPaint(backgroundColorLocal);
+            }
             graphics.fill(new RoundRectangle2D.Double(0.5, 0.5, width - 1, height - 1,
                 CORNER_RADIUS, CORNER_RADIUS));
         }
@@ -235,7 +239,7 @@ public class TerraPushButtonSkin extends
             RenderingHints.VALUE_ANTIALIAS_ON);
 
         // Paint the border
-        if (borderColorLocal != null) {
+        if (borderColorLocal != null && !themeIsFlat()) {
             graphics.setPaint(borderColorLocal);
             graphics.setStroke(new BasicStroke(1));
             graphics.draw(new RoundRectangle2D.Double(0.5, 0.5, width - 1, height - 1,

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraRadioButtonSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraRadioButtonSkin.java?rev=1614881&r1=1614880&r2=1614881&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraRadioButtonSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraRadioButtonSkin.java Thu Jul 31 13:20:13 2014
@@ -196,10 +196,14 @@ public class TerraRadioButtonSkin extend
             BUTTON_DIAMETER - 3);
 
         if (enabled) {
-            buttonPaint = new RadialGradientPaint((float) buttonBackgroundCircle.getCenterX(),
-                (float) buttonBackgroundCircle.getCenterY(),
-                (float) buttonBackgroundCircle.getWidth() * 2 / 3, new float[] { 0f, 1f },
-                new Color[] { TerraTheme.darken(buttonColor), buttonColor });
+            if (!themeIsFlat()) {
+                buttonPaint = new RadialGradientPaint((float) buttonBackgroundCircle.getCenterX(),
+                    (float) buttonBackgroundCircle.getCenterY(),
+                    (float) buttonBackgroundCircle.getWidth() * 2 / 3, new float[] { 0f, 1f },
+                    new Color[] { TerraTheme.darken(buttonColor), buttonColor });
+            } else {
+                buttonPaint = currentTheme().getColor(10);
+            }
 
             buttonBorderColorLocal = this.buttonBorderColor;
             buttonSelectionColorLocal = this.buttonSelectionColor;
@@ -213,8 +217,10 @@ public class TerraRadioButtonSkin extend
             RenderingHints.VALUE_ANTIALIAS_ON);
 
         // Paint the border
-        graphics.setColor(buttonBorderColorLocal);
-        graphics.fillOval(0, 0, BUTTON_DIAMETER - 1, BUTTON_DIAMETER - 1);
+        if (!themeIsFlat()) {
+            graphics.setColor(buttonBorderColorLocal);
+            graphics.fillOval(0, 0, BUTTON_DIAMETER - 1, BUTTON_DIAMETER - 1);
+        }
 
         // Paint the background
         graphics.setPaint(buttonPaint);

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTheme.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTheme.java?rev=1614881&r1=1614880&r2=1614881&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTheme.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTheme.java Thu Jul 31 13:20:13 2014
@@ -100,6 +100,7 @@ public final class TerraTheme extends Th
 
     private static float colorMultiplier = 0.1f;
     private static boolean themeIsDark = false;
+    private static boolean themeIsFlat = false;
 
     public static final String LOCATION_PROPERTY = "location";
     public static final String COMMAND_BUTTON_STYLE = "commandButton";
@@ -268,6 +269,11 @@ public final class TerraTheme extends Th
                     themeIsDark = dark.booleanValue();
                 }
 
+                Boolean flat = (Boolean) properties.get("themeIsFlat");
+                if (flat != null) {
+                    themeIsFlat = flat.booleanValue();
+                }
+
                 for (String colorCode : colorCodes) {
                     Color baseColor = Color.decode(colorCode);
                     colors.add(darken(baseColor));
@@ -429,7 +435,7 @@ public final class TerraTheme extends Th
      * color will be transformed in the opposite way (brightening instead of
      * darkening, and darkening instead of brightening).
      *
-     * @return true if dark, false otherwise
+     * @return true if dark, false otherwise (default)
      */
     @Override
     public boolean isThemeDark() {
@@ -437,6 +443,17 @@ public final class TerraTheme extends Th
     }
 
     /**
+     * Tell if the theme is flat.<br/> Usually this means that (if true) any
+     * border/shadow will not be drawn.
+     *
+     * @return true if flat, false otherwise (default)
+     */
+    @Override
+    public boolean isThemeFlat() {
+        return themeIsFlat;
+    }
+
+    /**
      * Gets the image that this theme uses to represent messages of the
      * specified type.
      *

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTheme_default.json
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTheme_default.json?rev=1614881&r1=1614880&r2=1614881&view=diff
==============================================================================
Binary files - no diff available.

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTooltipSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTooltipSkin.java?rev=1614881&r1=1614880&r2=1614881&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTooltipSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTooltipSkin.java Thu Jul 31 13:20:13 2014
@@ -200,8 +200,10 @@ public class TerraTooltipSkin extends Wi
         int width = getWidth();
         int height = getHeight();
 
-        graphics.setColor(borderColor);
-        GraphicsUtilities.drawRect(graphics, 0, 0, width, height);
+        if (!themeIsFlat()) {
+            graphics.setColor(borderColor);
+            GraphicsUtilities.drawRect(graphics, 0, 0, width, height);
+        }
     }
 
     public int getCloseTransitionDuration() {

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Theme.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Theme.java?rev=1614881&r1=1614880&r2=1614881&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Theme.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Theme.java Thu Jul 31 13:20:13 2014
@@ -172,6 +172,14 @@ public abstract class Theme {
     public abstract boolean isThemeDark();
 
     /**
+     * Tell if the theme is flat.<br/> Usually this means that (if true) any
+     * border/shadow will not be drawn.
+     *
+     * @return true if flat, false otherwise
+     */
+    public abstract boolean isThemeFlat();
+
+    /**
      * Returns the skin class responsible for skinning the specified component
      * class.
      *
@@ -252,13 +260,13 @@ public abstract class Theme {
                     throw new IllegalArgumentException(value + " is not a valid font size.");
                 }
             } else {
-                size = (Integer) value;
+                size = ((Integer) value).intValue();
             }
         }
 
         int style = font.getStyle();
         if (dictionary.containsKey(BOLD_KEY)) {
-            boolean bold = (Boolean) dictionary.get(BOLD_KEY);
+            boolean bold = ((Boolean) dictionary.get(BOLD_KEY)).booleanValue();
 
             if (bold) {
                 style |= Font.BOLD;
@@ -268,7 +276,7 @@ public abstract class Theme {
         }
 
         if (dictionary.containsKey(ITALIC_KEY)) {
-            boolean italic = (Boolean) dictionary.get(ITALIC_KEY);
+            boolean italic = ((Boolean) dictionary.get(ITALIC_KEY)).booleanValue();
 
             if (italic) {
                 style |= Font.ITALIC;

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/BorderSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/BorderSkin.java?rev=1614881&r1=1614880&r2=1614881&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/BorderSkin.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/BorderSkin.java Thu Jul 31 13:20:13 2014
@@ -294,7 +294,7 @@ public class BorderSkin extends Containe
         }
 
         // Draw the border
-        if (thickness > 0) {
+        if (thickness > 0 && !themeIsFlat()) {
             graphics.setPaint(color);
 
             if (cornerRadius > 0) {

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=1614881&r1=1614880&r2=1614881&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 Thu Jul 31 13:20:13 2014
@@ -297,7 +297,7 @@ public abstract class ComponentSkin impl
         if (tooltipText != null) {
             Label tooltipLabel = new Label(tooltipText);
             boolean tooltipWrapText = component.getTooltipWrapText();
-            tooltipLabel.getStyles().put("wrapText", tooltipWrapText);
+            tooltipLabel.getStyles().put("wrapText", new Boolean(tooltipWrapText));
             Tooltip tooltip = new Tooltip(tooltipLabel);
 
             Display display = component.getDisplay();
@@ -401,4 +401,25 @@ public abstract class ComponentSkin impl
 
         return font;
     }
+
+    /**
+     * Returns the current Theme.
+     * 
+     * @return the theme
+     */
+    protected Theme currentTheme() {
+        return Theme.getTheme();
+    }
+
+    /**
+     * Returns if the current Theme is flat.
+     * 
+     * Note that flat themes usually have no bevel, gradients, shadow effects,
+     * and in some cases even no borders.
+     * 
+     * @return true if it is flat, false otherwise (default)
+     */
+    protected boolean themeIsFlat() {
+        return currentTheme().isThemeFlat();
+    }
 }