diff --git a/BlueBerry/Bundles/org.blueberry.ui/files.cmake b/BlueBerry/Bundles/org.blueberry.ui/files.cmake index 8c39202fa1..4891630196 100644 --- a/BlueBerry/Bundles/org.blueberry.ui/files.cmake +++ b/BlueBerry/Bundles/org.blueberry.ui/files.cmake @@ -1,229 +1,230 @@ SET(MOC_H_FILES src/internal/berryWorkbenchPlugin.h src/internal/intro/berryEditorIntroAdapterPart.h src/berryWorkbenchPart.h src/berryEditorPart.h src/berryViewPart.h + src/intro/berryIntroPart.h ) SET(CACHED_RESOURCE_FILES plugin.xml ) SET(SRC_CPP_FILES berryAbstractSourceProvider.cpp berryAbstractUIPlugin.cpp berryAbstractUICTKPlugin.cpp berryConstants.cpp berryDisplay.cpp berryEditorPart.cpp berryFileEditorInput.cpp berryGeometry.cpp berryIEditorRegistry.cpp berryImageDescriptor.cpp berryIMemento.cpp berryIPageLayout.cpp berryIPartListener.cpp berryIPerspectiveListener.cpp berryIPropertyChangeListener.cpp berryISaveablePart.cpp berryISaveablesLifecycleListener.cpp berryISelectionChangedListener.cpp berryISelectionListener.cpp berryIShellListener.cpp berryISizeProvider.cpp berryISourceProviderListener.cpp berryISources.cpp berryIWindowListener.cpp berryIWorkbenchListener.cpp berryIWorkbenchPage.cpp berryIWorkbenchPartConstants.cpp berryPlatformUI.cpp berryPoint.cpp berryPropertyChangeEvent.cpp berryRectangle.cpp berrySameShellProvider.cpp berrySaveable.cpp berrySaveablesLifecycleEvent.cpp berrySelectionChangedEvent.cpp berryShell.cpp berryShellEvent.cpp berryUIException.cpp berryViewPart.cpp berryWindow.cpp berryWorkbenchPart.cpp berryWorkbenchPreferenceConstants.cpp berryXMLMemento.cpp #application application/berryActionBarAdvisor.cpp application/berryWorkbenchAdvisor.cpp application/berryWorkbenchWindowAdvisor.cpp #commands #commands/berryAbstractContributionFactory.cpp #commands/berryCommandContributionItem.cpp #commands/berryCommandContributionItemParameter.cpp #commands/berryContributionItem.cpp #commands/berryContributionManager.cpp #commands/berryICommandImageService.cpp #commands/berryICommandService.cpp #commands/berryIContributionManagerOverrides.cpp #commands/berryIMenuItem.cpp #commands/berryIMenuItemListener.cpp #commands/berryIMenuListener.cpp #commands/berryIToolItemListener.cpp #commands/berryIUIElementListener.cpp #commands/berryMenuManager.cpp #commands/berrySubContributionItem.cpp #commands/berryUIElement.cpp #dialogs dialogs/berryIDialog.cpp dialogs/berryMessageDialog.cpp #guitk guitk/berryGuiTkControlEvent.cpp guitk/berryGuiTkEvent.cpp guitk/berryGuiTkIControlListener.cpp guitk/berryGuiTkIMenuListener.cpp guitk/berryGuiTkISelectionListener.cpp guitk/berryGuiTkSelectionEvent.cpp #handlers handlers/berryHandlerUtil.cpp handlers/berryIHandlerActivation.cpp handlers/berryShowViewHandler.cpp #src intro/berryIntroPart.cpp #tweaklets tweaklets/berryDnDTweaklet.cpp tweaklets/berryGuiWidgetsTweaklet.cpp tweaklets/berryImageTweaklet.cpp tweaklets/berryMessageDialogTweaklet.cpp tweaklets/berryWorkbenchPageTweaklet.cpp tweaklets/berryWorkbenchTweaklet.cpp #presentations presentations/berryIPresentablePart.cpp presentations/berryIPresentationFactory.cpp presentations/berryIStackPresentationSite.cpp presentations/berryStackDropResult.cpp presentations/berryStackPresentation.cpp #testing testing/berryTestableObject.cpp #util util/berrySafeRunnable.cpp ) SET(INTERNAL_CPP_FILES #intro intro/berryEditorIntroAdapterPart.cpp intro/berryIntroConstants.cpp intro/berryIntroDescriptor.cpp intro/berryIntroPartAdapterSite.cpp intro/berryIntroRegistry.cpp intro/berryViewIntroAdapterPart.cpp intro/berryWorkbenchIntroManager.cpp berryAbstractPartSelectionTracker.cpp berryAbstractSelectionService.cpp berryBundleUtility.cpp berryContainerPlaceholder.cpp berryDetachedPlaceHolder.cpp berryDefaultSaveable.cpp berryDefaultStackPresentationSite.cpp berryDetachedWindow.cpp berryDragUtil.cpp berryEditorAreaHelper.cpp berryEditorDescriptor.cpp berryEditorManager.cpp berryEditorReference.cpp berryEditorRegistry.cpp berryEditorRegistryReader.cpp berryEditorSashContainer.cpp berryEditorSite.cpp berryErrorViewPart.cpp berryFileEditorMapping.cpp berryFolderLayout.cpp berryIDragOverListener.cpp berryLayoutHelper.cpp berryLayoutPart.cpp berryLayoutPartSash.cpp berryLayoutTree.cpp berryLayoutTreeNode.cpp berryNullEditorInput.cpp berryPageLayout.cpp berryPagePartSelectionTracker.cpp berryPageSelectionService.cpp berryPartList.cpp berryPartPane.cpp berryPartPlaceholder.cpp berryPartSashContainer.cpp berryPartService.cpp berryPartSite.cpp berryPartStack.cpp berryPartTester.cpp berryPerspective.cpp berryPerspectiveDescriptor.cpp berryPerspectiveExtensionReader.cpp berryPerspectiveHelper.cpp berryPerspectiveRegistry.cpp berryPerspectiveRegistryReader.cpp berryPlaceholderFolderLayout.cpp berryPreferenceConstants.cpp berryPresentablePart.cpp berryPresentationFactoryUtil.cpp berryPresentationSerializer.cpp berryRegistryReader.cpp berrySaveablesList.cpp berryServiceLocator.cpp berryServiceLocatorCreator.cpp berryShellPool.cpp berrySourcePriorityNameMapping.cpp berryStackablePart.cpp berryStickyViewDescriptor.cpp berryStickyViewManager.cpp berryTweaklets.cpp berryViewDescriptor.cpp berryViewFactory.cpp berryViewLayout.cpp berryViewReference.cpp berryViewRegistry.cpp berryViewRegistryReader.cpp berryViewSashContainer.cpp berryViewSite.cpp berryWorkbenchPage.cpp berryWindowManager.cpp berryWindowPartSelectionTracker.cpp berryWindowSelectionService.cpp berryWorkbench.cpp berryWorkbenchConfigurer.cpp berryWorkbenchConstants.cpp berryWorkbenchPagePartList.cpp berryWorkbenchPartReference.cpp berryWorkbenchPlugin.cpp berryWorkbenchRegistryConstants.cpp berryWorkbenchServiceRegistry.cpp berryWorkbenchTestable.cpp berryWorkbenchWindow.cpp berryWorkbenchWindowConfigurer.cpp berryWWinPartService.cpp ) SET(CPP_FILES ) foreach(file ${SRC_CPP_FILES}) SET(CPP_FILES ${CPP_FILES} src/${file}) endforeach(file ${SRC_CPP_FILES}) foreach(file ${INTERNAL_CPP_FILES}) SET(CPP_FILES ${CPP_FILES} src/internal/${file}) endforeach(file ${INTERNAL_CPP_FILES}) diff --git a/BlueBerry/Bundles/org.blueberry.ui/src/intro/berryIntroPart.h b/BlueBerry/Bundles/org.blueberry.ui/src/intro/berryIntroPart.h index 71bdee6829..998ef9bed9 100644 --- a/BlueBerry/Bundles/org.blueberry.ui/src/intro/berryIntroPart.h +++ b/BlueBerry/Bundles/org.blueberry.ui/src/intro/berryIntroPart.h @@ -1,223 +1,226 @@ /*========================================================================= Program: BlueBerry Platform Language: C++ Date: $Date$ Version: $Revision$ Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. See MITKCopyright.txt or http://www.mitk.org/copyright.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #ifndef BERRYINTROPART_H_ #define BERRYINTROPART_H_ #include "berryIIntroPart.h" #include "berryIIntroSite.h" #include #include #include #include namespace berry { /** * Abstract base implementation of an intro part. *

* Subclasses must implement the following methods: *

    *
  • CreatePartControl- to create the intro part's controls *
  • *
  • SetFocus- to accept focus
  • *
  • StandbyStateChanged- to change the standby mode
  • *
*

*

* Subclasses may extend or reimplement the following methods as required: *

    *
  • SetInitializationData- extend to provide additional * initialization when the intro extension is instantiated
  • *
  • Init(IIntroSite::Pointer, IMemento::Pointer)- extend to provide additional * initialization when intro is assigned its site
  • *
  • GetAdapter- reimplement to make their intro adaptable *
  • *
*

*/ -class BERRY_UI IntroPart: public IIntroPart, public IExecutableExtension +class BERRY_UI IntroPart: public QObject, public IIntroPart, public IExecutableExtension { + Q_OBJECT + Q_INTERFACES(berry::IIntroPart berry::IExecutableExtension) + private: IConfigurationElement::Pointer configElement; ImageDescriptor::Pointer imageDescriptor; IIntroSite::Pointer partSite; void* titleImage; std::string titleLabel; IPropertyChangeListener::Events propChangeEvents; /** * Return the default title string. * * @return the default title string */ std::string GetDefaultTitle() const; protected: /** * Fires a property changed event. * * @param propertyId * the id of the property that changed */ void FirePropertyChange(int propertyId); /** * Returns the configuration element for this part. The configuration * element comes from the plug-in registry entry for the extension defining * this part. * * @return the configuration element for this part */ IConfigurationElement::Pointer GetConfigurationElement(); /** * Returns the default title image. * * @return the default image */ void* GetDefaultImage() const; /** * Sets the part site. *

* Subclasses must invoke this method from {@link org.eclipse.ui.intro.IIntroPart#init(IIntroSite, IMemento)}. *

* * @param site the intro part site */ void SetSite(IIntroSite::Pointer site); /** * Sets or clears the title image of this part. * * @param titleImage * the title image, or null to clear */ void SetTitleImage(void* titleImage); /** * Set the title string for this part. * * @param titleLabel the title string. Must not be null. * @since 3.2 */ void SetTitle(const std::string& titleLabel); public: /* (non-Javadoc) * @see org.eclipse.ui.intro.IIntroPart#addPropertyListener(org.eclipse.ui.IPropertyListener) */ void AddPropertyListener(IPropertyChangeListener::Pointer l); /** * The IntroPart implementation of this * IIntroPart method disposes the title image loaded by * setInitializationData. Subclasses may extend. */ ~IntroPart(); /** * This implementation of the method declared by IAdaptable * passes the request along to the platform's adapter manager; roughly * Platform.getAdapterManager().getAdapter(this, adapter). * Subclasses may override this method (however, if they do so, they should * invoke the method on their superclass to ensure that the Platform's * adapter manager is consulted). */ // Object getAdapter(Class adapter) { // return Platform.getAdapterManager().getAdapter(this, adapter); // } /* * (non-Javadoc) * * @see org.eclipse.ui.intro.IIntroPart#getIntroSite() */ IIntroSite::Pointer GetIntroSite() const; /* (non-Javadoc) * @see org.eclipse.ui.intro.IIntroPart#getTitleImage() */ void* GetTitleImage() const; /* (non-Javadoc) * @see org.eclipse.ui.intro.IIntroPart#getTitle() */ std::string GetPartName() const; /** * The base implementation of this {@link org.eclipse.ui.intro.IIntroPart}method ignores the * memento and initializes the part in a fresh state. Subclasses may extend * to perform any state restoration, but must call the super method. * * @param site * the intro site * @param memento * the intro part state or null if there is no * previous saved state * @exception PartInitException * if this part was not initialized successfully */ void Init(IIntroSite::Pointer site, IMemento::Pointer memento) throw (PartInitException); /* (non-Javadoc) * @see org.eclipse.ui.intro.IIntroPart#removePropertyListener(org.eclipse.ui.IPropertyListener) */ void RemovePropertyListener(IPropertyChangeListener::Pointer l); /** * The base implementation of this {@link org.eclipse.ui.intro.IIntroPart} method does nothing. * Subclasses may override. * * @param memento * a memento to receive the object state */ void SaveState(IMemento::Pointer memento); /** * The IntroPart implementation of this * IExecutableExtension records the configuration element in * and internal state variable (accessible via getConfigElement). * It also loads the title image, if one is specified in the configuration * element. Subclasses may extend. * * Should not be called by clients. It is called by the core plugin when * creating this executable extension. */ void SetInitializationData(IConfigurationElement::Pointer cfig, const std::string& propertyName, Object::Pointer data); }; } #endif /* BERRYINTROPART_H_ */