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]