[interfacekit] Help understanding some BeOS concepts.

Hello!

    As you all already know, I have *very* little experience using the Be API. 
So I am going to
ask you some questions. Please be kind and provide me as much information as 
possible. Thanks.

    2 problems I have:

1) BWindow flags:
 B_AVOID_FRONT - Prevents the window from becoming the frontmost window.
 B_AVOID_FOCUS - Prevents the window from being the target of keyboard events.

    While the first I can understand, what the hell does the second???
    What *real* use have those 2 flags?

    The first "states" that the window should be the last to become front-most( 
for me = focus =
active). OK, I'll make all other windows(also the ones behind it) the active 
ones, until there
is no window that doesn't have B_AVOID_FRONT. Then I'll pass the active state 
to it.
    Is this OK?

    The second flag... says that it doesn't have a problem being the next one 
to receive active
state(of course after another window gets closed)??? If so, from the 
explanation BeBook gives,
when it has the active state(focus/front-most), it will not receive keyboard 
events??? If that
happens, who gets the keyboard events? What about mouse events, those can be 
received by it?

    I know the "front-most" isn't equal to "focus". But focus=active, I think.
    That can be observed when the main window has some floating ones above her.
    But, then again isn't BWindow's only way to determine if it is the 
active(focus) window:
BWindow::IsFront()? Or... am I missing something?

    PLEASE explain in how many words you can, what those 2 flags do!


and...
2) How the ****(substitute by your wish :-) one can setup and use a window 
subset!?
    What I was trying to do, was(maybe not possible) to have a main window, 2 
floating windows,
and one modal window, in the *same* subset, be shown *at the same time*(all 4 
windows visible).
    Oh, to not forget, can a modal window have floating windows?
    The concept behind window subsets I can *really* understand, and agreed, 
it's needed, but
trying set up that hierarchy drove me out of my minds! :-)
    PLEASE help by providing me some code(draft) of how it can be done.

    To finish this point: I was trying to have 2 main windows each with 2 
floating windows and 1
modal one, and also 1(or 2 :-) floating window(s) for the hole 
app(B_FLOATING_APP_WINDOW_FEEL).
    If you can send me a program source that does all this, I would really, 
*really*, appreciate
you effort.


Thank you,
Adi.


Other related posts: