[Title] DAButton fixed
authorjy.exe.lee <jy.exe.lee@samsung.com>
Wed, 11 Jul 2012 11:56:10 +0000 (20:56 +0900)
committerjy.exe.lee <jy.exe.lee@samsung.com>
Wed, 11 Jul 2012 11:56:10 +0000 (20:56 +0900)
[Type] bug fix
[Module] DynamicAnalyzer
[Priority] normal
[CQ#]
[Redmine#]
[Problem]
[Cause]
[Solution]
[TestCase]

org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/DACustomButton.java
org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/DACustomWidgetAttribute.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/AnalyzerManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ColorResources.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/theme/DAThemeBlack.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/theme/DAThemeWhite.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/renderers/ComboButtonRenderer.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/views/CoolbarArea.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/DATabComposite.java

index 000884b..3e0b088 100644 (file)
@@ -159,53 +159,65 @@ public class DACustomButton extends Canvas {
                return this.enabled;
        }
 
-       public void setHoverImage(Image image) {
-               attr.setImage(STATE_HOVER, image);
-       }
-
-       public void setNormalImage(Image image) {
-               attr.setImage(STATE_NORMAL, image);
-       }
-
-       public void setPushImage(Image image) {
-               attr.setImage(STATE_PUSH, image);
-       }
-
-       public void setDisableImage(Image image) {
-               attr.setImage(STATE_DISABLE, image);
-       }
-
-       public Image getHoverImage() {
-               return attr.getImage(STATE_HOVER);
-       }
-
-       public Image getNormalImage() {
-               return attr.getImage(STATE_NORMAL);
-       }
-
-       public Image getPushImage() {
-               return attr.getImage(STATE_PUSH);
-       }
-
-       public Image getDisableImage(Image image) {
-               return attr.getImage(STATE_DISABLE);
-       }
-
-       public void setHoverColor(Color color) {
-               attr.setColor(STATE_HOVER, color);
-       }
-
-       public void setNormalColor(Color color) {
-               attr.setColor(STATE_NORMAL, color);
-       }
-
-       public void setPushColor(Color color) {
-               attr.setColor(STATE_PUSH, color);
-       }
-
-       public void setDisableColor(Color color) {
-               attr.setColor(STATE_DISABLE, color);
-       }
+       public void setImage(int state, Image image) {
+               attr.setImage(state, image);
+       }
+
+       // public void setHoverImage(Image image) {
+       // attr.setImage(STATE_HOVER, image);
+       // }
+       //
+       // public void setNormalImage(Image image) {
+       // attr.setImage(STATE_NORMAL, image);
+       // }
+       //
+       // public void setPushImage(Image image) {
+       // attr.setImage(STATE_PUSH, image);
+       // }
+       //
+       // public void setDisableImage(Image image) {
+       // attr.setImage(STATE_DISABLE, image);
+       // }
+
+       public Image getImage(int state) {
+               return attr.getImage(state);
+       }
+
+       // public Image getHoverImage() {
+       // return attr.getImage(STATE_HOVER);
+       // }
+       //
+       // public Image getNormalImage() {
+       // return attr.getImage(STATE_NORMAL);
+       // }
+       //
+       // public Image getPushImage() {
+       // return attr.getImage(STATE_PUSH);
+       // }
+       //
+       // public Image getDisableImage(Image image) {
+       // return attr.getImage(STATE_DISABLE);
+       // }
+
+       public void setColor(int state, Color color) {
+               attr.setColor(state, color);
+       }
+
+       // public void setHoverColor(Color color) {
+       // attr.setColor(STATE_HOVER, color);
+       // }
+       //
+       // public void setNormalColor(Color color) {
+       // attr.setColor(STATE_NORMAL, color);
+       // }
+       //
+       // public void setPushColor(Color color) {
+       // attr.setColor(STATE_PUSH, color);
+       // }
+       //
+       // public void setDisableColor(Color color) {
+       // attr.setColor(STATE_DISABLE, color);
+       // }
 
        public void setVisible(boolean visible) {
                setVisible(visible);
@@ -256,4 +268,21 @@ public class DACustomButton extends Canvas {
                attr.setColor(7, disableEnd);
                attr.setDrawType(TYPE_GRADATION);
        }
+
+       public void setGradationColor(int state, Color start, Color end) {
+               attr.setColor(state * 2, start);
+               attr.setColor(state * 2 + 1, end);
+       }
+
+       public void setFontColors(Color normal, Color push, Color hover,
+                       Color disable) {
+               attr.setFontColor(STATE_NORMAL, normal);
+               attr.setFontColor(STATE_PUSH, push);
+               attr.setFontColor(STATE_HOVER, hover);
+               attr.setFontColor(STATE_DISABLE, disable);
+       }
+
+       public void setFontColor(int state, Color color) {
+               attr.setFontColor(state, color);
+       }
 }
index 0899ee6..f5f244d 100644 (file)
@@ -18,6 +18,7 @@ public class DACustomWidgetAttribute {
 
        private List<Image> images = new ArrayList<Image>();
        private List<Color> colors = new ArrayList<Color>();
+       private List<Color> fontColors = new ArrayList<Color>();
        private boolean enabled;
 
        public DACustomWidgetAttribute() {
@@ -27,6 +28,7 @@ public class DACustomWidgetAttribute {
                for (int i = 0; i < MAX_SIZE; i++) {
                        images.add(null);
                        colors.add(null);
+                       fontColors.add(null);
                }
        }
 
@@ -100,4 +102,11 @@ public class DACustomWidgetAttribute {
                colors.set(state, color);
        }
 
+       public void setFontColor(int state, Color color) {
+               fontColors.set(state, color);
+       }
+
+       public Color getFontColor(int state) {
+               return fontColors.get(state);
+       }
 }
index 26c6a8b..512424c 100644 (file)
@@ -42,7 +42,6 @@ import org.tizen.dynamicanalyzer.model.LeakCheckList;
 import org.tizen.dynamicanalyzer.model.LogCenter;
 import org.tizen.dynamicanalyzer.model.Project;
 import org.tizen.dynamicanalyzer.theme.DAThemeBlack;
-import org.tizen.dynamicanalyzer.theme.DAThemeWhite;
 import org.tizen.dynamicanalyzer.threads.InsertLogThread;
 import org.tizen.dynamicanalyzer.threads.OpenTraceInputThread;
 import org.tizen.dynamicanalyzer.threads.RecordStartStopThread;
@@ -102,8 +101,8 @@ public class AnalyzerManager {
 
        public static DATheme getTheme() {
                if (null == theme) {
-//                     theme = DAThemeBlack.getInstance();
-                        theme = DAThemeWhite.getInstance();
+                       theme = DAThemeBlack.getInstance();
+                       // theme = DAThemeWhite.getInstance();
                }
                return theme;
        }
@@ -111,10 +110,10 @@ public class AnalyzerManager {
        public static void setTheme(DATheme t) {
                theme = t;
                ColorResources.initColors();
-               
-               //TODO: redraw all widgets!
-//             AnalyzerUtil.getWorkbenchWindow().getWorkbench()
-//                             .getActiveWorkbenchWindow();
+
+               // TODO: redraw all widgets!
+               // AnalyzerUtil.getWorkbenchWindow().getWorkbench()
+               // .getActiveWorkbenchWindow();
        }
 
        public static boolean hasSampleThread() {
index 7b8ae00..71e3748 100644 (file)
@@ -120,6 +120,16 @@ public class ColorResources {
        public static Color OPEN_TRACE_TABLE_LINE2_HOVER = getColor("open_trace_table_line2_hover"); //$NON-NLS-1$\r
        public static Color OPEN_TRACE_TABLE2_FONT_COLOR = getColor("open_trace_table2_font_color"); //$NON-NLS-1$\r
 \r
+       /** tab widget colors **/\r
+       public static Color TAB_SELECTED_START_COLOR = getColor("tab_selected_start_color"); //$NON-NLS-1$\r
+       public static Color TAB_SELECTED_END_COLOR = getColor("tab_selected_end_color"); //$NON-NLS-1$\r
+       public static Color TAB_NORMAL_COLOR = getColor("tab_selected_end_color"); //$NON-NLS-1$\r
+       public static Color TAB_HOVER_COLOR = getColor("tab_selected_end_color"); //$NON-NLS-1$\r
+       public static Color TAB_PUSH_COLOR = getColor("tab_selected_end_color"); //$NON-NLS-1$\r
+       \r
+       public static Color TAB_NORMAL_FONT_COLOR =  getColor("tab_normal_font_color"); //$NON-NLS-1$\r
+       public static Color TAB_OTHER_FONT_COLOR =  getColor("tab_other_font_color"); //$NON-NLS-1$\r
+       \r
        /** snapshot viewer colors **/\r
        public static Color SNAPSHOT_VIEWER_BORDER = getColor("snapshot_viewer_border"); //$NON-NLS-1$\r
 \r
index 50c96be..1983bff 100644 (file)
@@ -28,7 +28,7 @@ public class DAThemeBlack extends DATheme {
 
                /** device and application combo specific colors start **/
                setColor("device_application_enable_font", new RGB(255, 255, 255)); //$NON-NLS-1$
-               
+
                setColor("device_application_disable_font", new RGB(128, 128, 128)); //$NON-NLS-1$
 
                setColor("device_application_popup_outer_1", new RGB(31, 31, 31)); //$NON-NLS-1$
@@ -58,7 +58,7 @@ public class DAThemeBlack extends DATheme {
                setColor("device_application_button_hover_end", new RGB(0, 151, 201)); //$NON-NLS-1$
                setColor("device_application_button_disable_start", new RGB(51, 52, 53)); //$NON-NLS-1$
                setColor("device_application_button_disable_end", new RGB(0, 0, 0)); //$NON-NLS-1$
-               
+
                setColor("device_application_button_outline", new RGB(0, 0, 0));
                /** normal view layout colors start **/
 
@@ -113,6 +113,16 @@ public class DAThemeBlack extends DATheme {
 
                setColor("open_trace_table2_font_color", new RGB(255, 85, 57)); //$NON-NLS-1$
 
+               /** tab widget colors **/
+               setColor("tab_selected_start_color", new RGB(128, 129, 130));
+               setColor("tab_selected_end_color", new RGB(79, 78, 80));
+               setColor("tab_normal_color", new RGB(51, 52, 53));
+               setColor("tab_hover_color", new RGB(63, 72, 78));
+               setColor("tab_push_color", new RGB(36, 41, 45));
+               
+               setColor("tab_normal_font_color", new RGB(140, 140, 140));
+               setColor("tab_other_font_color", new RGB(255, 255, 255));
+
                /** snapshot viewer colors **/
                setColor("snapshot_viewer_border", new RGB(49, 104, 127)); //$NON-NLS-1$
 
index f66f3af..576fe20 100644 (file)
@@ -116,6 +116,16 @@ public class DAThemeWhite extends DATheme {
 
                setColor("open_trace_table2_font_color", new RGB(255, 85, 57)); //$NON-NLS-1$
 
+               /** tab widget colors **/
+               setColor("tab_selected_start_color", new RGB(128, 129, 130));
+               setColor("tab_selected_end_color", new RGB(79, 78, 80));
+               setColor("tab_normal_color", new RGB(51, 52, 53));
+               setColor("tab_hover_color", new RGB(63, 72, 78));
+               setColor("tab_push_color", new RGB(36, 41, 45));
+
+               setColor("tab_normal_font_color", new RGB(140, 140, 140));
+               setColor("tab_other_font_color", new RGB(255, 255, 255));
+
                /** snapshot viewer colors **/
                setColor("snapshot_viewer_border", new RGB(49, 104, 127)); //$NON-NLS-1$
 
index d542b73..a43f16c 100644 (file)
@@ -28,7 +28,7 @@ public class ComboButtonRenderer extends DACustomButtonDefaultRenderer {
                        }
 
                        gc.drawImage(image, rect.x, rect.y);
-                       drawButtonText(gc, rect, attr);
+                       drawButtonText(gc, rect, state, attr);
                } else if (attr.getDrawType() == DACustomButton.TYPE_COLOR
                                || attr.getDrawType() == DACustomButton.TYPE_GRADATION) {
                        drawButton(gc, rect, state, attr);
@@ -58,7 +58,7 @@ public class ComboButtonRenderer extends DACustomButtonDefaultRenderer {
 
                Rectangle r = new Rectangle(0, 0, rect.width - 1, rect.height - 1);
                if (attr.getButtonImage() == null) {
-                       drawButtonText(gc, r, attr);
+                       drawButtonText(gc, r, state, attr);
                }
                Color c = gc.getForeground();
                // gc.setForeground(ColorResources.DEVICE_APPLICATION_BUTTON_OUTLINE);
@@ -87,7 +87,7 @@ public class ComboButtonRenderer extends DACustomButtonDefaultRenderer {
                }
        }
 
-       protected void drawButtonText(GC gc, Rectangle rect,
+       protected void drawButtonText(GC gc, Rectangle rect, int state,
                        DACustomWidgetAttribute attr) {
                String s = null;
                Font f = null;
@@ -113,6 +113,11 @@ public class ComboButtonRenderer extends DACustomButtonDefaultRenderer {
                                x = p.x;
                                y = p.y;
                        }
+                       Color fontColor = attr.getFontColor(state);
+                       if (fontColor == null) {
+                               fontColor = ColorResources.WHITE;
+                       }
+                       gc.setForeground(fontColor);
                        gc.drawString(s, x + offset, y, true);
                }
        }
index 8e3f89c..af11d8c 100755 (executable)
@@ -780,7 +780,8 @@ public class CoolbarArea {
                                if (state.equals(RecordStateSourceProvider.RECORD_READY)) {
                                        AnalyzerUtil
                                                        .setRecordState(RecordStateSourceProvider.RECORD_RECORDING);
-                                       button.setHoverImage(stopHoverImage);
+                                       button.setImage(DACustomButton.STATE_HOVER, stopHoverImage);
+                                       // button.setHoverImage(stopHoverImage);
                                        setStartToolbarState(true);
                                        // timerClock.start();
                                        setToolbarEnablement(false);
@@ -788,7 +789,8 @@ public class CoolbarArea {
                                } else {
                                        AnalyzerUtil
                                                        .setRecordState(RecordStateSourceProvider.RECORD_READY);
-                                       button.setHoverImage(startHoverImage);
+                                       // button.setHoverImage(startHoverImage);
+                                       button.setImage(DACustomButton.STATE_HOVER, startHoverImage);
                                        setStartToolbarState(false);
                                        // timerClock.stop();
                                        setToolbarEnablement(true);
@@ -838,7 +840,9 @@ public class CoolbarArea {
                                        if (AnalyzerUtil.executeCommand(ReplayTraceHandler.ID) != ReplayTraceHandler.FAILED) {
                                                AnalyzerUtil
                                                                .setRecordState(RecordStateSourceProvider.RECORD_RECORDING);
-                                               startButton.setNormalImage(stopImage);
+                                               // startButton.setNormalImage(stopImage);
+                                               startButton.setImage(DACustomButton.STATE_NORMAL,
+                                                               stopImage);
                                                startButton.setToolTipText(AnalyzerLabels.STOP_TRACE);
                                                setStartToolbarState(true);
                                                timerClock.start();
@@ -1616,14 +1620,17 @@ public class CoolbarArea {
                if (isMaximized) {
 
                        // maxButton.setImage(restoreImage);
-                       maxButton.setNormalImage(restoreImage);
-                       maxButton.setPushImage(restorePushImage);
-                       maxButton.setHoverImage(restoreHoverImage);
+                       maxButton.setImages(restoreImage, restorePushImage,
+                                       restoreHoverImage, null);
+                       // maxButton.setNormalImage(restoreImage);
+                       // maxButton.setPushImage(restorePushImage);
+                       // maxButton.setHoverImage(restoreHoverImage);
                } else {
                        // maxButton.setImage(maxImage);
-                       maxButton.setNormalImage(maxImage);
-                       maxButton.setPushImage(maxPushImage);
-                       maxButton.setHoverImage(maxHoverImage);
+                       maxButton.setImages(maxImage, maxPushImage, maxHoverImage, null);
+                       // maxButton.setNormalImage(maxImage);
+                       // maxButton.setPushImage(maxPushImage);
+                       // maxButton.setHoverImage(maxHoverImage);
                }
        }
 
@@ -1690,13 +1697,17 @@ public class CoolbarArea {
 
        private void setStartToolbarState(boolean isStarted) {
                if (isStarted) {
-                       startButton.setNormalImage(stopImage);
-                       startButton.setPushImage(stopPushImage);
-                       startButton.setHoverImage(stopHoverImage);
+                       startButton.setImages(stopImage, stopPushImage, stopHoverImage,
+                                       startDisableImage);
+                       // startButton.setNormalImage(stopImage);
+                       // startButton.setPushImage(stopPushImage);
+                       // startButton.setHoverImage(stopHoverImage);
                } else {
-                       startButton.setNormalImage(startImage);
-                       startButton.setPushImage(startPushImage);
-                       startButton.setHoverImage(startHoverImage);
+                       startButton.setImages(startImage, startPushImage, startHoverImage,
+                                       startDisableImage);
+                       // startButton.setNormalImage(startImage);
+                       // startButton.setPushImage(startPushImage);
+                       // startButton.setHoverImage(startHoverImage);
                }
        }
 
@@ -1730,7 +1741,8 @@ public class CoolbarArea {
 
        public void stopTrace() {
                AnalyzerUtil.setRecordState(RecordStateSourceProvider.RECORD_READY);
-               startButton.setNormalImage(startImage);
+               // startButton.setNormalImage(startImage);
+               startButton.setImage(DACustomButton.STATE_NORMAL, startImage);
                startButton.setToolTipText(AnalyzerLabels.START_TRACE);
                setStartToolbarState(false);
                setToolbarEnablement(true);
index 398a1d7..e7777da 100644 (file)
@@ -15,6 +15,7 @@ import org.tizen.dynamicanalyzer.constants.DesignConstants;
 import org.tizen.dynamicanalyzer.model.DASelectionData;
 import org.tizen.dynamicanalyzer.model.DAView;
 import org.tizen.dynamicanalyzer.model.LogPackage;
+import org.tizen.dynamicanalyzer.ui.renderers.ComboButtonRenderer;
 import org.tizen.dynamicanalyzer.ui.views.base.ViewAction;
 import org.tizen.dynamicanalyzer.widgets.button.DACustomButton;
 import org.tizen.dynamicanalyzer.widgets.button.DACustomButtonClickEventListener;
@@ -62,8 +63,21 @@ public class DATabComposite extends DAView {
                // final DAButton tabButton = new DAButton(tabComposite,
                // ImageResources.TAB, ImageResources.TAB_PUSH,
                // ImageResources.TAB_HOVER, ImageResources.TAB_DISABLE);
-               final DACustomButton tabButton = new DACustomButton(tabComposite,
-                               SWT.NONE);
+               // final DACustomButton tabButton = new DACustomButton(tabComposite,
+               // SWT.NONE);
+               final DACustomButton tabButton = new DACustomButton(
+                               tabComposite,
+                                ColorResources.TAB_NORMAL_COLOR,
+                                ColorResources.TAB_NORMAL_COLOR,
+                               ColorResources.TAB_PUSH_COLOR, ColorResources.TAB_PUSH_COLOR,
+                               ColorResources.TAB_HOVER_COLOR, ColorResources.TAB_HOVER_COLOR,
+                               ColorResources.TAB_SELECTED_START_COLOR,
+                               ColorResources.TAB_SELECTED_END_COLOR);
+               tabButton.setFontColors(ColorResources.TAB_NORMAL_FONT_COLOR,
+                               ColorResources.TAB_OTHER_FONT_COLOR,
+                               ColorResources.TAB_OTHER_FONT_COLOR,
+                               ColorResources.TAB_OTHER_FONT_COLOR);
+               tabButton.setRenderer(new ComboButtonRenderer());
                tabButton.setEnabled(true);
                tabButton.setFont(FontResources.TAB_BUTTON_FONT);
                tabButton.setForeground(ColorResources.WHITE);
@@ -101,7 +115,12 @@ public class DATabComposite extends DAView {
                if (getTabChildren().size() == 1) {
                        stackLayout.topControl = child;
                        contentsComposite.layout();
-                       tabButton.setDisableColor(ColorResources.CPU_CIRCULAR_GRAPH_COLOR);
+                       // tabButton.setColor(DACustomButton.STATE_DISABLE,
+                       // ColorResources.CPU_CIRCULAR_GRAPH_COLOR);
+                       tabButton.setGradationColor(DACustomButton.STATE_DISABLE,
+                                       ColorResources.TAB_SELECTED_START_COLOR,
+                                       ColorResources.TAB_SELECTED_END_COLOR);
+                       // tabButton.setDisableColor(ColorResources.CPU_CIRCULAR_GRAPH_COLOR);
                        tabButton.setEnabled(false);
                }
        }
@@ -122,7 +141,12 @@ public class DATabComposite extends DAView {
                                }
                                if (sample.equals(button)) {
                                        data.width = LONG_TAB_WIDTH;
-                                       button.setDisableColor(ColorResources.CPU_CIRCULAR_GRAPH_COLOR);
+                                       // button.setColor(DACustomButton.STATE_DISABLE,
+                                       // ColorResources.CPU_CIRCULAR_GRAPH_COLOR);
+                                       button.setGradationColor(DACustomButton.STATE_DISABLE,
+                                                       ColorResources.TAB_SELECTED_START_COLOR,
+                                                       ColorResources.TAB_SELECTED_END_COLOR);
+                                       // button.setDisableColor(ColorResources.CPU_CIRCULAR_GRAPH_COLOR);
                                        button.setEnabled(false);
                                } else {
                                        data.width = SHORT_TAB_WIDTH;