Hello Andrzej !

I've detected some other missing parts ...

====================================================================================
If a frame (or document) will be closed externaly ... the tab window is not closed. You should listen for closing frames and remove your internal structures then.

You have to query each frame you create for it's interface css.util.XCloseBroadcaster and add a listener to it.
You will be called back within two methods:

a)
queryClosing()
Here you will be asked, if there exists a reason, why this frame should not be closed. Please do nothing here. There are many other listener within the office, which e.g. handle modified documents already.
So there is no need for you to disagree with closing a frame.

b)
notifyClosing()
Use it in the way, that you remove this frame from all your internal structures and remove the corresponding tab window from the tab control.
Dont dispose this frame or it's child window. Only clear it's references!

====================================================================================
You listen at the parent window for top level window events.
(Means the interface XTopWindowListener)
These events are needed by every frame. Normaly the frame itself listen for such events ... but the child windows you gave him, are not top level windows any longer .-)
So you should do the following (may be as an experimental code block!) :
Forward all events reached from the top level parent window to the frame. Doing so query the frame to the same inetrace XTopWindowListener and forward the methods activate() / deactivate() to it. All other methods of this interface should handled by you ! And you should make this code "optional" ... it's a test, if it can solve some "repaint/focus" problems.

Regards
Andreas

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

Reply via email to