Re: Removing NonBlockingGenericDialogs from the Window menu

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Removing NonBlockingGenericDialogs from the Window menu

Ryota Homma
Dear Wayne, Johannes, and all list members,

> ------------------------------
>
> Date:    Mon, 3 Mar 2014 23:11:24 +0100
> From:    Johannes Schindelin <[hidden email]>
> Subject: Removing NonBlockingGenericDialogs from the Window menu
>
> Dear Wayne,
>
> I just noticed your fix:
>
> https://github.com/imagej/ImageJA/commit/fb84ee03bedc20c141716acd34ee6ad8c8e32c6d#diff-f393bd19cc4b42d8d8549c384ce229e3L21
>
> However, removing the window only when a button was clicked or a key was
> pressed is very likely to miss the case where the dialog was closed
> programmatically (e.g. when the dialog was only valid through the life
> time of a long-running process, and closed when that process was done).

I found the above indeed occurred with the latest daily build I tried (v1.48t2).

When a plugin that would open a non-blocking generic dialog is called from
a macro (in which the dialog is automatically OKed), the title of dialog is not
removed from the Window menu.

Best,
Ryota


>
> While looking at the larger context, I also could not help but notice that
> the dialog is added to the Window menu long before the dialog is shown.
> And indeed, it is added to the Window menu even if the dialog is not shown
> at all (for which there are quite a few use cases -- I trust your
> imagination to come up with even more than I could think of).
>
> A better practice would be to implement something like this (sorry, I have
> no time to test this, besides, you made clear that you like to implement
> such changes yourself and ignore pull requests, therefore I will not
> burden you with one):
>
>         @Override
>         public void setVisible(boolean visible) {
>                 if (!visible) {
>                         WindowManager.removeWindow(this);
>                 }
>                 super.setVisible(visible);
>                 if (visible) {
>                         WindowManager.addWindow(this);
>                 }
>         }
>
> Regards,
> Johannes
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: Removing NonBlockingGenericDialogs from the Window menu

Rasband, Wayne (NIH/NIMH) [E]
On Mar 12, 2014, at 3:39 PM, Ryota Homma wrote:

> Dear Wayne, Johannes, and all list members,
>
>> Date:    Mon, 3 Mar 2014 23:11:24 +0100
>> From:    Johannes Schindelin <[hidden email]>
>> Subject: Removing NonBlockingGenericDialogs from the Window menu
>>
>> Dear Wayne,
>>
>> I just noticed your fix:
>>
>> https://github.com/imagej/ImageJA/commit/fb84ee03bedc20c141716acd34ee6ad8c8e32c6d#diff-f393bd19cc4b42d8d8549c384ce229e3L21
>>
>> However, removing the window only when a button was clicked or a key was
>> pressed is very likely to miss the case where the dialog was closed
>> programmatically (e.g. when the dialog was only valid through the life
>> time of a long-running process, and closed when that process was done).
>
> I found the above indeed occurred with the latest daily build I tried (v1.48t2).
>
> When a plugin that would open a non-blocking generic dialog is called from
> a macro (in which the dialog is automatically OKed), the title of dialog is not
> removed from the Window menu.

This bug is fixed in the v1.48t3 daily build.

-wayne
--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html