Hello !

I will use this posting here to announce the start
of the project "Tabbed Document Windows inside OOo".

There was a long list of interest students ...
First thanks to all. But of course only one student
can win the race.

So I'm pleased to nominate Andrzej Wytyczak-Partyka
as the one who will implement this feature.

===============================================================
Some ideas about the design, showing progress
===============================================================

The feature Tabbed Document Windows will be imeplemented as an external UNO component. That whould make it easy to extend an OOo with these and other window layouts (may be by selecting it inside a configuration dialog). The first version wil be usable with the Package Manager concept of OOo.

---------------------------------------------------------------
[
        Step A)
        Implement a simple TabControl using VCL and hand it out
        to Andrzej.

        Required
        State : Done
]

The control, which shows the list of tab-buttons was implemented by some developers of OOo. It's a simple control, which shows only the tab buttons ... but does not implement any further logic. On the other side it can be used as parent window for all document windows, which should be included into the tabbed interface.

This control was developed directly using the internal VCL nodule.
The reason for that: The OOo toolkit cant currently be used to implement such high level controls (not in a small time frame).

---------------------------------------------------------------
[
        Step B)
        Creation of an UNO Component (named TaskCreator), which is used
        to create new document windows (frames) and return these frames
        back to OOo.

        Required
        State : Started
]

Inside OOo exists a service, which is used to create new document windows if they are needed (e.g. if new documents are loaded).
Because it's an UNO service it can be replaced by any outside
implementation. Doing so it would be easy to redirect creation of new top level windows into a tabbed window interface.

Placing the new loaded document content into a frame is done inside OOo as it's done currently. There is no need to change that.

---------------------------------------------------------------
[
        Step B)
        Extend the new TaskCreator service so it uses the TabControl.

        Required
        State : Started
]

This step creates the first draft of a tabbed document window interface.
The simple TabControl and the Taskcreator service must be combined in a way, that every new created frame will be part of the tabbed environment. It needs:
- creation of child windows using the TabControl as parent window
- creation of new frames and initializing it with the new created child windows
- using lists to assign frames/windows to the right tab window
- resize/activate/deactivate tab windows
  (mouse only ... keyboard support will be seen as optional)
- refresh menus on tab activate/deactivate
  (toolbars are part of the document and must not be refreshed)
- closing all frames (documents) if the tab window is closed

---------------------------------------------------------------
[
        Step D)
        Implement some further logic ...

        Optional
        State : Planed
]

Additional to the basic features, it would be nice to see some further logic implemented by the tabbed interface. Some possible functions can be:

- rearrange tab buttons
- support more then one tabbed container
- supporting shortcuts

===============================================================
The project was already started ... and I'm pretty sure we will see Tabbed Document Windows in the near future inside OOo.

Best Regards
Andreas Schlüns

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to