[Title] Change wizard UX
authorho.namkoong <ho.namkoong@samsung.com>
Wed, 8 Aug 2012 05:46:44 +0000 (14:46 +0900)
committerho.namkoong <ho.namkoong@samsung.com>
Wed, 8 Aug 2012 08:25:33 +0000 (17:25 +0900)
Change-Id: If69a0fae802eec60de5ea8ee8cf9179be8111994

org.tizen.common.externals/src/org/mihalis/opal/preferenceWindow/PWTabContainer.java
org.tizen.common.externals/src/org/mihalis/opal/preferenceWindow/PreferenceWindow.java
org.tizen.common/src/org/tizen/common/util/SWTUtil.java

index 94f9d53..8bfe14c 100644 (file)
@@ -66,8 +66,13 @@ class PWTabContainer extends Composite {
      * Build the container\r
      */\r
     void build() {\r
+        build(null);\r
+    }\r
+    \r
+    void build(Color selectedTabColor) {\r
+        \r
         createButtonsContainer();\r
-        createButtons();\r
+        createButtons(selectedTabColor);\r
         createContentContainer();\r
 \r
         select(0);\r
@@ -128,15 +133,23 @@ class PWTabContainer extends Composite {
         SWTGraphicUtil.dispose(this.buttonContainer, this.oldButtonContainerImage);\r
     }\r
 \r
-    /**\r
-     * Create the buttons\r
-     */\r
-    private void createButtons() {\r
+//    /**\r
+//     * Create the buttons\r
+//     */\r
+//    private void createButtons() {\r
+//        createButtons(null);\r
+//    }\r
+    \r
+    private void createButtons(Color selectedTabColor) {\r
         for (int i = 0; i < this.tabs.size(); i++) {\r
             final PWTab tab = this.tabs.get(i);\r
             final FlatButton button = new FlatButton(this.buttonContainer, SWT.NONE);\r
             button.setText(tab.getText());\r
             button.setImage(tab.getImage());\r
+            \r
+            if(selectedTabColor != null) {\r
+                button.setSelectedColor(selectedTabColor);\r
+            }\r
             SWTGraphicUtil.dispose(button, tab.getImage());\r
 \r
             final GridData gd;\r
index e1b5384..01de51e 100644 (file)
@@ -18,6 +18,7 @@ import java.util.Map;
 import org.eclipse.swt.SWT;\r
 import org.eclipse.swt.events.SelectionAdapter;\r
 import org.eclipse.swt.events.SelectionEvent;\r
+import org.eclipse.swt.graphics.Color;\r
 import org.eclipse.swt.graphics.Image;\r
 import org.eclipse.swt.layout.GridData;\r
 import org.eclipse.swt.layout.GridLayout;\r
@@ -42,6 +43,7 @@ public class PreferenceWindow {
        private boolean returnedValue;\r
        private Shell shell;\r
        private static PreferenceWindow instance;\r
+       \r
 \r
        /**\r
         * Constructor\r
@@ -188,9 +190,13 @@ public class PreferenceWindow {
      * @author Jihoon Song {@literal <jihoon80.song@samsung.com>} (S-Core)\r
      */\r
     public void buildTabs(Composite parent) {\r
+        buildTabs(parent, null);\r
+    }\r
+    \r
+    public void buildTabs(Composite parent, Color selectedTabColor) {\r
         final PWTabContainer container = new PWTabContainer(parent, SWT.BORDER, this.tabs);\r
         container.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true, 2, 1));\r
-        container.build();\r
+        container.build(selectedTabColor);\r
     }\r
 \r
        /**\r
index 50d5f77..18291b5 100644 (file)
@@ -30,6 +30,7 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashSet;
+import java.util.Stack;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -45,6 +46,8 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Text;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeItem;
 import org.eclipse.swt.widgets.Widget;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IEditorReference;
@@ -388,4 +391,36 @@ public class SWTUtil {
 
         return projectPath;
     }
+    
+    /**
+     * Expands tree and its sub treeitems.
+     *
+     * @param tree target tree to expand.
+     * @author Ho Namkoong {@literal <ho.namkoong@samsung.com>} (S-Core)
+     */
+    public static void expandTree(Tree tree) {
+        if(tree == null) {
+            return;
+        }
+        for(TreeItem treeitem: tree.getItems()) {
+            expandTreeItem(treeitem);
+        }
+    }
+
+    private static void expandTreeItem(TreeItem treeItem) {
+        Stack<TreeItem> treeStack = new Stack<TreeItem>();
+        treeStack.add(treeItem);
+        TreeItem selectedItem = null;
+        
+        do {
+            selectedItem = treeStack.pop();
+            selectedItem.setExpanded(true);
+            
+            if(selectedItem.getItems() != null && selectedItem.getItemCount() != 0) {
+                for (TreeItem childItem : selectedItem.getItems()) {
+                    treeStack.add(childItem);
+                }
+            }
+        } while (!treeStack.isEmpty());
+    }
 }