diff --git a/BlueBerry/Bundles/org.blueberry.ui/files.cmake b/BlueBerry/Bundles/org.blueberry.ui/files.cmake index 4891630196..e11cedbf06 100644 --- a/BlueBerry/Bundles/org.blueberry.ui/files.cmake +++ b/BlueBerry/Bundles/org.blueberry.ui/files.cmake @@ -1,230 +1,231 @@ 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 + berryIStructuredSelection.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/berryIStructuredSelection.cpp b/BlueBerry/Bundles/org.blueberry.ui/src/berryIStructuredSelection.cpp new file mode 100644 index 0000000000..c6482a3c03 --- /dev/null +++ b/BlueBerry/Bundles/org.blueberry.ui/src/berryIStructuredSelection.cpp @@ -0,0 +1,26 @@ +/*========================================================================= + + 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. + + =========================================================================*/ + +#include "berryIStructuredSelection.h" + +namespace berry { + +IStructuredSelection::~IStructuredSelection() +{ +} + +} diff --git a/BlueBerry/Bundles/org.blueberry.ui/src/berryIStructuredSelection.h b/BlueBerry/Bundles/org.blueberry.ui/src/berryIStructuredSelection.h index c522f0c722..7dfa3feb54 100755 --- a/BlueBerry/Bundles/org.blueberry.ui/src/berryIStructuredSelection.h +++ b/BlueBerry/Bundles/org.blueberry.ui/src/berryIStructuredSelection.h @@ -1,79 +1,88 @@ /*========================================================================= 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 BERRYISTRUCTUREDSELECTION_H_ #define BERRYISTRUCTUREDSELECTION_H_ #include "berryISelection.h" #include #include namespace berry { /** * A selection containing elements. */ struct BERRY_UI IStructuredSelection : public ISelection { typedef ObjectVector ContainerType; typedef ContainerType::const_iterator iterator; berryInterfaceMacro(IStructuredSelection, berry); /** * Returns the first element in this selection, or null * if the selection is empty. * * @return an element, or null if none */ virtual Object::Pointer GetFirstElement() const = 0; /** * Returns an iterator to the beginning of the elements of this selection. * * @return an iterator over the selected elements */ virtual iterator Begin() const = 0; /** * Returns an iterator to the end of the elements of this selection. * * @return an iterator over the selected elements */ virtual iterator End() const = 0; /** * Returns the number of elements selected in this selection. * * @return the number of elements selected */ virtual int Size() const = 0; /** * Returns the elements in this selection as a vector. * * @return the selected elements as a vector */ virtual ContainerType::Pointer ToVector() const = 0; + /* + * We need to define at least the destructor in this compilation unit + * because of the export macro above. Otherwise Windows throws + * a linker error in dependent librraies. The export macro is needed + * for gcc < 4.5 to correctly mark the type_info object of this class + * as visible (we have default visibility 'hidden') so that dynamic_cast calls work. + */ + virtual ~IStructuredSelection(); + }; } #endif /* BERRYISTRUCTUREDSELECTION_H_ */