* 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
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
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
private boolean returnedValue;\r
private Shell shell;\r
private static PreferenceWindow instance;\r
+ \r
\r
/**\r
* Constructor\r
* @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
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;
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;
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());
+ }
}