Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWim Jongman2018-03-30 19:58:59 +0000
committerWim Jongman2018-04-03 18:00:49 +0000
commitc6dc63a33eebe03f3d4e3acd88f16a40197eaa4c (patch)
treed242865a8adcf0364d1b97e2fe58db4ab23c2df9 /org.eclipse.tips.ui/src/org
parenta2dfce1d07581309804ed8fb64ee6c5c01d1d492 (diff)
downloadeclipse.platform.ua-c6dc63a33eebe03f3d4e3acd88f16a40197eaa4c.tar.gz
eclipse.platform.ua-c6dc63a33eebe03f3d4e3acd88f16a40197eaa4c.tar.xz
eclipse.platform.ua-c6dc63a33eebe03f3d4e3acd88f16a40197eaa4c.zip
Bug 531792: [Tips] API cleanup
* Moved TipManager to internal * Fixed all arising issues * Added save read tips to preferences Change-Id: Id557ab165f63ecabf87460671d1ec8e7ba5de522 Signed-off-by: Wim Jongman <wim.jongman@remainsoftware.com>
Diffstat (limited to 'org.eclipse.tips.ui/src/org')
-rw-r--r--org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/DefaultTipManager.java (renamed from org.eclipse.tips.ui/src/org/eclipse/tips/ui/DefaultTipManager.java)34
-rw-r--r--org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/Slider.java10
-rw-r--r--org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/TipComposite.java8
-rw-r--r--org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/TipDialog.java3
4 files changed, 24 insertions, 31 deletions
diff --git a/org.eclipse.tips.ui/src/org/eclipse/tips/ui/DefaultTipManager.java b/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/DefaultTipManager.java
index 48b6159dd..cbb5ff483 100644
--- a/org.eclipse.tips.ui/src/org/eclipse/tips/ui/DefaultTipManager.java
+++ b/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/DefaultTipManager.java
@@ -8,14 +8,14 @@
* Contributors:
* wim.jongman@remainsoftware.com - initial API and implementation
*******************************************************************************/
-package org.eclipse.tips.ui;
+package org.eclipse.tips.ui.internal;
import org.eclipse.core.runtime.Assert;
import org.eclipse.swt.widgets.Display;
-import org.eclipse.tips.core.TipManager;
+import org.eclipse.tips.core.ITipManager;
import org.eclipse.tips.core.TipProvider;
import org.eclipse.tips.core.internal.LogUtil;
-import org.eclipse.tips.ui.internal.TipDialog;
+import org.eclipse.tips.core.internal.TipManager;
/**
* Class to manage the tip providers and start the tip of the day UI.
@@ -30,40 +30,32 @@ public abstract class DefaultTipManager extends TipManager {
* Opens the Tip of the Day dialog. Subclasses may override if they want to
* present the Tips in a different way, e.g. in a view.
*
- * @param startUp
- * When called from a startup situation, true must be passed for
- * <code>pStartup</code>. If in a manual starting situation, false
- * must be passed. This enables the manager to decide to skip opening
- * the dialog at startup (e.g., no new tip items).
+ * @param startUp When called from a startup situation, true must be passed for
+ * <code>pStartup</code>. If in a manual starting situation,
+ * false must be passed. This enables the manager to decide to
+ * skip opening the dialog at startup (e.g., no new tip items).
*
* @see #isOpen()
*/
@Override
- public TipManager open(boolean startUp) {
- if (fOpen && (fTipDialog == null || fTipDialog.getShell() == null || fTipDialog.getShell().isDisposed())) {
- fOpen = false;
- }
+ public ITipManager open(boolean startUp) {
try {
- Assert.isTrue(!fOpen, "Tip of the Day already open.");
+ Assert.isTrue(!isOpen(), "Tip of the Day already open.");
} catch (Exception e) {
log(LogUtil.error(getClass(), e));
throw e;
}
-
if (!mustOpen(startUp)) {
return this;
}
+ setOpen(true);
+
fTipDialog = new TipDialog(Display.getCurrent().getActiveShell(), this, TipDialog.DEFAULT_STYLE);
fTipDialog.open();
fTipDialog.getShell().addDisposeListener(pE -> {
- try {
- dispose();
- } finally {
- fOpen = false;
- }
+ dispose();
});
- fOpen = true;
return this;
}
@@ -74,7 +66,7 @@ public abstract class DefaultTipManager extends TipManager {
}
if (startUp && isRunAtStartup()) {
for (TipProvider provider : getProviders()) {
- if (provider.isReady() && !provider.getTips(true).isEmpty()) {
+ if (provider.isReady() && !provider.getTips().isEmpty()) {
return true;
}
}
diff --git a/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/Slider.java b/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/Slider.java
index c5c7d0aa5..bf94357fe 100644
--- a/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/Slider.java
+++ b/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/Slider.java
@@ -29,9 +29,9 @@ import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.tips.core.TipImage;
-import org.eclipse.tips.core.TipManager;
import org.eclipse.tips.core.TipProvider;
import org.eclipse.tips.core.internal.LogUtil;
+import org.eclipse.tips.core.internal.TipManager;
import org.eclipse.tips.ui.internal.util.ImageUtil;
import org.eclipse.tips.ui.internal.util.ResourceManager;
import org.eclipse.tips.ui.internal.util.SWTResourceManager;
@@ -159,7 +159,7 @@ public class Slider extends Composite {
int newSpacing = fSpacing + (emptyPixelsLeft / (spaceCount + 1));
for (int i = 0; i < Math.min(providerCount - fSliderIndex, spaceCount); i++) {
TipProvider provider = providers.get(i + fSliderIndex);
- if (fSelectedProvider == null && !provider.getTips(true).isEmpty()) {
+ if (fSelectedProvider == null && !provider.getTips().isEmpty()) {
fSelectedProvider = provider;
notifyListeners(fSelectedProvider);
}
@@ -314,7 +314,7 @@ public class Slider extends Composite {
private void paintButton(GC gc, Composite providerButton, TipProvider provider) {
gc.setAdvanced(true);
- if (fSelectedProvider.equals(provider)) {
+ if (provider.equals(fSelectedProvider)) {
gc.setForeground(getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT));
gc.setBackground(getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION));
gc.drawRectangle(0, 0, fIconSize + 3, fIconSize + 3);
@@ -354,13 +354,13 @@ public class Slider extends Composite {
}
private Image getUnreadOverlay(Composite providerButton, TipProvider provider) {
- if (provider.getTips(true).isEmpty()) {
+ if (provider.getTips().isEmpty()) {
return getProviderImage(provider, selectProviderImage(provider));
}
GC gc2 = new GC(providerButton);
gc2.setAdvanced(true);
gc2.setFont(SWTResourceManager.getBoldFont(gc2.getFont()));
- int tipCount = provider.getTips(true).size();
+ int tipCount = provider.getTips().size();
Point textExtent = gc2.textExtent(tipCount + "");
gc2.dispose();
diff --git a/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/TipComposite.java b/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/TipComposite.java
index 57f81b032..f1a792c5f 100644
--- a/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/TipComposite.java
+++ b/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/TipComposite.java
@@ -48,9 +48,9 @@ import org.eclipse.tips.core.IUrlTip;
import org.eclipse.tips.core.Tip;
import org.eclipse.tips.core.TipAction;
import org.eclipse.tips.core.TipImage;
-import org.eclipse.tips.core.TipManager;
import org.eclipse.tips.core.TipProvider;
import org.eclipse.tips.core.internal.LogUtil;
+import org.eclipse.tips.core.internal.TipManager;
import org.eclipse.tips.ui.ISwtTip;
import org.eclipse.tips.ui.internal.util.ImageUtil;
import org.eclipse.tips.ui.internal.util.ResourceManager;
@@ -313,10 +313,10 @@ public class TipComposite extends Composite implements ProviderSelectionListener
}
private void getNextTip() {
- if (fProvider.getTips(true).isEmpty() && !fTipManager.getProviders().isEmpty()) {
+ if (fProvider.getTips().isEmpty() && !fTipManager.getProviders().isEmpty()) {
fProvider.getNextTip(); // advance current tip
for (TipProvider provider : fTipManager.getProviders()) {
- if (!provider.getTips(true).isEmpty()) {
+ if (!provider.getTips().isEmpty()) {
setProvider(provider);
break;
}
@@ -387,7 +387,7 @@ public class TipComposite extends Composite implements ProviderSelectionListener
*/
private void loadTimeOutScript() {
fBrowser.setText(getScaling() + getLoadingScript(500));
- while (!getShell().isDisposed()) {
+ while (!isDisposed()) {
if (!getDisplay().readAndDispatch()) {
break;
}
diff --git a/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/TipDialog.java b/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/TipDialog.java
index fe76b7886..e1dbe7912 100644
--- a/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/TipDialog.java
+++ b/org.eclipse.tips.ui/src/org/eclipse/tips/ui/internal/TipDialog.java
@@ -18,12 +18,13 @@ import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
-import org.eclipse.tips.core.TipManager;
+import org.eclipse.tips.core.internal.TipManager;
/**
* The dialog containing the tips.
*
*/
+@SuppressWarnings("restriction")
public class TipDialog extends Dialog {
/**

Back to the top