diff --git a/de.bmotionstudio.gef.editor/icons/eclipse16/linkto_help.gif b/de.bmotionstudio.gef.editor/icons/eclipse16/linkto_help.gif new file mode 100644 index 0000000000000000000000000000000000000000..86550fe9f4505c88287a70add9bb89bd24d0e8b2 Binary files /dev/null and b/de.bmotionstudio.gef.editor/icons/eclipse16/linkto_help.gif differ diff --git a/de.bmotionstudio.gef.editor/plugin.xml b/de.bmotionstudio.gef.editor/plugin.xml index a4ff042bb753fc4bfa9a1031d4020f2c3fd0f0e7..3a5e5027a79b707f8aef77b52a444de76b203556 100644 --- a/de.bmotionstudio.gef.editor/plugin.xml +++ b/de.bmotionstudio.gef.editor/plugin.xml @@ -49,7 +49,8 @@ class="de.bmotionstudio.gef.editor.library.LibraryView" icon="icons/icon_library.gif" id="de.bmotionstudio.gef.editor.LibraryView" - name="BMS Library"> + name="Library" + restorable="true"> </view> <view allowMultiple="false" diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionAbstractWizard.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionAbstractWizard.java index a1ff60af2db76dc37bb20bcd2efaa099bc1de4f9..fa865249822953de0bf204e13b52f9a04c4bbad4 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionAbstractWizard.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionAbstractWizard.java @@ -32,8 +32,18 @@ public abstract class BMotionAbstractWizard extends TrayDialog { return this.control; } + @Override + protected void configureShell(Shell newShell) { + super.configureShell(newShell); + } + public abstract String getName(); + @Override + protected int getShellStyle() { + return SWT.SHELL_TRIM; + } + @Override protected Control createDialogArea(Composite parent) { diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/EditorImageRegistry.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/EditorImageRegistry.java index 22a64fdc3fd2d8365af5fea14d58aa1a30249c72..72511e5fce357a1fe710fcdf24d90952337f87ce 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/EditorImageRegistry.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/EditorImageRegistry.java @@ -70,8 +70,9 @@ public class EditorImageRegistry implements IBMotionStudioImageRegistry { "org.eclipse.ui", "$nl$/icons/full/etool16/delete_edit.gif"); BMotionStudioImage.registerImage(IMG_ICON_DELETE_EDIT, "org.eclipse.ui", "$nl$/icons/full/etool16/delete_edit.gif"); - BMotionStudioImage.registerImage(IMG_ICON_HELP, "org.eclipse.ui", - "$nl$/icons/full/dlcl16/linkto_help.gif"); + BMotionStudioImage.registerImage(IMG_ICON_HELP, + BMotionEditorPlugin.PLUGIN_ID, + "icons/eclipse16/linkto_help.gif"); BMotionStudioImage .registerImage(IMG_ICON_TR_UP, BMotionEditorPlugin.PLUGIN_ID, "icons/eclipse16/updated_co.gif"); diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/ObserverWizard.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/ObserverWizard.java index 9fdcc5b3e9f84727b5eb905943f5c4544aca86a6..a281190dfb8d626b7b0cbf9180dc9313f06cea08 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/ObserverWizard.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/ObserverWizard.java @@ -8,6 +8,7 @@ package de.bmotionstudio.gef.editor.observer; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.PlatformUI; import de.bmotionstudio.gef.editor.BMotionAbstractWizard; import de.bmotionstudio.gef.editor.model.BControl; @@ -41,4 +42,11 @@ public abstract class ObserverWizard extends BMotionAbstractWizard { return observer.getName(); } + @Override + protected void configureShell(Shell newShell) { + super.configureShell(newShell); + PlatformUI.getWorkbench().getHelpSystem() + .setHelp(newShell, observer.getID()); + } + } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/view/HelpAction.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/view/HelpAction.java new file mode 100644 index 0000000000000000000000000000000000000000..df48c6e95c36408f597dbba1aff821cdae30997f --- /dev/null +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/view/HelpAction.java @@ -0,0 +1,28 @@ +package de.bmotionstudio.gef.editor.observer.view; + +import org.eclipse.jface.action.Action; +import org.eclipse.ui.PlatformUI; + +import de.bmotionstudio.gef.editor.BMotionStudioImage; + +public class HelpAction extends Action { + + private String observerID; + + public HelpAction() { + setText("Show help..."); + setImageDescriptor(BMotionStudioImage + .getImageDescriptor("icons/eclipse16/linkto_help.gif")); + setEnabled(false); + } + + @Override + public void run() { + PlatformUI.getWorkbench().getHelpSystem().displayHelp(observerID); + } + + public void setObserverID(String observerID) { + this.observerID = observerID; + } + +} diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/view/ObserverPage.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/view/ObserverPage.java index 23204cc44350add61fb3539fb6900533297e67cd..3d21b76a7b34cdb69560a7690a6d9764cd374adb 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/view/ObserverPage.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/view/ObserverPage.java @@ -21,6 +21,7 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Display; import org.eclipse.ui.ISelectionListener; import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.part.IPageSite; import org.eclipse.ui.part.Page; import de.bmotionstudio.gef.editor.BMotionStudioImage; @@ -40,7 +41,7 @@ public class ObserverPage extends Page implements ISelectionListener { private Composite rightContainer; - private Control oControl; + private HelpAction helpAction; @Override public void createControl(Composite parent) { @@ -114,6 +115,7 @@ public class ObserverPage extends Page implements ISelectionListener { @Override public void selectionChanged(SelectionChangedEvent event) { + restoreHelpButton(); if (rightContainer != null) rightContainer.dispose(); if (event.getSelection() != null @@ -132,6 +134,8 @@ public class ObserverPage extends Page implements ISelectionListener { GridData.FILL_BOTH)); rightContainer.setLayout(new FillLayout()); wizard.createWizardContent(rightContainer); + helpAction.setEnabled(true); + helpAction.setObserverID(o.getID()); } } container.layout(); @@ -139,9 +143,19 @@ public class ObserverPage extends Page implements ISelectionListener { }); getSite().getPage().addPostSelectionListener(this); + createActions(); + createMenu(getSite()); } + private void createActions() { + helpAction = new HelpAction(); + } + + private void createMenu(final IPageSite pageSite) { + pageSite.getActionBars().getToolBarManager().add(helpAction); + } + @Override public Control getControl() { return container; @@ -170,8 +184,9 @@ public class ObserverPage extends Page implements ISelectionListener { listViewer.setSelection(new StructuredSelection( firstObserver)); } else { - if (oControl != null) - oControl.dispose(); + restoreHelpButton(); + if (rightContainer != null) + rightContainer.dispose(); } } } @@ -184,4 +199,8 @@ public class ObserverPage extends Page implements ISelectionListener { super.dispose(); } + private void restoreHelpButton() { + helpAction.setEnabled(false); + } + } diff --git a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/PerspectiveEditFactory.java b/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/PerspectiveEditFactory.java index 35a2c477e1ef878b5d40b7a4c796cc53687ebc5c..3dd55a036ac6089db8e4085978bea219ca619e99 100644 --- a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/PerspectiveEditFactory.java +++ b/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/PerspectiveEditFactory.java @@ -11,6 +11,7 @@ import org.eclipse.ui.IPageLayout; import org.eclipse.ui.IPerspectiveFactory; import de.bmotionstudio.gef.editor.library.LibraryView; +import de.bmotionstudio.gef.editor.observer.view.ObserverView; public class PerspectiveEditFactory implements IPerspectiveFactory { @@ -37,6 +38,7 @@ public class PerspectiveEditFactory implements IPerspectiveFactory { IPageLayout.BOTTOM, 0.75f, editorArea); // Properties view bottom.addView(IPageLayout.ID_PROP_SHEET); + bottom.addView(ObserverView.ID); }