From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
fabric

"Back" Button for Block Diagram Navigation

Status: New

As my VI grows I often need to search for items (e.g. using "Find All Instances" or "Find >> Property Nodes"). When I browse through the search results I then find myself jumping all over the block diagram.

 

Very often however, I want to get back to where I was before the search so I can continue what I was doing. Unfortunately that usually means flicking through a bunch of case structures until I remember where I was! 

 

flow.png

 

 

What I would LOVE is browser-style navigation for the block diagram, allowing me to easily get back to where I was no matter where I end up!

 

 

back.png

 

 

My first thought is that this function should operate within a single VI only. That should make it clean and simple... It would effectively just toggle which cases are visible on the block diagram.

 

It could potentially be extended to navigate across multiple VIs, but that's something I could live without for now... 

 

10 Comments
jcarmody
Trusted Enthusiast

The 2010 version of my CaseSelect JKI RCF plug-in has this feature.

 


case.JPG

Jim
You're entirely bonkers. But I'll tell you a secret. All the best people are. ~ Alice
For he does not know what will happen; So who can tell him when it will occur? Eccl. 8:7

Mark_Yedinak
Trusted Enthusiast

While this could be a useful feature your specific need would be better served to resolve by using better coding styles and architectures. Consider modularizing your code. Use more subVIs and most importantly try to adhere to the recommendation to keep your code to a single screen. I would recommend a screen resolution of no more than 1600x1200. By better organizing your code it is easier to understand, navigate and maintain.



Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
David S.
NI Employee (retired)

@jcarmody: very cool! I should install this crazy RCF thing everyone's talking about Smiley Very Happy

 

@ Mark Y: What about creating event-based UIs? Modularization can't account for the fact that one event structure often needs to handle 30 kinds of events. Likewise, queue-driven message handlers have the same kind of problem. I agree with you that there are lots of situations where learning to be a better software designer is the right answer, but I think this complaint has merit within the LabVIEW ADE.

David Staab, CLA
Staff Systems Engineer
National Instruments
StephenB
Active Participant

this is good, but what I really want is an up button. So if I drill into a VI's subVIs... I can hit the "up" button on the subVI to go back up one level... and could even do that several times to get to the parent top level VI

Stephen B
RavensFan
Knight of NI

I like your Up button idea.  Please post it as a new idea assuming someone hasn't suggested it already.  The catch is that since a subVI can be used in multiple places and VI's, Up has to know where to go to, so it needs to have some sort of navigation tracking history to know from where you last opened the subVI window.

AristosQueue (NI)
NI Employee (retired)

I want the same functionality that "ctrl+*" gives me in MS Visual Studio. It's exact behavior is too magical to explain. It takes you back to earlier edit and browse points, and somehow it just magically knows when a browse point is interesting and should be added to the list. I don't know the exact heuristic, but it works realllllllly well.

fabric
Active Participant

@Mark: David is correct... It is both common and completely valid to have an architecture that includes large numbers of cases and/or events. Any sufficiently complex UI will do the trick! (FYI: My code is lovely, I know what a sub VI is, and I'm CLA certified Smiley Wink)

 

@Stephen: That is similar to what I was alluding to in the last line of my original post. The "back" button would simply trace your navigation history, even if it meant moving back to a parent VI that you were in. That said, I like your idea about a specific "return to caller" button.

Mark_Yedinak
Trusted Enthusiast

Fabric, I apologize if I misinterpreted the exact nature of your idea. I reread it more carefully and see that I did misunderstand the full intent. I keyed on the phrases "jumping all over the block diagram" and growing VIs. I am well aware of event structures and case statements containing many cases. I too am a CLA as well as a LabVIEW Champion. I fell into the trap here where you see a significant number of users who write the single monolithic VI as their application and was just trying to offer some advice on good programming techniques.



Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
JonP
Member

Kudo'd! I find very frequently that I need to get from one Event case back to the place that caused me to look at it. And I can't always remember where that was if I spent some time doing the looking!

wiebe@CARYA
Knight of NI

Just want to mention a "hack" I often use.

 

Put free labels next to the structure, and attach their arrows to something in the (nested) structure. You can now double click one of the arrows, and it will show the case it points to.

 

Those arrows used to disrupt the editing of every case, but that's gotten better in LV19. So, you can use them as poor man's shortcuts\bookmarks...