diff options
| author | Pierre-Charles David | 2017-02-20 16:43:59 +0000 |
|---|---|---|
| committer | Joao Barata | 2017-07-11 09:31:59 +0000 |
| commit | b4052069c5622f976cf70dc0ffc754d32fb22a64 (patch) | |
| tree | 6f0bde27f2812d2c34ac8572aec09cde2e6c24bd | |
| parent | d01f7023be370fe022c00464ef20eb913bf6bfae (diff) | |
| download | org.eclipse.amalgam-b4052069c5622f976cf70dc0ffc754d32fb22a64.tar.gz org.eclipse.amalgam-b4052069c5622f976cf70dc0ffc754d32fb22a64.tar.xz org.eclipse.amalgam-b4052069c5622f976cf70dc0ffc754d32fb22a64.zip | |
[509735] Extract activity configuration into separate class
Bug: 509735
Change-Id: I5da4549a30a95563315e38cc73f9bfc0ab60db86
Signed-off-by: Pierre-Charles David <pierre-charles.david@obeo.fr>
2 files changed, 132 insertions, 48 deletions
diff --git a/plugins/org.eclipse.amalgam.explorer.activity.ui/src/org/eclipse/amalgam/explorer/activity/ui/api/configuration/ActivityConfiguration.java b/plugins/org.eclipse.amalgam.explorer.activity.ui/src/org/eclipse/amalgam/explorer/activity/ui/api/configuration/ActivityConfiguration.java new file mode 100644 index 00000000..7b0a74ce --- /dev/null +++ b/plugins/org.eclipse.amalgam.explorer.activity.ui/src/org/eclipse/amalgam/explorer/activity/ui/api/configuration/ActivityConfiguration.java @@ -0,0 +1,92 @@ +/******************************************************************************* + * Copyright (c) 2017 THALES GLOBAL SERVICES. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.amalgam.explorer.activity.ui.api.configuration; + +import org.eclipse.amalgam.explorer.activity.ui.api.editor.predicates.IPredicate; +import org.eclipse.swt.graphics.Image; +import org.eclipse.ui.forms.events.IHyperlinkListener; + +/** + * Represents the configuration of an Activity inside a Section. + * + * @author pcdavid + */ +public class ActivityConfiguration { + private String id; + + private String name; + + private IHyperlinkListener listener; + + private int index; + + private Image image; + + private String description; + + private IPredicate predicate; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public IHyperlinkListener getListener() { + return listener; + } + + public void setListener(IHyperlinkListener listener) { + this.listener = listener; + } + + public int getIndex() { + return index; + } + + public void setIndex(int index) { + this.index = index; + } + + public Image getImage() { + return image; + } + + public void setImage(Image image) { + this.image = image; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public IPredicate getPredicate() { + return predicate; + } + + public void setPredicate(IPredicate predicate) { + this.predicate = predicate; + } +} diff --git a/plugins/org.eclipse.amalgam.explorer.activity.ui/src/org/eclipse/amalgam/explorer/activity/ui/api/editor/activities/ExplorerActivity.java b/plugins/org.eclipse.amalgam.explorer.activity.ui/src/org/eclipse/amalgam/explorer/activity/ui/api/editor/activities/ExplorerActivity.java index 9131a20b..bebcf4ab 100644 --- a/plugins/org.eclipse.amalgam.explorer.activity.ui/src/org/eclipse/amalgam/explorer/activity/ui/api/editor/activities/ExplorerActivity.java +++ b/plugins/org.eclipse.amalgam.explorer.activity.ui/src/org/eclipse/amalgam/explorer/activity/ui/api/editor/activities/ExplorerActivity.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2015 THALES GLOBAL SERVICES. + * Copyright (c) 2006, 2017 THALES GLOBAL SERVICES. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -11,6 +11,7 @@ package org.eclipse.amalgam.explorer.activity.ui.api.editor.activities; import org.eclipse.amalgam.explorer.activity.ui.ActivityExplorerActivator; +import org.eclipse.amalgam.explorer.activity.ui.api.configuration.ActivityConfiguration; import org.eclipse.amalgam.explorer.activity.ui.api.editor.pages.helper.FormHelper; import org.eclipse.amalgam.explorer.activity.ui.api.editor.predicates.IPredicate; import org.eclipse.amalgam.explorer.activity.ui.internal.extension.point.manager.ActivityExplorerExtensionManager; @@ -25,91 +26,87 @@ import org.eclipse.ui.forms.widgets.FormToolkit; import org.eclipse.ui.forms.widgets.ImageHyperlink; public class ExplorerActivity implements IVisibility, IOrdered { - + private ActivityConfiguration config; + private ImageHyperlink widget; + + private static ActivityConfiguration parseConfiguration(IConfigurationElement element_p) { + ActivityConfiguration config = new ActivityConfiguration(); + config.setName(ActivityExplorerExtensionManager.getName(element_p)); + config.setDescription(ActivityExplorerExtensionManager.getDescription(element_p)); + config.setIndex(Integer.parseInt(ActivityExplorerExtensionManager.getIndex(element_p))); + config.setListener(ActivityExplorerExtensionManager.getActivityAdapter(element_p)); + config.setImage(ActivityExplorerExtensionManager.getImage(element_p)); + config.setId(ActivityExplorerExtensionManager.getId(element_p)); + config.setPredicate(ActivityExplorerExtensionManager.getPredicate(element_p)); + return config; + } + public ExplorerActivity(IConfigurationElement element_p) { - name = ActivityExplorerExtensionManager.getName(element_p); - description = ActivityExplorerExtensionManager.getDescription(element_p); - index = Integer.parseInt(ActivityExplorerExtensionManager.getIndex(element_p)); - - listener = ActivityExplorerExtensionManager.getActivityAdapter(element_p); - - image = ActivityExplorerExtensionManager.getImage(element_p); - id = ActivityExplorerExtensionManager.getId(element_p); - predicate = ActivityExplorerExtensionManager.getPredicate(element_p); + this.config = parseConfiguration(element_p); } public ExplorerActivity(String id, String name, IHyperlinkListener listener, IPredicate predicate, int index) { - super(); - this.id = id; - this.name = name; - this.listener = listener; - this.predicate = predicate; - setPosition(index); - + this.config = new ActivityConfiguration(); + this.config.setId(id); + this.config.setName(name); + this.config.setListener(listener); + this.config.setPredicate(predicate); + this.config.setIndex(index); } public String getId() { - return id; + return config.getId(); } public String getName() { - return name; + return config.getName(); } public IHyperlinkListener getListener() { - return listener; + return config.getListener(); } - private String id; - private String name; - private IHyperlinkListener listener; - private int index; - private Image image; - private String description; - private IPredicate predicate; - public Image getImage() { - return image; + return config.getImage(); } public String getDescription() { - return description; + return config.getDescription(); } /** * Return true this activity is visible. */ public boolean isVisible() { - boolean result = ActivityExplorerActivator.getDefault().getPreferenceStore().getBoolean(getId()); - if (predicate != null) { - result &= predicate.isOk(); + if (config.getPredicate() != null) { + result &= config.getPredicate().isOk(); } return result; } public IPredicate getPredicate() { - return predicate; + return config.getPredicate(); } public int getPosition() { - return index; + return config.getIndex(); } public void setPosition(int index_p) { - this.index = index_p; - + this.config.setIndex(index_p); } + public int compareTo(IOrdered arg0) { + return new Integer(getPosition()).compareTo(new Integer(arg0.getPosition())); + } + public Control init(Composite activityContainer_p, FormToolkit toolkit_p) { - widget = FormHelper.createLinkWithDescription(toolkit_p, activityContainer_p, image, name, null, description, - listener); + widget = FormHelper.createLinkWithDescription(toolkit_p, activityContainer_p, config.getImage(), config.getName(), null, config.getDescription(), + config.getListener()); return widget; - } - ImageHyperlink widget; - public ImageHyperlink getWidget() { return widget; } @@ -118,11 +115,6 @@ public class ExplorerActivity implements IVisibility, IOrdered { // dispose the section widget if (widget != null && !widget.isDisposed()) widget.dispose(); - } - public int compareTo(IOrdered arg0) { - return new Integer(getPosition()).compareTo(new Integer(arg0.getPosition())); - - } } |
