Difference between revisions of "Framework/New Docking Windows"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Screenshots from a current demo version)
(Current progress)
Line 23: Line 23:
 
* Add code for the new docking windows
 
* Add code for the new docking windows
 
** class PanelLayoutManager
 
** class PanelLayoutManager
 +
** Factory class for panels
 +
** Configuration entries for panel factory services
  
 
[[Category:Framework]]
 
[[Category:Framework]]

Revision as of 14:48, 29 March 2010

New style docking windows

This project wants to exchange the current docking window implementation with a new one which is UNO based and focuses on extensibility. We are currently working close together with the RedOffice Team in Bejing to make the new style docking windows feature ready for OpenOffice.org 3.1. The new implementation will be part of the Layout Manager introduced in OpenOffice.org 2. There are several improvements planned for the new implementation:

  • The new docking windows can be controlled by the Layout Manager UNO API
  • The new docking windows uses the same configuration data as the other user interface elements
  • The new docking windows will be available for extensions
  • It's possible to define groups that consists of several docking windows. If a user moves one window of a group, all windows of that group will be moved.
  • There is a better separation of responsibility for document and container window.
    • The container window of the frame contains the user interface.
    • The document window is only responsible to show document content.
  • Descriptive and xml based user interface in the docking windows.
  • Use the layout manager for dialogs.

Current progress

The work is done on the CWS dockingwindows. Currently we are still in refector phase where all changes are located in a local repository. As soon as the local repository provides the same stability and functionality we want to commit all changes. Unfortunately the refactoring needs more time and moves more code than expected we cannot give any time line.

  • Refactor the current layout manager implementation to make it more maintainable.
    • Extract the toolbar part and move it to a separate class (work in progress)
    • Change layout manager code to forward requests to the special ui element class (e.g. ToolbarLayoutManager, PanelLayoutManager, ...) (work in progress)
  • Add code for the new docking windows
    • class PanelLayoutManager
    • Factory class for panels
    • Configuration entries for panel factory services
Personal tools