From 744c0e1cacdfd18133b092e8629aa73bf9d3d686 Mon Sep 17 00:00:00 2001 From: "ho.namkoong" Date: Wed, 8 Aug 2012 14:46:44 +0900 Subject: [PATCH] [Title] Change wizard UX Change-Id: If69a0fae802eec60de5ea8ee8cf9179be8111994 --- .../opal/preferenceWindow/PWTabContainer.java | 23 ++++++++++---- .../opal/preferenceWindow/PreferenceWindow.java | 8 ++++- .../src/org/tizen/common/util/SWTUtil.java | 35 ++++++++++++++++++++++ 3 files changed, 60 insertions(+), 6 deletions(-) diff --git a/org.tizen.common.externals/src/org/mihalis/opal/preferenceWindow/PWTabContainer.java b/org.tizen.common.externals/src/org/mihalis/opal/preferenceWindow/PWTabContainer.java index 94f9d53..8bfe14c 100644 --- a/org.tizen.common.externals/src/org/mihalis/opal/preferenceWindow/PWTabContainer.java +++ b/org.tizen.common.externals/src/org/mihalis/opal/preferenceWindow/PWTabContainer.java @@ -66,8 +66,13 @@ class PWTabContainer extends Composite { * Build the container */ void build() { + build(null); + } + + void build(Color selectedTabColor) { + createButtonsContainer(); - createButtons(); + createButtons(selectedTabColor); createContentContainer(); select(0); @@ -128,15 +133,23 @@ class PWTabContainer extends Composite { SWTGraphicUtil.dispose(this.buttonContainer, this.oldButtonContainerImage); } - /** - * Create the buttons - */ - private void createButtons() { +// /** +// * Create the buttons +// */ +// private void createButtons() { +// createButtons(null); +// } + + private void createButtons(Color selectedTabColor) { for (int i = 0; i < this.tabs.size(); i++) { final PWTab tab = this.tabs.get(i); final FlatButton button = new FlatButton(this.buttonContainer, SWT.NONE); button.setText(tab.getText()); button.setImage(tab.getImage()); + + if(selectedTabColor != null) { + button.setSelectedColor(selectedTabColor); + } SWTGraphicUtil.dispose(button, tab.getImage()); final GridData gd; diff --git a/org.tizen.common.externals/src/org/mihalis/opal/preferenceWindow/PreferenceWindow.java b/org.tizen.common.externals/src/org/mihalis/opal/preferenceWindow/PreferenceWindow.java index e1b5384..01de51e 100644 --- a/org.tizen.common.externals/src/org/mihalis/opal/preferenceWindow/PreferenceWindow.java +++ b/org.tizen.common.externals/src/org/mihalis/opal/preferenceWindow/PreferenceWindow.java @@ -18,6 +18,7 @@ import java.util.Map; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; @@ -42,6 +43,7 @@ public class PreferenceWindow { private boolean returnedValue; private Shell shell; private static PreferenceWindow instance; + /** * Constructor @@ -188,9 +190,13 @@ public class PreferenceWindow { * @author Jihoon Song {@literal } (S-Core) */ public void buildTabs(Composite parent) { + buildTabs(parent, null); + } + + public void buildTabs(Composite parent, Color selectedTabColor) { final PWTabContainer container = new PWTabContainer(parent, SWT.BORDER, this.tabs); container.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true, 2, 1)); - container.build(); + container.build(selectedTabColor); } /** diff --git a/org.tizen.common/src/org/tizen/common/util/SWTUtil.java b/org.tizen.common/src/org/tizen/common/util/SWTUtil.java index 50d5f77..18291b5 100644 --- a/org.tizen.common/src/org/tizen/common/util/SWTUtil.java +++ b/org.tizen.common/src/org/tizen/common/util/SWTUtil.java @@ -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 } (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 treeStack = new Stack(); + 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()); + } } -- 2.7.4