Hello giancarlo,
[top-posting is IMHO very annoying, so I cut your answer and paste at the
bottom, see http://en.wikipedia.org/wiki/Posting_style#Top-posting]
On Wednesday 11 March 2009, 09:12, giancarlo wrote:
> Sorry, I previously misunderstood you before...
> In the call to dispatch() I call another method which does some checks
> and then creates an instance of a class which extends JFrame.
>
> "I meant: you want only once instance of your JFrame in the whole
> office?" (I've misunderstood this before) : the answer is not, I need to
> open a JFrame for each opened document on OOo.
> The only problem is that toolbar button and menu item seem to be two
> different extensions...
well, then you need a sort of Frame manager, which can be a singleton. Just
the first idea that comes to my mind:
* your Frame Manager can keep track if your JFrame is actually instantiated
for an OOo XFrame
* then from your ProtocolHandler's dispatch you can call your FrameManager to
create a new instance of your JFrame or return the existing one:
MyJFrame FrameManager.getOrCreateMyJFrame(css.frame.XFrame xOOoFrame)
you can do this by holding a collection of XFrame-MyJframe pairs (when the
JFrame is closed, you remove it from the collection... but you should also
listen to OOo XFrame's actions [don't know what you do with your JFrame if the
user chooses, for example, the print preview, etc.]). If the css.frame.XFrame
reference is found in your XFrame-MyJframe pair collection, return that
JFrame, if not instantiate a new one... etc. etc.
Regards
--
Ariel Constenla-Haile
La Plata, Argentina
"Aus der Kriegsschule des Lebens
- Was mich nicht umbringt,
macht mich härter."
Nietzsche Götzendämmerung, Sprüche und Pfeile, 8.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]