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