WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   Window always on top (https://forum.worldviz.com/showthread.php?t=4724)

madeinjava 08-23-2013 04:57 AM

Window always on top
 
Hi all,

Is there any way to get my vizard window always on top?
I have an application that will run parallel with vizard's window together in the same screen. but when I click on my app button the vizard window is covered again with my main app.
This is my vizard window setup:

...
viz.window.setPosition(500,500)
viz.window.setSize(700,300)
viz.window.setBorder(viz.BORDER_NONE)
viz.window.setFloat()

viz.go()
...
...
even though in the vizard help the setFloat() function will set the window to stay on top but here in my case it does not.
Its work only when during the compiling I press the vizard logo. then I get my vizard window always on top. but I can not make it when publishing to exe since you can not press the vizard logo when you publish to EXE file.

Is there any way to get my vizard window always stay on top?

Thanks!

Frank Verberne 08-23-2013 09:09 AM

The function viz.window.setFloat() should indeed make your vizard window stay on top of other windows. You mention something about pressing the Vizard logo. I don't know what you're doing in the rest of your code, but if your code is in some kind of loop from the start, it could be that the first frame is not drawn yet, and nothing of the settings are applied. You could add this piece of code to wait for the first frame to be drawn:

Quote:

import viz
import viztask

def wait():
yield None

viztask.schedule(wait())
To be sure, does this code alone also give troubles:
Quote:

import viz

viz.window.setPosition(500,500)
viz.window.setSize(700,300)
viz.window.setBorder(viz.BORDER_NONE)
viz.window.setFloat()

viz.go()
It works in Vizard 4, and it should work in Vizard 3 as well.

Furthermore, check the settings of the application you want to run in parallel. If both of them want to be on top, you could get issues...

farshizzo 08-23-2013 09:27 AM

I believe the problem is that the command is being called before the window is created ( i.e. viz.go() ). Try changing your code to the following:
Code:

viz.window.setPosition(500,500)
viz.window.setSize(700,300)
viz.window.setBorder(viz.BORDER_NONE)

viz.go()

viz.window.setFloat()

This will be fixed in a future release though.

Frank Verberne 08-23-2013 09:52 AM

That was my original thought as well, although in Vizard 4 that's no problem.

madeinjava 08-27-2013 02:10 PM

Quote:

Originally Posted by farshizzo (Post 15254)
I believe the problem is that the command is being called before the window is created ( i.e. viz.go() ). Try changing your code to the following:
Code:

viz.window.setPosition(500,500)
viz.window.setSize(700,300)
viz.window.setBorder(viz.BORDER_NONE)

viz.go()

viz.window.setFloat()

This will be fixed in a future release though.

Works like a charm! Thanks farshizzo and Frank!


All times are GMT -7. The time now is 09:22 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC