Page MenuHomePhabricator

Implement a generic command framework
Closed, WontfixPublic

Description

Implement the handler/command mechanism introduced in Eclipse 3.2(?). Use it as the only way to declare menu and toolbar contributions (via XML or code).

Event Timeline

Resetting all bugs without active assignee flag to "CONFIRMED". Change status to IN_PROGRESS if you are working on it.

User zelzer has pushed new remote branch:

bug-1849-command-framework-and-blueberry-simplification

[7d5332]: Merge branch 'bug-1849-command-framework-and-blueberry-simplification'

Merged commits:

2015-02-20 11:28:05 Sascha Zelzer [36768e]
Added missing underscore to C function in msvcrt.


2015-02-20 03:43:33 Sascha Zelzer [4f8266]
Started using Qt layouts and events instead of custom classes.


2015-02-20 01:14:14 Sascha Zelzer [de944d]
Using Qt classes instead of void* now.


2015-02-19 11:37:00 Sascha Zelzer [5bbeff]
Removed drag'n drop tweaklet and custom Point and Rectangle classes.


2015-02-19 05:15:30 Sascha Zelzer [23ca18]
Fixed DataStorage service retrieval.


2015-02-19 04:07:54 Sascha Zelzer [2221fa]
Don't manage null pointers.


2015-02-19 04:06:48 Sascha Zelzer [c426ea]
Check if the Workbench is still running.


2015-02-18 23:44:09 Sascha Zelzer [715fe3]
Removed ImageTweaklet and ImageDescriptor classes in favor of QIcon.


2015-02-18 18:36:05 Sascha Zelzer [57c8c3]
Avoid recursive mutex locks.


2015-02-18 18:35:51 Sascha Zelzer [be4b6f]
Use old workaround for menu and toolbar entries again.


2015-02-18 18:35:08 Sascha Zelzer [7ffcfd]
Don't use exception specifications.


2015-02-15 18:10:46 Sascha Zelzer [c62bb0]
Removed obsolete files.


2015-02-15 18:03:05 Sascha Zelzer [235c4f]
Removed dialog tweaklet and added intial show view dialog.


2015-02-15 17:11:10 Sascha Zelzer [a7dca2]
Fixed const arguments and removed old Action based methods.


2015-02-12 01:21:09 Sascha Zelzer [3c1138]
Improved code style.


2013-10-21 01:01:00 Sascha Zelzer [70f23c]
Qt'ified more plug-in code.


2013-06-07 02:26:38 Sascha Zelzer [bc667d]
Add virtual destructor.


2012-10-20 03:37:18 Sascha Zelzer [d5cde7]
First working state of command framework.

  • Handler service and source providers
  • Simplified and optimized listener classes
  • Enabled compiler warnings (and fixed them)
  • Reworked IAdaptable and workbench service registry
  • Removed legacy code

2012-10-11 02:09:48 Sascha Zelzer [72e11d]
Removed legacy extension and service code.

Reworked listeners and service locators.


2012-10-06 16:19:45 Sascha Zelzer [e9adff]
Fixed memory leaks and small bugs.


2015-02-18 03:42:57 Sascha Zelzer [120bfd]
Make more plug-ins compile with the new changes. Mostly Qt type issues.


2012-10-05 20:46:17 Sascha Zelzer [6d8df2]
Avoid recursive mutex dead locks.


2012-10-05 20:44:07 Sascha Zelzer [7c0074]
Use atomic reference counting in berry::Object.


2012-10-02 01:25:55 Sascha Zelzer [112ce4]
Fixed memory leaks and broke reference cycles.


2012-10-02 01:23:57 Sascha Zelzer [aaea76]
Make the object debugger compile again.


2012-10-02 01:22:08 Sascha Zelzer [557415]
Some fixes for the new extension registry.


2012-09-30 12:16:38 Sascha Zelzer [bfcea5]
Start integrating extension registry, removing legacy code


2012-06-29 12:14:16 Sascha Zelzer [8bcf6b]
Implement full dynamic extension registry.


2012-05-21 22:27:39 Sascha Zelzer [87aa5e]
Start using Qt types consistently in BlueBerry.


2012-05-09 10:11:23 Sascha Zelzer [b5c693]
Merge osgi and solstice plugin into core.runtime.

Also added more command framework functionality.


2012-06-29 12:45:01 Sascha Zelzer [57aaae]
Merged org.blueberry.ui and org.blueberry.ui.qt plugins.

Started work on command framework.

[e8ba84]: Merge branch 'bug-1849-command-framework-and-blueberry-simplification'

Merged commits:

2015-02-20 11:59:14 Sascha Zelzer [74810e]
COMP: Don't use override yet.

[8853bb]: Merge branch 'bug-1849-command-framework-and-blueberry-simplification'

Merged commits:

2015-02-20 12:14:50 Sascha Zelzer [b63554]
COMP: QAtomicInt changed in Qt5.

[eec0c5]: Merge branch 'bug-1849-command-framework-and-blueberry-simplification'

Merged commits:

2015-02-21 13:00:52 Sascha Zelzer [d0d408]
COMP: Qt5 compatibility fixes.


2015-02-20 18:29:12 Sascha Zelzer [6879c4]
COMP: Removed C++11 override keyword unsupported by gcc 4.6.

[b6d811]: Merge branch 'bug-1849-command-framework-and-blueberry-simplification'

Merged commits:

2015-02-21 13:28:23 Sascha Zelzer [a17a83]
COMP: Don't use BERRY_STATUS_LOC outside of functions.

[99e3c6]: Merge branch 'bug-1849-command-framework-and-blueberry-simplification'

Merged commits:

2015-02-21 14:11:10 Sascha Zelzer [6caa5a]
COMP: Try fixing Qt interface and object_cast Windows error.

User nolden has pushed new remote branch:

bug-1849-command-framework-fixups

[2f264b]: Merge branch 'bug-1849-command-framework-fixups'

Merged commits:

2015-02-25 19:22:17 Marco Nolden [cc3b7e]
COMP: Fixed exported include directories

In org.blueberry.core.runtime and org.blueberry.ui.qt

[355aca]: Merge branch 'bug-1849-command-framework-and-blueberry-simplification'

Merged commits:

2015-03-04 02:59:30 Sascha Zelzer [1f28d4]
Fixed crash triggered by out of range column indices.


2015-03-04 02:58:55 Sascha Zelzer [04ce64]
Workaround for showing the application menu bar on Linux using Qt5.


2015-03-04 02:58:16 Sascha Zelzer [854fe4]
CTK services need to be retreived via a ctkPluginContext object.


2015-03-04 02:57:41 Sascha Zelzer [bf1091]
Fixed path calculation for installed provisioning file.


2015-03-04 02:57:08 Sascha Zelzer [86947b]
Fixed install scripts related to org.blueberry.osgi renaming.


2015-03-01 12:02:15 Sascha Zelzer [da382e]
Merge remote-tracking branch 'origin/bug-1849-command-framework-fixups' into bug-1849-command-framework-and-blueberry-simplification


2015-03-01 12:01:44 Sascha Zelzer [dbe4ce]
Merge remote-tracking branch 'origin/bug-18789-MovieMakerPreferencesService' into bug-1849-command-framework-and-blueberry-simplification


2015-03-01 12:00:12 Sascha Zelzer [9b1a0d]
Merge remote-tracking branch 'origin/bug-18605-buildsystem' into bug-1849-command-framework-and-blueberry-simplification

User nolden has pushed new remote branch:

bug-1849-blueberry-examples-fixes

[3168df]: Merge branch 'bug-1849-command-framework-and-blueberry-simplification'

Merged commits:

2015-04-10 16:10:14 Andreas Fetzer [bd4cbe]
Added view shortcut for the image navigator from within the c++ code


2015-04-10 16:09:41 Andreas Fetzer [4ab556]
Added extension for volume visialization view which specifies properties
like position, size, visibility and others


2015-04-10 16:05:21 Andreas Fetzer [4811af]
Fixed wrong check for empty relationship tag


2015-04-10 16:04:24 Andreas Fetzer [349cc8]
Added check if part is a valid object.


2015-04-10 15:05:45 Andreas Fetzer [8ba3cd]
Removed AddView calls from visualization perspective.

This can lead to exceptions if the respective views are not available.
Added perspective extension points to the views instead of the previous behaviour.


2015-04-10 14:21:06 Andreas Fetzer [7b1ab2]
Added extension-point definition for perspective extensions to blueberry


2015-04-10 19:23:46 Sascha Zelzer [abbef7]
Mark the new command based menu and toolbar experimental.


2015-04-10 15:35:44 Alfred Franz [77f5fa]
fixed linker error by adapting order of header includes


2015-04-10 14:25:17 Sascha Zelzer [cd45c3]
Replaced C++11 commands which are not compatible with VS2012


2015-04-10 14:18:29 Sascha Zelzer [893ef6]
Fixed workbench advisor usage in custom viewer example.


2015-04-10 13:35:39 Sascha Zelzer [ba9157]
Fixed clang compile errors.


2015-04-10 13:34:07 Sascha Zelzer [8c264a]
Merge branch 'bug-1849-blueberry-examples-fixes' into bug-1849-command-framework-and-blueberry-simplification


2015-04-10 10:58:33 Sascha Zelzer [7ee4a6]
Merge branch 'bug-18885-FixITKExternalProjectScript' into bug-1849-command-framework-and-blueberry-simplification


2015-04-10 07:30:39 Sascha Zelzer [4648cc]
Use commands for the Workbench main menu.

Plus lots of small and medium bug fixes and feature enhancements.


2015-03-31 18:40:04 Marco Nolden [30a84d]
Fixed application shutdown crashes in BlueBerry examples

Fixed double delete. Memory management is now done by the framework


2015-03-31 18:38:42 Marco Nolden [35870c]
Fixed smartpointer related crash in berry::Perspective

[ca3db0]: Merge branch 'bug-1849-command-framework-and-blueberry-simplification'

Merged commits:

2015-04-10 20:25:55 Sascha Zelzer [3a33c9]
COMP: avoid trigraphs which should really be template arguments

[0a4421]: Merge branch 'bug-1849-command-framework-and-blueberry-simplification'

Merged commits:

2015-04-11 11:16:37 Sascha Zelzer [a484ff]
COMP: Fixed missing method implementations and Clang warnings.

[6ab445]: Merge branch 'bug-1849-command-framework-and-blueberry-simplification'

Merged commits:

2015-04-11 11:39:53 Sascha Zelzer [e7f83b]
COMP: Use pointer instead of reference cast.

User goch has pushed new remote branch:

bug-1849-integration

[548410]: Merge branch 'bug-1849-integration'

Merged commits:

2015-05-06 13:34:30 Caspar Goch [88c219]
Update CTK Version


2015-05-06 11:15:27 Caspar Goch [520762]
Merge remote-tracking branch 'origin/bug-1849-command-framework-and-blueberry-simplification'

Conflicts:
BlueBerry/Documentation/CMakeLists.txt
CMakeExternals/CTK.cmake
Documentation/CMakeLists.txt
Modules/AppUtil/include/mitkBaseApplication.h


2015-05-06 09:15:49 Sascha Zelzer [4be8ad]
Moved BlueBerry plug-ins and added application container.

[1f45dd]: Merge branch 'bug-1849-integration'

Merged commits:

2015-05-06 14:27:20 Caspar Goch [bbf015]
COMP: Join with QStrig instead of char for backwards compatibility

[5921ef]: Merge branch 'bug-1849-integration'

Merged commits:

2015-05-06 15:21:50 Caspar Goch [0876ab]
COMP: Qt4 fixes

[7230c0]: Merge branch 'bug-1849-integration'

Merged commits:

2015-05-06 18:35:36 Caspar Goch [761ae3]
COMP: Add -fPIC flag for unix and qt 4

[71db33]: Merge branch 'bug-1849-integration'

Merged commits:

2015-05-06 18:51:20 Caspar Goch [c44e4f]
COMP: add quotation marks

[74e51c]: Merge branch 'bug-1849-integration'

Merged commits:

2015-05-08 18:26:56 Caspar Goch [ea0083]
Tell OSX the correct provisioning file location


2015-05-08 10:31:35 Caspar Goch [4eaab6]
Merge remote-tracking branch 'origin/bug-19035-cpp11-modernizations' into bug-1849-integration


2015-05-07 17:55:03 Caspar Goch [598060]
Hand set parameters through to qcoreapplication

User goch has pushed new remote branch:

bug-1849-diffusion-migration

[6fea4f]: Merge branch 'bug-1849-integration'

Merged commits:

2015-05-12 11:13:13 Caspar Goch [cb4584]
Merge branch 'bug-19052-add-vtk-include' into bug-1849-integration

Conflicts:
Plugins/org.mitk.gui.qt.application/src/QmitkFileExitAction.cpp


2015-05-11 15:03:11 Caspar Goch [b02ee8]
Move File Exist Action to new framework

[3fc812]: Merge branch 'bug-1849-command-framework-and-blueberry-simplification'

Merged commits:

2015-05-19 18:20:18 Sascha Zelzer [455a2e]
Initialize instanceId count.


2015-05-19 08:01:46 Sascha Zelzer [c8a06a]
Fixed rectangle calculations and ensure non-zero snap rectangle.

[d508e7]: Merge branch 'bug-1849-diffusion-migration'

Merged commits:

2015-05-15 18:06:45 Caspar Goch [ec984d]
Adapt MITK Diffusion for intro changes


2015-05-15 18:00:34 Caspar Goch [9fa419]
Merge remote-tracking branch 'origin/bug-1849-command-framework-and-blueberry-simplification' into bug-1849-diffusion-migration


2015-05-12 22:36:53 Sascha Zelzer [a1b251]
Implemented product support for intro binding.

User goch has pushed new remote branch:

bug-1849-fix-helpengine-crash

[e6e132]: Merge branch 'bug-1849-fix-helpengine-crash'

Merged commits:

2015-05-22 01:21:13 Caspar Goch [4330d8]
Reset help engine upon stoping plugin

SUMMARY

Here is a short summary of things still missing:

  • Contexts: Not supported yet, prerequesite for key bindings and ui filtering
  • Key bindings: extension point for declaring key bindings for commands
  • Action sets: Group and filter commands based on expressions
  • Toolbars: full support for materializing commands in toolbars
  • Statusbar: full support for materializing commands in the status bar
kislinsk added a project: Auto-closed.
kislinsk added a subscriber: kislinsk.

Hi there! 🙂

This task was auto-closed according to our Task Lifecycle Management.
Please follow this link for more information and don't forget that you are encouraged to reasonable re-open tasks to revive them. 🚑

Best wishes,
The MITK devs