Skip to main content

Some light on Component3DToFrontEvent...

4 replies [Last post]
Anonymous

hiya,
i'm trying to make the applications stack move back to ensure the desktop
stays on top when it should. I found the Component3DToFrontEvent and tried
with something like:

<br />
someComponent3D.postEvent(new Component3DToFrontEvent());<br />

but it does nothing, some idea on how to manually move all applications a bit
further?

---------------------------------------------------------------------
To unsubscribe, e-mail: interest-unsubscribe@lg3d.dev.java.net
For additional commands, e-mail: interest-help@lg3d.dev.java.net

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
hideya
Offline
Joined: 2003-07-22

Hi Juan,

> i'm trying to make the applications stack move back to ensure the desktop
> stays on top when it should.

Didn't you make your desktop a SceneManager plugin? (it is I think right design). Then when instantiating your desktop, don't create a Frame3D, but attach the visual of the desktop to the plugin root. In that way, SceneManager doesn't consider it as a usual app, and won't perform any reordering. Does this make sense?

> someComponent3D.postEvent(new Component3DToFrontEvent());

Although I don't think this is a good approach, but just FYI. The event is supposed to be thrown against a Frame3D object. So, the following should bring the Frame3D to the front:
[code]
someFrame3D.postEvent(new Component3DToFrontEvent());
[/code]

Hope this helps,
hideya

Juan González

Hi,

> Didn't you make your desktop a SceneManager plugin? (it is I think right
> design). Then when instantiating your desktop, don't create a Frame3D, but
> attach the visual of the desktop to the plugin root. In that way,
> SceneManager doesn't consider it as a usual app, and won't perform any
> reordering. Does this make sense?
>
> > someComponent3D.postEvent(new Component3DToFrontEvent());
>
> Although I don't think this is a good approach, but just FYI. The event is
> supposed to be thrown against a Frame3D object. So, the following should
> bring the Frame3D to the front: [code]
> someFrame3D.postEvent(new Component3DToFrontEvent());
> [/code]

it explains everything, effectively my desktop is a SceneManagerPlugin and
that's why it does nothing. Maybe I should use a phantom empty frame3d (not
alive in the SceneGraph) to generate the event? Or some other way to achieve
this effect (sending all apps right before the panel)?

---------------------------------------------------------------------
To unsubscribe, e-mail: interest-unsubscribe@lg3d.dev.java.net
For additional commands, e-mail: interest-help@lg3d.dev.java.net

hideya
Offline
Joined: 2003-07-22

Hi Juan,

> it explains everything, effectively my desktop is a SceneManagerPlugin and
> that's why it does nothing. Maybe I should use a phantom empty frame3d (not
> alive in the SceneGraph) to generate the event? Or some other way to achieve
> this effect (sending all apps right before the panel)?

If you'd like to put the panel always in front of any Frame3D window, how about positioning it at Z > 0? (like Z == 0.05f?) Does this achieve what you want?

hideya

hideya
Offline
Joined: 2003-07-22

Hi Juan,

Oops, I took the issue wrong!

> If you'd like to put the panel always in front of any Frame3D window, how about positioning it at Z > 0? (like Z == 0.05f?) Does this achieve what you want?

You can scale up the panel and put it at like Z == -5.0f (far behind in the Z direction. FYI, currently the background image is positioned at like Z == -10.0f).

hideya