Hi,

yes, this is the one. If you look at the attached patch, the following changes "inject" a module context into the plug-in:

--- 
a/Plugins/org.mitk.gui.qt.imagenavigator/src/internal/mitkImageNavigatorPluginActivator.cpp
+++ 
b/Plugins/org.mitk.gui.qt.imagenavigator/src/internal/mitkImageNavigatorPluginActivator.cpp
@@ -19,6 +19,8 @@ See LICENSE.txt or http://www.mitk.org for details.
#include <QtPlugin> +#include <usModuleInitialization.h>
+
 namespace mitk {
void ImageNavigatorPluginActivator::start(ctkPluginContext* context)
@@ -34,3 +36,5 @@ namespace mitk {
 }
Q_EXPORT_PLUGIN2(org_mitk_gui_qt_imagenavigator, mitk::ImageNavigatorPluginActivator)
+
+US_INITIALIZE_MODULE("ImageNavigator", "liborg_mitk_gui_qt_imagenavigator")


However, as Stefan wrote, you can retrieve services registered by modules from the ctkPluginContext as well. If you need to register services yourself from within a plug-in and these services should also be visible to modules, you need to use a us::ModuleContext instance for the registration.

Best,
Sascha


On 03/31/2014 11:46 AM, Clarkson, Matt wrote:
Hi there,

do you mean this one:
http://sourceforge.net/p/mitk/mailman/message/31760030/

Im only seeing a call to
us::Module*  module  =  us::GetModuleContext()->GetModule();

But we dont have the context….. Im missing something.

Matt


On 31 Mar 2014, at 09:26, Sascha Zelzer <[email protected] <mailto:[email protected]>> wrote:

Hi Miklos,

you can supply your plug-in with a micro service context such that your code below will link properly. Please search the mailing list archive for "link error us::GetModuleContext" and see my last email containing an attachment.

Best,
Sascha

On 03/30/2014 09:37 PM, Miklos Espak wrote:
Hi,

we'd like to add a [0.0, 1.0] range constraint for an opacity property.

We did this in our plugin that all our applications depend on:

    mitk::IPropertyExtensions*  propertyExtensions  =  
mitk::CoreServices::GetPropertyExtensions();
    mitk::FloatPropertyExtension::Pointer  opacityPropertyExtension  =  
mitk::FloatPropertyExtension::New(0.0,  1.0);
    propertyExtensions->AddExtension("Image  Rendering.Lowest  Value  Opacity", 
 opacityPropertyExtension.GetPointer());
    propertyExtensions->AddExtension("Image  Rendering.Highest  Value  
Opacity",  opacityPropertyExtension.GetPointer());
    propertyExtensions->AddExtension("black  opacity",  
opacityPropertyExtension.GetPointer());

But this causes the following linker error:

[ 90%] Building CXX object Code/Gui/MITK/Plugins/uk.ac.ucl.cmic.gui.qt.commonapps/CMakeFiles/uk_ac_ucl_cmic_gui_qt_commonapps.dir/src/QmitkCommonAppsApplicationPlugin.cxx.o Linking CXX shared library ../../../../../bin/plugins/libuk_ac_ucl_cmic_gui_qt_commonapps.dylib
Undefined symbols for architecture x86_64:
"us::GetModuleContext()", referenced from:
QmitkCommonAppsApplicationPlugin::QmitkCommonAppsApplicationPlugin()in QmitkCommonAppsApplicationPlugin.cxx.o QmitkCommonAppsApplicationPlugin::QmitkCommonAppsApplicationPlugin()in QmitkCommonAppsApplicationPlugin.cxx.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[2]: *** [bin/plugins/libuk_ac_ucl_cmic_gui_qt_commonapps.dylib] Error 1 make[1]: *** [Code/Gui/MITK/Plugins/uk.ac.ucl.cmic.gui.qt.commonapps/CMakeFiles/uk_ac_ucl_cmic_gui_qt_commonapps.dir/all] Error 2
make: *** [all] Error 2
20:34:02: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project NIFTK (kit: Debug)
When executing step 'Make'


Is there a way to access the property extensions from a plugin?

Thanks,
Miklos


------------------------------------------------------------------------------
_______________________________________________
mitk-users mailing list
[email protected] <mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/mitk-users


------------------------------------------------------------------------------
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to