LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to set Move to Front of the selected Waveform Graph Indicator

Solved!
Go to solution

Hello. I would like to put some number of indicators on front panel (it's about 20 small indicators or mauby more).

When user choose one of them, the indicator resizes to whole front panel. The problem is that some number of small indicators shows up like the resized one was under them. I've searched everywhere and since 2010 (some people had the same problem) no solution was found. I belive that property node with Move to Front option was added to labview (actualy 2015 sp1) - the problem was since 2010 - but unfortunately I can't find it. Is there any solution of my problem?

0 Kudos
Message 1 of 13
(5,041 Views)

You should not try to change the size of the front panel. It might cause undesired effects as you see. LabVIEW does not handle well FP size changes, so scaling, etc...

A good GUI could just have a constant FP size, and depending on the required number of indicators/controls/GUI objects, you might use additional pop-up windows or SubPanels (where you load in any subVI FP as needed dynamically).

0 Kudos
Message 2 of 13
(5,011 Views)

@RobertRobert wrote:

Hello. I would like to put some number of indicators on front panel (it's about 20 small indicators or mauby more).

When user choose one of them, the indicator resizes to whole front panel. The problem is that some number of small indicators shows up like the resized one was under them. I've searched everywhere and since 2010 (some people had the same problem) no solution was found. I belive that property node with Move to Front option was added to labview (actualy 2015 sp1) - the problem was since 2010 - but unfortunately I can't find it. Is there any solution of my problem?


The way I'm reading your post is that you have a bunchy of indicators, the user "chooses" one of them  (how is that, by clicking on it?), then that one fills the screen and you don't want to see the others.   Is that correct?

 

Rather than worrying about another control you don't want to see being in front of the big one, why don't you just set the visibility of the other controls to False?

0 Kudos
Message 3 of 13
(5,005 Views)

I'm not going to resize FP, I'd like to resize Indicator. And when I do that, the others indicators (that should be covered by the resized one like they were under it) apear on top of FP, so the resized indicator is not on the top layer and is "under" the other indicators. The problem is that I can't set the resized indicator to Move to Front like in the reorder menu can do.

0 Kudos
Message 4 of 13
(4,985 Views)
Solution
Accepted by topic author RobertRobert

You could have a tab with hidden tab page selector. Have your small graphs on the first page, and a single large graph on the second page. When the user selects a small graph in the first page, you programmatically switch to the second page, and feed the required data into the large graph. In this way it will look like the selected graph got magnified. You can have a back arrow button on this second tab page which takes the user back to the first page...

0 Kudos
Message 5 of 13
(4,982 Views)

Yes, changing the visibility of the indicators could resolve the problem, but how can I change a bunch of them at the time.  Change the one indicator by it's property node is easy, but I don't know the way to chnge all of them (then I could change the resized one to visible state). That would resolve my problem (or just override it, because the "property node: move to front" would be the easyest way, unfortunately NI did not make thah property since 2010 when the problem was signalised).

So, the question is: how to change the property node for a bunch of indicators? Or is there the Move to Front property node for indicator.

0 Kudos
Message 6 of 13
(4,981 Views)

Yes, that's good idea. But that solution requires to duplicate each indicator. It complicate the code and increase the memory usage. Is there a way to display indicator on the other page than previously displayed? If so, I could change the main page to other one, and then display and resize indicator.

0 Kudos
Message 7 of 13
(4,973 Views)
Solution
Accepted by topic author RobertRobert

@RobertRobert wrote:

Yes, that's good idea. But that solution requires to duplicate each inficator. It complicate the code and increase the memory usage. Is there a way to display indicator on the other page than previously displayed? If so, I could change the main page to other one, and then display and resize indicator.


No. You need only a single extra indicator, you do not need to duplicate all your Graphs 🙂 You just feed that data to the single large Graph what the user selected from the small Graphs...

Message 8 of 13
(4,970 Views)

IMHO having overlapping GUI objects is not an elegant design decision. Moreover, keep in mind that if you have overlapping objects on your Front Panel, there is also a penalty: some impact on the GUI update speed. Of course this depends also on the video card performances, etc...

I would use either a TAB container with hidden page selectors, or a SubPanel with two subVIs (one subVI could have all your small graph objects, when you click on one of them, the code could load another subVI into the SubPanel showing a single large Graph), or a pop-up window with a dynamically called subVI to have a magnified version of the clicked Graph indicator.

 

Anyway, if you really want to go in the ugly "overlapping objects" way, here is some help how to handle multiple element references so you are able to fire property nodes on a single or multiple controls/indicators. First, select all the elements you want to play with, on the Block Diagram. Then right click, and "create reference". This will create all the required references for your controls/indicators. See an example below how to handle references:

 

uj1.png

 

 

0 Kudos
Message 9 of 13
(4,966 Views)

@Blokk wrote:

@RobertRobert wrote:

Yes, that's good idea. But that solution requires to duplicate each inficator. It complicate the code and increase the memory usage. Is there a way to display indicator on the other page than previously displayed? If so, I could change the main page to other one, and then display and resize indicator.


No. You need only a single extra indicator, you do not need to duplicate all your Graphs 🙂 You just feed that data to the single large Graph what the user selected from the small Graphs...


Thank You. That's the solution that I can accept 🙂 Feed data and parameters like labeling and scaling to one big graph on the other page of tab control. That what I need.

0 Kudos
Message 10 of 13
(4,964 Views)