From c9e3882d31bca3fff7052a23a68b0ec0f078bff2 Mon Sep 17 00:00:00 2001 From: "joon.c.baek" Date: Tue, 24 May 2016 15:51:10 +0900 Subject: [PATCH] Add tooltip to DACustomFeatureToggle Change-Id: Iff6922d2feeb3bbbf9f5b4594882370e9a934ae5 Signed-off-by: joon.c.baek --- .../widgets/button/DACustomButtonAttribute.java | 11 ++++ .../button/toggle/DACustomFeatureToggleButton.java | 8 +++ .../toggle/DACustomMultiToggleButtonGroup.java | 7 +++ .../setting/FlatFeatureDialogFeatureListPage.java | 60 +++++++++++++--------- 4 files changed, 62 insertions(+), 24 deletions(-) diff --git a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/DACustomButtonAttribute.java b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/DACustomButtonAttribute.java index 66b1e6b..280be65 100644 --- a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/DACustomButtonAttribute.java +++ b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/DACustomButtonAttribute.java @@ -52,6 +52,7 @@ public class DACustomButtonAttribute { private List buttonImages = new ArrayList(); private Point buttonImagePoint; private boolean isCapitalize = false; + private DACustomButton tooltipButton; private int align = SWT.LEFT; private Image iconImage = null; @@ -249,4 +250,14 @@ public class DACustomButtonAttribute { public boolean getCapitalize() { return isCapitalize; } + + public void setTooltipButton(DACustomButton tooltip) + { + this.tooltipButton = tooltip; + } + + public DACustomButton getTooltipButton() + { + return tooltipButton; + } } diff --git a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/toggle/DACustomFeatureToggleButton.java b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/toggle/DACustomFeatureToggleButton.java index af52d68..0f0c36b 100644 --- a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/toggle/DACustomFeatureToggleButton.java +++ b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/toggle/DACustomFeatureToggleButton.java @@ -207,6 +207,14 @@ public class DACustomFeatureToggleButton extends DACustomButton { attr.setCapitalize(cap); } + public void setTooltipButton(DACustomButton tooltip) { + attr.setTooltipButton(tooltip); + } + + public DACustomButton getTooltipButton() { + return attr.getTooltipButton(); + } + protected void addToggleListeners() { if (null != toggleButtonMouseListener) { this.addListener(SWT.MouseEnter, toggleButtonMouseListener); diff --git a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/toggle/DACustomMultiToggleButtonGroup.java b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/toggle/DACustomMultiToggleButtonGroup.java index 40f4009..fb84721 100644 --- a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/toggle/DACustomMultiToggleButtonGroup.java +++ b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/toggle/DACustomMultiToggleButtonGroup.java @@ -60,6 +60,13 @@ public class DACustomMultiToggleButtonGroup { return; toggleButtonList.get(index).setToggled(flag); } + + public DACustomFeatureToggleButton getButton(String text) { + int index = this.getIndexToggleButton(toggleButtonList, text); + if (index < 0) + return null; + return toggleButtonList.get(index); + } public void setSelection(DACustomFeatureToggleButton toggle, boolean flag) { int index = this.getIndexToggleButton(toggleButtonList, toggle.getText()); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/setting/FlatFeatureDialogFeatureListPage.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/setting/FlatFeatureDialogFeatureListPage.java index ce58c74..6c115be 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/setting/FlatFeatureDialogFeatureListPage.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/setting/FlatFeatureDialogFeatureListPage.java @@ -225,9 +225,13 @@ public class FlatFeatureDialogFeatureListPage extends DAPageComposite { TargetData target = SettingDataManager.INSTANCE.getTarget(null); if (!toggleButton.isToggled()) { target.removeSelectedFlatFeature(toggleButton.getText()); + toggleButton.getParent().setBackground(ColorResources.FEATURE_FEATURELISTCOMP_NORMAL_BACKGROUND); + toggleButton.getTooltipButton().setBackground(ColorResources.FEATURE_FEATURELISTCOMP_NORMAL_BACKGROUND); } else { target.addSelectedFlatFeature(toggleButton.getText()); + toggleButton.getParent().setBackground(ColorResources.FEATURE_FEATURELISTCOMP_SELECT_BACKGROUND); + toggleButton.getTooltipButton().setBackground(ColorResources.FEATURE_FEATURELISTCOMP_SELECT_BACKGROUND); } //createFeatureListComposite(); featureDialog.getSelectedFeaturePage().createSelectedFeatureComposite(); @@ -301,31 +305,10 @@ public class FlatFeatureDialogFeatureListPage extends DAPageComposite { data = new FormData(); data.top = new FormAttachment(0, topPosition); data.left = new FormAttachment(0, 0); - data.width = FEATURELIST_BODY_ITEM_WIDTH - 93; + data.width = FEATURELIST_BODY_ITEM_WIDTH; data.height = FEATURELIST_BODY_ITEM_HEIGHT; itemComp.setLayoutData(data); - - if (featuretoggleGroup.getGroupLength() < featureList.size()) { - DACustomFeatureToggleButton toggle = createToggleButton(itemComp, - feature.getNormalImage(), feature.getOverImage(), feature.getFocusImage(), feature.getDimImage(), - imagePoint, feature.getName(), - null, FEATURELIST_BODY_ITEM_WIDTH - 93, FEATURELIST_BODY_ITEM_HEIGHT, - 0, 0); - toggle.setDescription(feature.getDescription()); - toggle.setPage(feature.getPage()); - toggle.setOverhead(feature.getOverheadRankingMessage()); - toggle.setTitleFont(FontResources.SETTING_TITLE_FONT); - toggle.setDescFont(FontResources.SETTING_DESCRIPTION_FONT); - toggle.setPageFont(FontResources.SETTING_DESCRIPTION_FONT); - toggle.setOverheadFont(FontResources.SETTING_DESCRIPTION_FONT); - // TODO: Set title, description, page font size - featuretoggleGroup.addToggleButton(toggle); - toggle.addListener(SWT.MouseUp, toggleListener); - } - if (target.isSelectedFlatFeature(feature.getName())) - featuretoggleGroup.setSelection(feature.getName(), true); - else - featuretoggleGroup.setSelection(feature.getName(), false); + // overhead info tooltip tooltip = new DACustomTooltip() { @Override @@ -334,7 +317,7 @@ public class FlatFeatureDialogFeatureListPage extends DAPageComposite { tooltipMessage.add(feature.getOverheadRankingMessage()); } }; - DACustomButton infoButton = new DACustomButton(itemComp, SWT.NONE); + DACustomButton infoButton = new DACustomButton(itemComp, SWT.TRANSPARENT); infoButton.setBackground(ColorResources.WHITE); infoButton.setImages(ImageResources.TOOLTIP_INFO_FEATURELIST_NORMAL, ImageResources.TOOLTIP_INFO_FEATURELIST_NORMAL, @@ -363,6 +346,35 @@ public class FlatFeatureDialogFeatureListPage extends DAPageComposite { } }); + if (featuretoggleGroup.getGroupLength() < featureList.size()) { + DACustomFeatureToggleButton toggle = createToggleButton(itemComp, + feature.getNormalImage(), feature.getOverImage(), feature.getFocusImage(), feature.getDimImage(), + imagePoint, feature.getName(), + null, FEATURELIST_BODY_ITEM_WIDTH - 93, FEATURELIST_BODY_ITEM_HEIGHT, + 0, 0); + toggle.setDescription(feature.getDescription()); + toggle.setPage(feature.getPage()); + toggle.setOverhead(feature.getOverheadRankingMessage()); + toggle.setTitleFont(FontResources.SETTING_TITLE_FONT); + toggle.setDescFont(FontResources.SETTING_DESCRIPTION_FONT); + toggle.setPageFont(FontResources.SETTING_DESCRIPTION_FONT); + toggle.setOverheadFont(FontResources.SETTING_DESCRIPTION_FONT); + toggle.setTooltipButton(infoButton); + // TODO: Set title, description, page font size + featuretoggleGroup.addToggleButton(toggle); + toggle.addListener(SWT.MouseUp, toggleListener); + } + if (target.isSelectedFlatFeature(feature.getName())) { + featuretoggleGroup.setSelection(feature.getName(), true); + featuretoggleGroup.getButton(feature.getName()).getParent().setBackground(ColorResources.FEATURE_FEATURELISTCOMP_SELECT_BACKGROUND); + featuretoggleGroup.getButton(feature.getName()).getTooltipButton().setBackground(ColorResources.FEATURE_FEATURELISTCOMP_SELECT_BACKGROUND); + } + else { + featuretoggleGroup.setSelection(feature.getName(), false); + featuretoggleGroup.getButton(feature.getName()).getParent().setBackground(ColorResources.FEATURE_FEATURELISTCOMP_NORMAL_BACKGROUND); + featuretoggleGroup.getButton(feature.getName()).getTooltipButton().setBackground(ColorResources.FEATURE_FEATURELISTCOMP_NORMAL_BACKGROUND); + } + topPosition += (FEATURELIST_BODY_ITEM_HEIGHT + FEATURELIST_BODY_ITEM_MARGIN); } featureListComp.layout(true); -- 2.7.4