> MacArthur, Ian (SELEX GALILEO, UK) schrieb:
>  >> I am not sure if this is a bug so first I will ask.
>  >> I have program 1. It hides the menuBar when pressing on F9
>  >> key and statusBar when pressing F10 key. Also when I hide one
>  >> of these widgets the tabsGroup gets resized. It does the job
>  >> right but when I change the window size it resizes the
>  >> tabsGroup as if the menuBar and statusBar must be drawn.
>  >
>  > I don't know for fltk-2, but for fltk-1.x, if you change the displayed
>  > widgets within a group (or group derived widget) then you really ought
>  > to call;
>  >
>  >    my_group->init_sizes();
>
> As Ian said, fltk2 is the same. Just call
>      windowMain->init_sizes();
> at the end of cbXxxBarToggle(..).
>
>  >> Please, try to compile and check it. Tell me if it is a bug
>  >> or I am doing something wrong.
>
> There is a focus lost when switching back from fullscreen here.
> I think you dont need to hide and show widgets/windows when changing
> internal layout. eg.:
>      if(fullScrState) {
>          //~ windowMain->hide();
>          windowMain->fullscreen_off(windowX, windowY, windowW, windowH);
>          //~ windowMain->show();
> everything works fine without that. Same for the other callbacks. If you
> think something has to get redrawn, use redraw().
>
> Some other things:
>
> 1. You may want to declare
>       static bool statusBarState = true;
> inside your callback, since there is no need to modify them from outside
> (This wont pollute the global namespace)
>
> 2. Doing
>      if (statusBarState) {
>          windowMain->statusBar->hide();
>          //windowMain->tabsGroup->hide();
>          windowMain->tabsGroup->h(windowMain->tabsGroup->h() + ...);
>          //windowMain->tabsGroup->show();
>       //statusBarState = false;
>      } else if(!statusBarState) {
> is unneccesary code. The second if statement is always true (and might
> get removed from optimizer) Just drop that.
>
> 3. Toggling boolean state has to be done for both branches:
>      statusBarState = !statusBarState;
> will keep all sane.
>
>  > As to whether you are doing anything wrong, I'd suggest that using
>  > fltk-2 when it is known to be unmaintained is potentially asking for
>  > troubles later!  ;-)
>
> You'll always come into trouble. But the source is with you.
> Gombok
>

OK. Thank you! Full screen works now how it is supposed.

Gombok, thank you for your wisdom too. :-)
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to