Difference between revisions of "MITK BlueBerry FAQ"

From mitk.org
Jump to navigation Jump to search
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 
<!-- ## page was renamed from MITKOpenCherryFAQ -->
 
<!-- ## page was renamed from MITKOpenCherryFAQ -->
= FAQ - openCherry / MITK / Qt3 / Qt4 =
+
= FAQ - [[BlueBerry]] / MITK / Qt3 / Qt4 =
  
 
Feel free to post any questions which are not covered in this FAQ to mitk-users@lists.sourceforge.net (subscription required).
 
Feel free to post any questions which are not covered in this FAQ to mitk-users@lists.sourceforge.net (subscription required).
  
==== What is openCherry and what is its relationship to MITK? ====
+
==== What is [[BlueBerry]] and what is its relationship to MITK? ====
[http://www.opencherry.org openCherry] is an application framework, which is used to build the new Qt4 based MITK applications. It has no dependencies on MITK and can be used to build arbitrary, modularized applications. MITK as a toolkit does not depend on openCherry, but if you want to use or extend the Qt4 ExtApp, you need to build openCherry.
+
[http://www.blueberry-project.org BlueBerry] is an application framework, which is used to build the new Qt4 based MITK applications. It has no dependencies on MITK and can be used to build arbitrary, modularized applications. MITK as a toolkit does not depend on BlueBerry, but if you want to use or extend the Qt4 ExtApp, you need to build BlueBerry.
  
==== I want to build Qt4 applications using MITK, do I need openCherry? ====
+
==== I want to build Qt4 applications using MITK, do I need [[BlueBerry]]? ====
To build your own applications with MITK and Qt4, you do not need openCherry. MITK provides many Qt4 widgets tailored for medical applications, which are available as a shared library (libQmitk). The [http://docs.mitk.org/nightly-qt4/TutorialPage.html MITK Tutorial] shows you how to build standalone Qt4 applications using MITK.
+
To build your own applications with MITK and Qt4, you do not need BlueBerry. MITK provides many Qt4 widgets tailored for medical applications, which are available as a shared library (libQmitk). The [http://docs.mitk.org/nightly-qt4/TutorialPage.html MITK Tutorial] shows you how to build standalone Qt4 applications using MITK.
  
However, if you intend to build larger applications, or if you want to use existing MITK plug-ins, you should use openCherry (for example by using the Qt4 ExtApp).
+
However, if you intend to build larger applications, or if you want to use existing MITK plug-ins, you should use BlueBerry (for example by using the Qt4 ExtApp).
  
 
==== I want to start developing with MITK, shall I use Qt3 or Qt4? ====
 
==== I want to start developing with MITK, shall I use Qt3 or Qt4? ====
Well, the answer largely depends on what you intend to do. If you are going to develop your own application from scratch, there is no reason not to choose Qt4. If you are looking for a stable application which you can extend with your own code, you may still want to use the Qt3 MainApp. It has been developed for years and is therefore more stable than the new Qt4 version. Converting simple Qt3 functionalities to the new Qt4/openCherry plug-in system is relatively painless. Internally, we are moving all Qt3 code to Qt4, so you can expect the application framework to mature fast.
+
Well, the answer largely depends on what you intend to do. If you are going to develop your own application from scratch, there is no reason not to choose Qt4. If you are looking for a stable application which you can extend with your own code, you may still want to use the Qt3 MainApp. It has been developed for years and is therefore more stable than the new Qt4 version. Converting simple Qt3 functionalities to the new Qt4/BlueBerry plug-in system is relatively painless. Internally, we are moving all Qt3 code to Qt4, so you can expect the application framework to mature fast.
  
 
==== Is there any functional difference between the Qt3 and Qt4 [[MainApp]]? ====
 
==== Is there any functional difference between the Qt3 and Qt4 [[MainApp]]? ====
Line 20: Line 20:
  
 
==== I am using Qt4, but I can't find [[ExtApp]] ====
 
==== I am using Qt4, but I can't find [[ExtApp]] ====
Make sure the CMake variable MITK_USE_OPENCHERRY is set to ON (this is the default). Without openCherry, the ExtApp cannot be build.
+
Make sure the CMake variable MITK_USE_BLUEBERRY is set to ON (this is the default). Without BlueBerry, the ExtApp cannot be build.
  
 
==== I don't want to learn all this new stuff, what shall I do? ====
 
==== I don't want to learn all this new stuff, what shall I do? ====
You don't have to learn a lot of the new concepts. If you don't care about them, just don't use them. However, if you intend to build larger applications you are strongly advised to investigate the possibilities of openCherry and how it can help you to modularize your code. For faster prototyping, MITK provides a tool which generates a plug-in skeleton for you which can be compiled and integrated into the Qt4 ExtApp out of the box.
+
You don't have to learn a lot of the new concepts. If you don't care about them, just don't use them. However, if you intend to build larger applications you are strongly advised to investigate the possibilities of BlueBerry and how it can help you to modularize your code. For faster prototyping, MITK provides a tool which generates a plug-in skeleton for you which can be compiled and integrated into the Qt4 ExtApp out of the box.
  
 
==== How can I extend the Qt4 [[ExtApp]]? ====
 
==== How can I extend the Qt4 [[ExtApp]]? ====
 
Follow the steps in the [http://docs.mitk.org/nightly-qt4/NewPluginPage.html How to create a new MITK plug-in] document.
 
Follow the steps in the [http://docs.mitk.org/nightly-qt4/NewPluginPage.html How to create a new MITK plug-in] document.

Revision as of 08:49, 20 January 2010

FAQ - BlueBerry / MITK / Qt3 / Qt4

Feel free to post any questions which are not covered in this FAQ to mitk-users@lists.sourceforge.net (subscription required).

What is BlueBerry and what is its relationship to MITK?

BlueBerry is an application framework, which is used to build the new Qt4 based MITK applications. It has no dependencies on MITK and can be used to build arbitrary, modularized applications. MITK as a toolkit does not depend on BlueBerry, but if you want to use or extend the Qt4 ExtApp, you need to build BlueBerry.

I want to build Qt4 applications using MITK, do I need BlueBerry?

To build your own applications with MITK and Qt4, you do not need BlueBerry. MITK provides many Qt4 widgets tailored for medical applications, which are available as a shared library (libQmitk). The MITK Tutorial shows you how to build standalone Qt4 applications using MITK.

However, if you intend to build larger applications, or if you want to use existing MITK plug-ins, you should use BlueBerry (for example by using the Qt4 ExtApp).

I want to start developing with MITK, shall I use Qt3 or Qt4?

Well, the answer largely depends on what you intend to do. If you are going to develop your own application from scratch, there is no reason not to choose Qt4. If you are looking for a stable application which you can extend with your own code, you may still want to use the Qt3 MainApp. It has been developed for years and is therefore more stable than the new Qt4 version. Converting simple Qt3 functionalities to the new Qt4/BlueBerry plug-in system is relatively painless. Internally, we are moving all Qt3 code to Qt4, so you can expect the application framework to mature fast.

Is there any functional difference between the Qt3 and Qt4 MainApp?

Yes. The Qt4 ExtApp (formerly MainApp) will exceed the capabilities of the Qt3 MainApp. However, we still have some things to finish and hence the Qt4 ExtApp right now lacks some features of the old one (especially, the menu and toolbar infrastructure, aka Command framework is not finished yet).

I am using Qt4, but I can't find ExtApp

Make sure the CMake variable MITK_USE_BLUEBERRY is set to ON (this is the default). Without BlueBerry, the ExtApp cannot be build.

I don't want to learn all this new stuff, what shall I do?

You don't have to learn a lot of the new concepts. If you don't care about them, just don't use them. However, if you intend to build larger applications you are strongly advised to investigate the possibilities of BlueBerry and how it can help you to modularize your code. For faster prototyping, MITK provides a tool which generates a plug-in skeleton for you which can be compiled and integrated into the Qt4 ExtApp out of the box.

How can I extend the Qt4 ExtApp?

Follow the steps in the How to create a new MITK plug-in document.