From 8797ef4420a774cc24c8a0d002c28eab4df2ede3 Mon Sep 17 00:00:00 2001 From: Lukas Ladenberger <lukas.ladenberger@googlemail.com> Date: Tue, 11 Dec 2012 11:57:07 +0100 Subject: [PATCH] working on observer view --- .../icons/eclipse16/linkto_help.gif | Bin 0 -> 618 bytes de.bmotionstudio.gef.editor/plugin.xml | 3 +- .../gef/editor/BMotionAbstractWizard.java | 10 +++++++ .../gef/editor/EditorImageRegistry.java | 5 ++-- .../gef/editor/observer/ObserverWizard.java | 8 +++++ .../gef/editor/observer/view/HelpAction.java | 28 ++++++++++++++++++ .../editor/observer/view/ObserverPage.java | 25 ++++++++++++++-- .../rodin/PerspectiveEditFactory.java | 2 ++ 8 files changed, 75 insertions(+), 6 deletions(-) create mode 100644 de.bmotionstudio.gef.editor/icons/eclipse16/linkto_help.gif create mode 100644 de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/view/HelpAction.java 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 GIT binary patch literal 618 zcmZ?wbhEHb6krfwc*el+@8AEApT0hL{PNG=|DQg8&8?ZTb<c^5*Y3GTR|Kau1*JBG zq&0=4H^t_6#^rbB)J*A~v3la%^^4c;*|O)v`K$NtKYp22GbOubN>TI7l9pM;Aadrs z)q57K*|TWvo`q|6FJ8NQ^PUs8?mzqR`TO%%?+Tk|_Rd*9f6bnGt9LJ4yJyG2Gh6na zIC$#nnJf3^uGuqp_3o3G@14JP@4~gar?1?7^77r^fB#QixqIW`%j@@_J$Ui%-RJLL zfB*mW_y3CzU+=wm_wv*CFTekP|MUOtr?21s{D1T5>(9Uc|NQ&^_0RtwfB%2~`~Ua9 z|KI-p|Ml<x$_*P&ojLOV|9^%-1{8m?FfuUsGw6Wa1&R{}_TvryP0cN>t$qs9JUr40 zer^8R{6g$3jO;?JY^{odOr}OcLMjYQg2K&y{Gz4;9DIBnTBf4>{r>WDZb}@IZp?gK zZf=_LO;Uz7UM40!%DjADULsOWJT9)THZ~SqTspU%xSKd#Jf2(Kvv7Ux^4MQO*U{0_ zm_ydn^NX%TlZN`|rY9DO$tNZ$I{GaTc=F^>ud=(9!h?d86BDJy@@zAc9v$nG=cswZ nP;}U3vXigQj)sei*?Gjp{G^ILEplmMQH{%JIT9S8z+epk<qr9R literal 0 HcmV?d00001 diff --git a/de.bmotionstudio.gef.editor/plugin.xml b/de.bmotionstudio.gef.editor/plugin.xml index a4ff042b..3a5e5027 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 a1ff60af..fa865249 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 22a64fdc..72511e5f 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 9fdcc5b3..a281190d 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 00000000..df48c6e9 --- /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 23204cc4..3d21b76a 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 35a2c477..3dd55a03 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); } -- GitLab