Design URcaps which uses the full Polyscope screen

Hello,

so far as I understand it is possible to develop a Program Node, an Installation Node or an Toolbar URcaps.
By default, a Program Node uses the green areas in the following Screenshot and an Installation Node uses the yellow areas.
I am not exactly sure what the Toolbar “Node” does.

Is there a possibilty to access the “Header” and the “Footer” of the screen or in general, is it possible to access the fullscreen visualized by the purple frame in the screenshot?

Thank for your help.

Hi @thomas.iselor,
Toolbar will look something like this:

There is no URcap API to manage fullscreen mode, you will need to use java JFrame and implement all the UI logic on your own. If properly done you could achieve something like this:

Hi @Robpod,

thanks for your comments.

So user defined “Toolbars” are located below the UR+ icon. Am I right?

Do you think it is possible to access a more prominent location like the example “App” icon in the screenshot attached (on the right hand side of “Log”) or even deactivate existing Icons, e.g. “Program”?

Thanks.

You can sort of hack your “App” tab up there by adding another JFrame located there, and put click listeners there that displays the full screen JFrame similar to what @Robpod has demonstrated. As for removing tabs like program, no you can’t get in there and delete them. I’m not sure why you’d ever want to do that, but if you REALLY wanted to disable them, you could always just stick another JFrame on top of it that intercepts the mouse clicks and then does nothing. Pretty sure this goes against some UR guidelines, and would likely prevent your CAP from passing certification. But if it’s just for your own internal use, go crazy I guess.

Thx for your comment. I added a green JFrame on top of the icons:

Since it is part of the LightUpProgramNodeView > buildUI, the green JFrame appears when Program > URCaps > LightUp is selected. Where do I have to place the JFrame, such that the green Frame is visible from start and no matter which Tab like “Run”, “Logs” is selected?

Should be able to put it in the Activator class.

1 Like

Thx for the idea using the Activator class. It works just fine on the ursim environment with Polyscope 5.15.0 but unfortunately not on the target roboter with Polyscope 5.13.0.

Polyscope 5.13.0:
The JFrame is available during startup phase, but once the robot is started, the JFrame disapears, even with myJFrame.setAlwaysOnTop(true).

Polyscope 5.15.0:
JFrame remains on top and visible during startup and when Running - as expected.

Can you just update the other robot to 5.15? Not saying that’s like the “right” solution to your particular problem, but not a bad idea to be on the latest Polyscope version anyway. And if your problem goes away, then that’s a bonus

Unfortunately an update to 5.15 is not possible right now.
Do you think there is an alternative to get JFrame on top level?

You could try using a timer of sorts to wait until the Polyscope UI has been created before adding your JFrame. Might just be a Z-Order type thing where both components have “always on top” set to true, so it’s just taking whatever builds last. Does your JFrame appear on the boot screen? Like while it says it’s loading Polyscope?

Yes it appears on the boot screen. In 5.13 as well as 5.15:

Yeah I would try just delaying its creation until after Polyscope is fully loaded.