diff options
author | Stas Negara <snegara@google.com> | 2015-05-15 17:32:30 -0700 |
---|---|---|
committer | Stas Negara <snegara@google.com> | 2015-05-15 17:46:29 -0700 |
commit | ae29366ae1e5c77f635945cd8a0689847ddca89b (patch) | |
tree | ab0fb2cc2dc34d0503ad34a97112f3fe1d194ea7 | |
parent | 7cf47851ef8f2520405dad8c3976bcb132091efa (diff) | |
download | testing-ae29366ae1e5c77f635945cd8a0689847ddca89b.tar.gz |
Checked/selected dimension values should use bold text font.
A group with at least one checked/selected child should also
use bold text font.
Change-Id: I9210b1397948419a71d4f2800e32981d6ac1245b
-rw-r--r-- | src/com/google/gct/testing/TwoPanelTree.java | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/com/google/gct/testing/TwoPanelTree.java b/src/com/google/gct/testing/TwoPanelTree.java index b7f7e5f..0440064 100644 --- a/src/com/google/gct/testing/TwoPanelTree.java +++ b/src/com/google/gct/testing/TwoPanelTree.java @@ -50,6 +50,8 @@ import java.util.Map; import java.util.Random; import static com.android.tools.idea.run.CloudConfiguration.Kind.SINGLE_DEVICE; +import static com.intellij.ui.SimpleTextAttributes.REGULAR_ATTRIBUTES; +import static com.intellij.ui.SimpleTextAttributes.REGULAR_BOLD_ATTRIBUTES; import static javax.swing.tree.TreeSelectionModel.SINGLE_TREE_SELECTION; @@ -447,17 +449,28 @@ public class TwoPanelTree extends MouseAdapter implements ListSelectionListener, Object userObject = ((DefaultMutableTreeNode)value).getUserObject(); if (userObject instanceof CloudTestingType) { CloudTestingType cloudTestingType = (CloudTestingType)userObject; - getTextRenderer().append(cloudTestingType.getConfigurationDialogDisplayName()); + getTextRenderer().append(cloudTestingType.getConfigurationDialogDisplayName(), + ((CheckedTreeNode) value).isChecked() ? REGULAR_BOLD_ATTRIBUTES : REGULAR_ATTRIBUTES); updateTreeState(tree, (CheckedTreeNode)value, cloudTestingType); } else if (userObject instanceof CloudTestingTypeGroup) { CloudTestingTypeGroup group = (CloudTestingTypeGroup)userObject; - getTextRenderer().append(group.getName()); + getTextRenderer().append(group.getName(), + hasCheckedChildren((CheckedTreeNode) value) ? REGULAR_BOLD_ATTRIBUTES : REGULAR_ATTRIBUTES); CloudTestingType type = (CloudTestingType) ((CheckedTreeNode) ((DefaultMutableTreeNode)value).getChildAt(0)).getUserObject(); updateTreeState(tree, (CheckedTreeNode)value, type); } } } + private boolean hasCheckedChildren(CheckedTreeNode node) { + for (int i = 0; i < node.getChildCount(); i++) { + if (((CheckedTreeNode)node.getChildAt(i)).isChecked()) { + return true; + } + } + return false; + } + private void updateTreeState(JTree tree, CheckedTreeNode node, CloudTestingType cloudTestingType) { if (node.isEnabled()) { //getTextRenderer().setForeground(Color.BLACK); @@ -547,11 +560,13 @@ public class TwoPanelTree extends MouseAdapter implements ListSelectionListener, Object userObject = ((DefaultMutableTreeNode)value).getUserObject(); if (userObject instanceof CloudTestingType) { CloudTestingType googleCloudTestingType = (CloudTestingType)userObject; - myTextRenderer.append(googleCloudTestingType.getConfigurationDialogDisplayName()); + + myTextRenderer.append(googleCloudTestingType.getConfigurationDialogDisplayName(), + myRadioButton.isSelected() ? REGULAR_BOLD_ATTRIBUTES : REGULAR_ATTRIBUTES); updateTreeState(tree, (CheckedTreeNode)value, googleCloudTestingType); } else if (userObject instanceof CloudTestingTypeGroup) { CloudTestingTypeGroup group = (CloudTestingTypeGroup)userObject; - myTextRenderer.append(group.getName()); + myTextRenderer.append(group.getName(), myRadioButton.isSelected() ? REGULAR_BOLD_ATTRIBUTES : REGULAR_ATTRIBUTES); CloudTestingType type = (CloudTestingType)((CheckedTreeNode)((DefaultMutableTreeNode)value).getChildAt(0)).getUserObject(); updateTreeState(tree, (CheckedTreeNode)value, type); } |