diff --git a/Modules/Bundles/org.mitk.gui.qt.extapplication/documentation/MitkExtQtHelpCollectionProject.qhcp b/Modules/Bundles/org.mitk.gui.qt.extapplication/documentation/MitkExtQtHelpCollectionProject.qhcp
deleted file mode 100644
index aff4b703ff..0000000000
--- a/Modules/Bundles/org.mitk.gui.qt.extapplication/documentation/MitkExtQtHelpCollectionProject.qhcp
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
- MITK Help
- qthelp://org.mitk.gui.qt.extapplication/bundle/index.html
- false
- false
- true
- qhc_cache
-
- About MITK Help
-
-
-
-
-
-
diff --git a/Modules/Bundles/org.mitk.gui.qt.extapplication/files.cmake b/Modules/Bundles/org.mitk.gui.qt.extapplication/files.cmake
index 856fec09f8..51203dd5d9 100644
--- a/Modules/Bundles/org.mitk.gui.qt.extapplication/files.cmake
+++ b/Modules/Bundles/org.mitk.gui.qt.extapplication/files.cmake
@@ -1,52 +1,40 @@
SET(SRC_CPP_FILES
QmitkExtApplication.cpp
QmitkExtAppWorkbenchAdvisor.cpp
)
SET(INTERNAL_CPP_FILES
QmitkExtApplicationPlugin.cpp
QmitkExtDefaultPerspective.cpp
)
SET(MOC_H_FILES
src/QmitkExtApplication.h
src/internal/QmitkExtApplicationPlugin.h
src/internal/QmitkExtDefaultPerspective.h
)
SET(CACHED_RESOURCE_FILES
# list of resource files which can be used by the plug-in
# system without loading the plug-ins shared library,
# for example the icon used in the menu and tabs for the
# plug-in views in the workbench
plugin.xml
resources/icon_research.xpm
)
SET(QRC_FILES
# uncomment the following line if you want to use Qt resources
- resources/QmitkExtApplication.qrc
+# resources/QmitkExtApplication.qrc
)
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})
-#----------- Qt Help Collection Project -------------#
-
-IF (BLUEBERRY_USE_QT_HELP)
- SET(_plugin_qhcp_input "${CMAKE_CURRENT_SOURCE_DIR}/documentation/MitkExtQtHelpCollectionProject.qhcp")
- SET(_plugin_qhcp_output "${CMAKE_CURRENT_BINARY_DIR}/MitkExtQtHelpCollection_${MITK_REVISION_ID}.qhc")
- ADD_CUSTOM_COMMAND(OUTPUT ${_plugin_qhcp_output}
- COMMAND ${QT_COLLECTIONGENERATOR_EXECUTABLE} ${_plugin_qhcp_input} -o ${_plugin_qhcp_output}
- DEPENDS ${_plugin_qhcp_input}
- )
-
- LIST(APPEND CACHED_RESOURCE_FILES ${_plugin_qhcp_output})
-ENDIF()
diff --git a/Modules/Bundles/org.mitk.gui.qt.extapplication/resources/QmitkExtApplication.qrc b/Modules/Bundles/org.mitk.gui.qt.extapplication/resources/QmitkExtApplication.qrc
deleted file mode 100644
index d01c01c79d..0000000000
--- a/Modules/Bundles/org.mitk.gui.qt.extapplication/resources/QmitkExtApplication.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- icon_research.xpm
-
-
diff --git a/Modules/Bundles/org.mitk.gui.qt.extapplication/src/QmitkExtAppWorkbenchAdvisor.cpp b/Modules/Bundles/org.mitk.gui.qt.extapplication/src/QmitkExtAppWorkbenchAdvisor.cpp
index 8a67e0e07a..d077d83d13 100644
--- a/Modules/Bundles/org.mitk.gui.qt.extapplication/src/QmitkExtAppWorkbenchAdvisor.cpp
+++ b/Modules/Bundles/org.mitk.gui.qt.extapplication/src/QmitkExtAppWorkbenchAdvisor.cpp
@@ -1,57 +1,65 @@
/*=========================================================================
Program: Medical Imaging & Interaction Toolkit
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 "QmitkExtAppWorkbenchAdvisor.h"
#include "internal/QmitkExtApplicationPlugin.h"
#include
#include
const std::string QmitkExtAppWorkbenchAdvisor::DEFAULT_PERSPECTIVE_ID =
"org.mitk.extapp.defaultperspective";
void
QmitkExtAppWorkbenchAdvisor::Initialize(berry::IWorkbenchConfigurer::Pointer configurer)
{
berry::QtWorkbenchAdvisor::Initialize(configurer);
configurer->SetSaveAndRestore(true);
if (!berry::QtAssistantUtil::GetHelpCollectionFile().isEmpty())
{
typedef std::vector BundleContainer;
BundleContainer bundles = berry::Platform::GetBundles();
berry::QtAssistantUtil::RegisterQCHFiles(bundles);
}
}
berry::WorkbenchWindowAdvisor*
QmitkExtAppWorkbenchAdvisor::CreateWorkbenchWindowAdvisor(
berry::IWorkbenchWindowConfigurer::Pointer configurer)
{
QmitkExtWorkbenchWindowAdvisor* advisor = new
QmitkExtWorkbenchWindowAdvisor(this, configurer);
+
+ // Exclude the help perspective from org.blueberry.ui.qt.help from
+ // the normal perspective list.
+ // The perspective gets a dedicated menu entry in the help menu
+ std::vector excludePerspectives;
+ excludePerspectives.push_back("org.blueberry.perspectives.help");
+ advisor->SetPerspectiveExcludeList(excludePerspectives);
+
advisor->SetWindowIcon(":/QmitkExtApplication/icon_research.xpm");
return advisor;
//return new QmitkExtWorkbenchWindowAdvisor(this, configurer);
}
std::string QmitkExtAppWorkbenchAdvisor::GetInitialWindowPerspectiveId()
{
return DEFAULT_PERSPECTIVE_ID;
}
diff --git a/Modules/Bundles/org.mitk.gui.qt.extapplication/src/internal/QmitkExtApplicationPlugin.cpp b/Modules/Bundles/org.mitk.gui.qt.extapplication/src/internal/QmitkExtApplicationPlugin.cpp
index 6cab3b5699..2bc3f1f41e 100644
--- a/Modules/Bundles/org.mitk.gui.qt.extapplication/src/internal/QmitkExtApplicationPlugin.cpp
+++ b/Modules/Bundles/org.mitk.gui.qt.extapplication/src/internal/QmitkExtApplicationPlugin.cpp
@@ -1,116 +1,86 @@
/*=========================================================================
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 "QmitkExtApplicationPlugin.h"
#include "QmitkExtDefaultPerspective.h"
#include "../QmitkExtApplication.h"
#include
+#include
#include
+#include
+#include
+
#include
#include
#include
QmitkExtApplicationPlugin* QmitkExtApplicationPlugin::inst = 0;
QmitkExtApplicationPlugin::QmitkExtApplicationPlugin()
- : pluginListener(0)
{
inst = this;
}
QmitkExtApplicationPlugin::~QmitkExtApplicationPlugin()
{
- delete pluginListener;
}
QmitkExtApplicationPlugin* QmitkExtApplicationPlugin::GetDefault()
{
return inst;
}
void QmitkExtApplicationPlugin::start(ctkPluginContext* context)
{
berry::AbstractUICTKPlugin::start(context);
this->context = context;
BERRY_REGISTER_EXTENSION_CLASS(QmitkExtDefaultPerspective, context);
BERRY_REGISTER_EXTENSION_CLASS(QmitkExtApplication, context);
- QString collectionFile = GetQtHelpCollectionFile();
-
- berry::QtAssistantUtil::SetHelpCollectionFile(collectionFile);
- berry::QtAssistantUtil::SetDefaultHelpUrl("qthelp://org.mitk.gui.qt.extapplication/bundle/index.html");
-
- delete pluginListener;
- pluginListener = new berry::QCHPluginListener(context);
- context->connectPluginListener(pluginListener, SLOT(pluginChanged(ctkPluginEvent)), Qt::DirectConnection);
-
- // register all QCH files from all the currently installed plugins
- pluginListener->processPlugins();
-}
-
-ctkPluginContext* QmitkExtApplicationPlugin::GetPluginContext() const
-{
- return context;
-}
-QString QmitkExtApplicationPlugin::GetQtHelpCollectionFile() const
-{
- if (!helpCollectionFile.isEmpty())
+ ctkServiceReference cmRef = context->getServiceReference();
+ ctkConfigurationAdmin* configAdmin = 0;
+ if (cmRef)
{
- return helpCollectionFile;
+ configAdmin = context->getService(cmRef);
}
- QString collectionFilename;
- QString na("n/a");
- if (na != MITK_REVISION)
- collectionFilename = "MitkExtQtHelpCollection_" MITK_REVISION ".qhc";
- else
- collectionFilename = "MitkExtQtHelpCollection.qhc";
-
- QFileInfo collectionFileInfo = context->getDataFile(collectionFilename);
- QFileInfo pluginFileInfo = QFileInfo(QUrl(context->getPlugin()->getLocation()).toLocalFile());
- if (!collectionFileInfo.exists() ||
- pluginFileInfo.lastModified() > collectionFileInfo.lastModified())
+ // Use the CTK Configuration Admin service to configure the BlueBerry help system
+ if (configAdmin)
{
- // extract the qhc file from the plug-in
- QByteArray content = context->getPlugin()->getResource(collectionFilename);
- if (content.isEmpty())
- {
- BERRY_WARN << "Could not get plug-in resource: " << collectionFilename.toStdString();
- }
- else
- {
- QFile file(collectionFileInfo.absoluteFilePath());
- file.open(QIODevice::WriteOnly);
- file.write(content);
- file.close();
- }
+ ctkConfigurationPtr conf = configAdmin->getConfiguration("org.blueberry.services.help", QString());
+ ctkDictionary helpProps;
+ helpProps.insert("homePage", "qthelp://org.mitk.gui.qt.extapplication/bundle/index.html");
+ conf->update(helpProps);
+ context->ungetService(cmRef);
}
-
- if (QFile::exists(collectionFileInfo.absoluteFilePath()))
+ else
{
- helpCollectionFile = collectionFileInfo.absoluteFilePath();
+ MITK_WARN << "Configuration Admin service unavailable, cannot set home page url.";
}
+}
- return helpCollectionFile;
+ctkPluginContext* QmitkExtApplicationPlugin::GetPluginContext() const
+{
+ return context;
}
Q_EXPORT_PLUGIN2(org_mitk_gui_qt_extapplication, QmitkExtApplicationPlugin)
diff --git a/Modules/Bundles/org.mitk.gui.qt.extapplication/src/internal/QmitkExtApplicationPlugin.h b/Modules/Bundles/org.mitk.gui.qt.extapplication/src/internal/QmitkExtApplicationPlugin.h
index f466829878..657d450496 100644
--- a/Modules/Bundles/org.mitk.gui.qt.extapplication/src/internal/QmitkExtApplicationPlugin.h
+++ b/Modules/Bundles/org.mitk.gui.qt.extapplication/src/internal/QmitkExtApplicationPlugin.h
@@ -1,56 +1,53 @@
/*=========================================================================
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 QMITKEXTAPPLICATIONPLUGIN_H_
#define QMITKEXTAPPLICATIONPLUGIN_H_
#include
#include
#include
class QmitkExtApplicationPlugin : public QObject, public berry::AbstractUICTKPlugin
{
Q_OBJECT
Q_INTERFACES(ctkPluginActivator)
public:
QmitkExtApplicationPlugin();
~QmitkExtApplicationPlugin();
static QmitkExtApplicationPlugin* GetDefault();
ctkPluginContext* GetPluginContext() const;
void start(ctkPluginContext*);
QString GetQtHelpCollectionFile() const;
private:
static QmitkExtApplicationPlugin* inst;
ctkPluginContext* context;
- berry::QCHPluginListener* pluginListener;
-
- mutable QString helpCollectionFile;
};
#endif /* QMITKEXTAPPLICATIONPLUGIN_H_ */