changeset 550:55b2098ee74d

Implement the one tocuh expandable buttons for the sliders review-thread: http://icedtea.classpath.org/pipermail/thermostat/2012-August/002810.html reviewed-by: omajid
author Mario Torre <neugens.limasoftware@gmail.com>
date Fri, 17 Aug 2012 18:03:04 +0200
parents 379e7fdb34f0
children 7d8fb7d80369
files dolphin/src/main/java/com/redhat/swing/laf/dolphin/DolphinLookAndFeel.java dolphin/src/main/java/com/redhat/swing/laf/dolphin/showcase/SplitPaneDemo.java dolphin/src/main/java/com/redhat/swing/laf/dolphin/split/DolphinSplitPaneDivider.java dolphin/src/main/java/com/redhat/swing/laf/dolphin/split/DolphinSplitPaneDividerBorder.java dolphin/src/main/java/com/redhat/swing/laf/dolphin/themes/DolphinDefaultTheme.java dolphin/src/main/java/com/redhat/swing/laf/dolphin/themes/DolphinTheme.java
diffstat 6 files changed, 38 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/dolphin/src/main/java/com/redhat/swing/laf/dolphin/DolphinLookAndFeel.java	Fri Aug 17 18:03:04 2012 +0200
+++ b/dolphin/src/main/java/com/redhat/swing/laf/dolphin/DolphinLookAndFeel.java	Fri Aug 17 18:03:04 2012 +0200
@@ -150,7 +150,9 @@
                 "SplitPane.dividerSize", new Integer(7),
                 "SplitPaneDivider.border", new DolphinSplitPaneDividerBorder(),
                 "SplitPane.border", null,
-                                
+                "SplitPane.oneTouchButtonSize", theme.getOneTouchButtonSize(),
+                "SplitPane.oneTouchButtonOffset", theme.getOneTouchButtonOffset(),
+                
                 "TableHeader.cellBorder", theme.getTableCellBorder(),
                 "TableHeader.focusCellBorder", theme.getTableFocusCellBorder(),
                 "TableHeader.background", theme.getTableHeaderBackgroundColor(),
--- a/dolphin/src/main/java/com/redhat/swing/laf/dolphin/showcase/SplitPaneDemo.java	Fri Aug 17 18:03:04 2012 +0200
+++ b/dolphin/src/main/java/com/redhat/swing/laf/dolphin/showcase/SplitPaneDemo.java	Fri Aug 17 18:03:04 2012 +0200
@@ -59,6 +59,7 @@
             public void run() {
                 try {
                     UIManager.setLookAndFeel(new DolphinLookAndFeel());
+                    //UIManager.setLookAndFeel(new javax.swing.plaf.metal.MetalLookAndFeel());
                     
                     SplitPaneDemo frame = new SplitPaneDemo();
                     frame.setVisible(true);
@@ -85,6 +86,7 @@
         
         JSplitPane splitPane_1 = new JSplitPane();
         splitPane_1.setOrientation(JSplitPane.VERTICAL_SPLIT);
+        splitPane_1.setOneTouchExpandable(true);
         splitPane.setRightComponent(splitPane_1);
         
         JPanel panel = new JPanel();
--- a/dolphin/src/main/java/com/redhat/swing/laf/dolphin/split/DolphinSplitPaneDivider.java	Fri Aug 17 18:03:04 2012 +0200
+++ b/dolphin/src/main/java/com/redhat/swing/laf/dolphin/split/DolphinSplitPaneDivider.java	Fri Aug 17 18:03:04 2012 +0200
@@ -38,16 +38,17 @@
 
 import java.awt.Graphics;
 import java.awt.Graphics2D;
-import java.awt.Rectangle;
 import java.awt.Shape;
 import java.awt.geom.RoundRectangle2D;
 
+import javax.swing.JButton;
 import javax.swing.JSplitPane;
 import javax.swing.plaf.basic.BasicSplitPaneDivider;
 
 import com.redhat.swing.laf.dolphin.themes.DolphinTheme;
 import com.redhat.swing.laf.dolphin.themes.DolphinThemeUtils;
 
+@SuppressWarnings("serial")
 public class DolphinSplitPaneDivider extends BasicSplitPaneDivider {
 
     private static final int MARKER_SIZE = 28;
@@ -70,7 +71,7 @@
     
     @Override
     public void paint(Graphics g) {
-                
+     
         Graphics2D graphics = (Graphics2D) g.create();
         DolphinThemeUtils.setAntialiasing(graphics);
 
@@ -102,4 +103,14 @@
         
         super.paint(g);
     }
+    
+    @Override
+    protected JButton createLeftOneTouchButton() {
+        return super.createLeftOneTouchButton();
+    }
+    
+    @Override
+    protected JButton createRightOneTouchButton() {
+        return super.createRightOneTouchButton();
+    }
 }
--- a/dolphin/src/main/java/com/redhat/swing/laf/dolphin/split/DolphinSplitPaneDividerBorder.java	Fri Aug 17 18:03:04 2012 +0200
+++ b/dolphin/src/main/java/com/redhat/swing/laf/dolphin/split/DolphinSplitPaneDividerBorder.java	Fri Aug 17 18:03:04 2012 +0200
@@ -36,13 +36,10 @@
 
 package com.redhat.swing.laf.dolphin.split;
 
-import java.awt.Color;
 import java.awt.Component;
 import java.awt.Graphics;
 import java.awt.Graphics2D;
-import java.awt.LinearGradientPaint;
-import java.awt.RadialGradientPaint;
-import java.awt.geom.Point2D;
+import java.awt.Insets;
 
 import javax.swing.JScrollBar;
 import javax.swing.plaf.basic.BasicSplitPaneDivider;
@@ -52,6 +49,7 @@
 import com.redhat.swing.laf.dolphin.themes.DolphinTheme;
 import com.redhat.swing.laf.dolphin.themes.DolphinThemeUtils;
 
+@SuppressWarnings("serial")
 public class DolphinSplitPaneDividerBorder extends DolphinDebugBorder {
 
     @Override
@@ -82,4 +80,9 @@
         
         graphics.dispose();
     }
+    
+    public Insets getBorderInsets(Component c) {
+        Insets insets = new Insets(1, 1, 1, 1);
+        return insets;
+    }
 }
--- a/dolphin/src/main/java/com/redhat/swing/laf/dolphin/themes/DolphinDefaultTheme.java	Fri Aug 17 18:03:04 2012 +0200
+++ b/dolphin/src/main/java/com/redhat/swing/laf/dolphin/themes/DolphinDefaultTheme.java	Fri Aug 17 18:03:04 2012 +0200
@@ -415,6 +415,16 @@
     }
     
     @Override
+    public int getOneTouchButtonSize() {
+        return 4;
+    }
+    
+    @Override
+    public int getOneTouchButtonOffset() {
+        return 2;
+    }
+    
+    @Override
     public void addCustomEntriesToTable(UIDefaults table) {
         super.addCustomEntriesToTable(table);
         
--- a/dolphin/src/main/java/com/redhat/swing/laf/dolphin/themes/DolphinTheme.java	Fri Aug 17 18:03:04 2012 +0200
+++ b/dolphin/src/main/java/com/redhat/swing/laf/dolphin/themes/DolphinTheme.java	Fri Aug 17 18:03:04 2012 +0200
@@ -135,4 +135,7 @@
     abstract public Border getTableFocusCellBorder();
     
     abstract public ColorUIResource getIconsBaseColor();
+
+    abstract public int getOneTouchButtonSize();
+    abstract public int getOneTouchButtonOffset();
 }