Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpguilet2017-06-09 15:36:36 +0000
committerpguilet2017-06-21 16:05:19 +0000
commitb2117126f051d78ef337c309807a61e08ba78dbe (patch)
tree4ede0786a03dbaef20d4605a3bb79e22bbacc6d3
parentccca0ee47c478d60e7b7615c7239b00e181b38e6 (diff)
downloadorg.eclipse.sirius-b2117126f051d78ef337c309807a61e08ba78dbe.tar.gz
org.eclipse.sirius-b2117126f051d78ef337c309807a61e08ba78dbe.tar.xz
org.eclipse.sirius-b2117126f051d78ef337c309807a61e08ba78dbe.zip
[517551] Update documentation shown in representations block
Now if the selected element in representations block is a representation description, the corresponding user documentation is shown if such documentation exists. Otherwise, the associated viewpoint documentation is shown if such documentation exists. Otherwise a default documentation is shown. Bug: 517551 Change-Id: Iec2ee45ea80ed04925412f510913c87aee375837 Signed-off-by: pguilet <pierre.guilet@obeo.fr>
-rw-r--r--plugins/org.eclipse.sirius.ui/plugin.properties2
-rw-r--r--plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/graphicalcomponents/GraphicalRepresentationHandler.java6
-rw-r--r--plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/viewpoint/ViewpointsSelectionGraphicalHandler.java80
3 files changed, 55 insertions, 33 deletions
diff --git a/plugins/org.eclipse.sirius.ui/plugin.properties b/plugins/org.eclipse.sirius.ui/plugin.properties
index c2c703fbd0..14c63eb95e 100644
--- a/plugins/org.eclipse.sirius.ui/plugin.properties
+++ b/plugins/org.eclipse.sirius.ui/plugin.properties
@@ -375,7 +375,7 @@ ViewpointSelection_viewpointColumn = Viewpoint
ViewpointSelection_viewpointsMapNotReused = Original and new lists of viewpoints should not be 'different'
ViewpointSelection_wizardTitle = Viewpoints selection
ViewpointsFolderItemImpl_representationsPerCategory_title = Representations per category
-ViewpointsSelectionWizardPage_documentation_none = no documentation for this viewpoint
+ViewpointsSelectionWizardPage_documentation_none = No documentation available
ViewpointsSelectionWizardPage_documentation_title = Documentation
ViewpointsSelectionWizardPage_message = Select viewpoints to activate
ViewpointsSelectionWizardPage_title = Select viewpoints
diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/graphicalcomponents/GraphicalRepresentationHandler.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/graphicalcomponents/GraphicalRepresentationHandler.java
index 6027c2482f..8ccb98b9fe 100644
--- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/graphicalcomponents/GraphicalRepresentationHandler.java
+++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/graphicalcomponents/GraphicalRepresentationHandler.java
@@ -1194,11 +1194,13 @@ public class GraphicalRepresentationHandler implements SessionManagerListener {
viewpointsSelectionGraphicalHandler.setBrowserInput(((ViewpointItemImpl) firstElement).getViewpoint());
} else if (firstElement instanceof RepresentationDescriptionItemImpl) {
RepresentationDescriptionItemImpl representationDescriptionItemImpl = (RepresentationDescriptionItemImpl) firstElement;
- viewpointsSelectionGraphicalHandler.setBrowserInput(representationDescriptionItemImpl.getViewpoint());
+ viewpointsSelectionGraphicalHandler.setBrowserInput(representationDescriptionItemImpl.getViewpoint(),
+ (RepresentationDescription) representationDescriptionItemImpl.getWrappedObject());
} else if (firstElement instanceof RepresentationItemImpl) {
RepresentationItemImpl representationItem = (RepresentationItemImpl) firstElement;
RepresentationDescriptionItemImpl representationDescriptionItemImpl = (RepresentationDescriptionItemImpl) representationItem.getParent();
- viewpointsSelectionGraphicalHandler.setBrowserInput(representationDescriptionItemImpl.getViewpoint());
+ viewpointsSelectionGraphicalHandler.setBrowserInput(representationDescriptionItemImpl.getViewpoint(),
+ (RepresentationDescription) representationDescriptionItemImpl.getWrappedObject());
}
}
}
diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/viewpoint/ViewpointsSelectionGraphicalHandler.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/viewpoint/ViewpointsSelectionGraphicalHandler.java
index b2baca33ab..a2317d5be6 100644
--- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/viewpoint/ViewpointsSelectionGraphicalHandler.java
+++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/viewpoint/ViewpointsSelectionGraphicalHandler.java
@@ -43,6 +43,7 @@ import org.eclipse.sirius.business.api.query.IdentifiedElementQuery;
import org.eclipse.sirius.business.api.session.Session;
import org.eclipse.sirius.common.tools.api.util.StringUtil;
import org.eclipse.sirius.ui.tools.api.views.ViewHelper;
+import org.eclipse.sirius.viewpoint.description.RepresentationDescription;
import org.eclipse.sirius.viewpoint.description.Viewpoint;
import org.eclipse.sirius.viewpoint.provider.Messages;
import org.eclipse.swt.SWT;
@@ -334,38 +335,63 @@ public class ViewpointsSelectionGraphicalHandler {
public void setBrowserInput(final Viewpoint viewpoint) {
/* browser may be null if its creation fail */
- if (browser != null) {
+ if (browser != null && viewpoint != null) {
String content = null;
- if (containsHTMLDocumentation(viewpoint)) {
- content = getContentWhenHtml(viewpoint);
+ if (containsHTMLDocumentation(viewpoint.getEndUserDocumentation())) {
+ content = getContentWhenHtml(viewpoint.getEndUserDocumentation(), viewpoint.eResource().getURI());
} else {
- content = getContentWhenNoHtml(viewpoint);
+ content = getContentWhenNoHtml(viewpoint.getEndUserDocumentation());
}
browser.setText(content);
+ } else if (browser != null) {
+ browser.setText("<br><br><center><b>" + Messages.ViewpointsSelectionWizardPage_documentation_title + "</b></center>"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /***
+ * Set the browser input from given representation description. * @param viewpoint the viewpoint to document
+ *
+ * @param representationDescription
+ * the representation description to document
+ */
+ public void setBrowserInput(final Viewpoint viewpoint, final RepresentationDescription representationDescription) {
+
+ /* browser may be null if its creation fail */
+ if (browser != null && representationDescription != null && viewpoint != null) {
+ String userDocumentation;
+ if (!StringUtil.isEmpty(representationDescription.getEndUserDocumentation())) {
+ userDocumentation = representationDescription.getEndUserDocumentation();
+ } else {
+ userDocumentation = viewpoint.getEndUserDocumentation();
+ }
+ String content = null;
+ if (containsHTMLDocumentation(userDocumentation)) {
+ content = getContentWhenHtml(userDocumentation, representationDescription.eResource().getURI());
+ } else {
+ content = getContentWhenNoHtml(userDocumentation);
+ }
+ browser.setText(content);
+ } else if (browser != null) {
+ browser.setText("<br><br><center><b>" + Messages.ViewpointsSelectionWizardPage_documentation_title + "</b></center>"); //$NON-NLS-1$ //$NON-NLS-2$
}
}
/*
* The following code (HTML handling ) and methods could move to another class.
*/
- private boolean containsHTMLDocumentation(Viewpoint viewpoint) {
- if (viewpoint != null) {
- final String doc = viewpoint.getEndUserDocumentation();
- if (!StringUtil.isEmpty(doc)) {
- return doc.startsWith("<html>"); //$NON-NLS-1$
- }
+ private boolean containsHTMLDocumentation(String endUserDocumentation) {
+ if (!StringUtil.isEmpty(endUserDocumentation)) {
+ return endUserDocumentation.startsWith("<html>"); //$NON-NLS-1$
}
return false;
}
- private String getContentWhenHtml(Viewpoint viewpoint) {
-
- final String document = viewpoint.getEndUserDocumentation();
+ private String getContentWhenHtml(String endUserDocumentation, URI uri) {
Set<String> urlToRewrite = Sets.newLinkedHashSet();
- extractUrlToRewrite(document, urlToRewrite);
+ extractUrlToRewrite(endUserDocumentation, urlToRewrite);
- return rewriteURLs(viewpoint, document, urlToRewrite);
+ return rewriteURLs(uri, endUserDocumentation, urlToRewrite);
}
private void extractUrlToRewrite(String document, Set<String> urlToRewrite) {
@@ -382,12 +408,12 @@ public class ViewpointsSelectionGraphicalHandler {
}
}
- private String rewriteURLs(Viewpoint viewpoint, String document, Set<String> urls) {
+ private String rewriteURLs(URI uri, String document, Set<String> urls) {
String newDocument = document;
for (final String url : urls) {
- newDocument = newDocument.replace(url, rewriteURL(viewpoint, url));
+ newDocument = newDocument.replace(url, rewriteURL(uri, url));
}
StringBuilder css = new StringBuilder();
@@ -398,8 +424,7 @@ public class ViewpointsSelectionGraphicalHandler {
return newDocument;
}
- private String rewriteURL(Viewpoint viewpoint, String url) {
- final URI uri = viewpoint.eResource().getURI();
+ private String rewriteURL(URI uri, String url) {
String pluginId = uri.segment(1);
String rewrittenURL = ""; //$NON-NLS-1$
@@ -429,9 +454,9 @@ public class ViewpointsSelectionGraphicalHandler {
return rewrittenURL;
}
- private String getContentWhenNoHtml(Viewpoint viewpoint) {
+ private String getContentWhenNoHtml(String endUserDocumentation) {
StringBuilder content = new StringBuilder();
- return begin(content).head(content).body(content, viewpoint).end(content);
+ return begin(content).head(content).body(content, endUserDocumentation).end(content);
}
private ViewpointsSelectionGraphicalHandler begin(StringBuilder content) {
@@ -446,18 +471,13 @@ public class ViewpointsSelectionGraphicalHandler {
return this;
}
- private ViewpointsSelectionGraphicalHandler body(StringBuilder content, Viewpoint viewpoint) {
+ private ViewpointsSelectionGraphicalHandler body(StringBuilder content, String endUserDocumentation) {
content.append("<body>"); //$NON-NLS-1$
- if (viewpoint == null) {
- content.append("<br><br><center><b>").append(Messages.ViewpointsSelectionWizardPage_documentation_title).append("</b></center>"); //$NON-NLS-1$ //$NON-NLS-2$
+ if (!StringUtil.isEmpty(endUserDocumentation)) {
+ content.append(endUserDocumentation);
} else {
- final String endUserDocumentation = viewpoint.getEndUserDocumentation();
- if (!StringUtil.isEmpty(endUserDocumentation)) {
- content.append(viewpoint.getEndUserDocumentation());
- } else {
- content.append(Messages.ViewpointsSelectionWizardPage_documentation_none);
- }
+ content.append(Messages.ViewpointsSelectionWizardPage_documentation_none);
}
content.append("</body>"); //$NON-NLS-1$
return this;

Back to the top