LabVIEW Idea Exchange

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

Add a zoom function (yes, I said zoom. So sue me)

Status: Completed

Now available in LabVIEW 2023 Q3

Add a slider on the toolbar which would allow changing the zoom level on the diagram. This should also be controllable more easily (for example, by using shift + mouse wheel scroll).

 

Personally, I want this less for zooming out and more for zooming in. It's sometimes convenient to have a larger display of a specific area.

 

I know some people feel that a zoom is a terrible idea because it will encourage people to create huge diagrams. Personally, I doubt that (since you can't work on zoomed out code and zooming out and in repeatedly isn't that convenient), but I don't mind if people do that. It's their code (as long as I don't have to work on it later).

If people really insist, this can also be prevented by setting the maximum value of the slider to 1, so that people can't zoom out, but I doubt this would have any value.

 

The zoom should snap to 1 when you get near it and should center on the mouse cursor.


___________________
Try to take over the world!
102 Comments
tst
Knight of NI Knight of NI
Knight of NI

 


And yes, "WebLV" or rather LabVIEW Web UI Builder...uses vector graphics and has zoom and is shiny and new and fun to play with.

 

I actually disagree with that. I think the editing experience there is considerably clunky compared to LV (although I'll admit to not looking at the release version and I recognize that just like LV has the problem of having existing code, WLV has the problem of being a first version).

 

But that has nothing to do either with its zoom feature, nor with this idea.


___________________
Try to take over the world!
Youtiger
Member

I went thru the posts concerning the zoom function. Since I am always trying to keep the code simple and stupid I fully support the opinion to not expand the window inviting to write large code.

BUT I was working with altium designer as well as with OrCAD to draw schematic diagrams. Compared to those tools LV acts simply old fashioned. I have to admit that LV covers another topic but in the end it deals with drawing diagrams anyway...

I'd love to get back the functionality I once had drawing schematics!

kdarr
Member

I'm just getting started with LabView but, I just can not believe that this software doesn't allow users to use CNTL+Scroll to zoom in and out of a block diagram.  I've opened some blocks and just shook my head trying to grasp how to draw with such small icons.  Not to mention the fact that since I'm new to this I can't even read the icons to tell what they do.  I am just shaking my head at this one.  Come on, hasn't any of the NI engineers used AutoCAD?  Heck, Microsoft even lets users CNTL+Scroll in Visual Studios to increase the text size of the code.  I just don't have a clue how people could even begin to draw in this program using a standard laptop at any decent resolution setting.  THIS IS A BIG DISAPOINTMENT!  DO YOU WANT PEOPLE TO GO BLIND TRYING TO USE THIS SOFTWARE?

G-Money
NI Employee (retired)

I am about to finally post the official response to this but I'm sure that it won't answer all the questions people might have on this. This has been one of the top requested feature for quite some time and there are many reasons we have not implemented it so far. I will continue to monitor this idea to answer any of those techincal questions that come up. I don't know every technical detail but I think I know enough that I should be able to help out.

 

Some of the reasons why technically this would be difficult to add in the LabVIEW release cycle:

 

1) There is a lot of LabVIEW code which uses integer coordinate systems. To scale the LabVIEW environment (front panel and block diagram) properly these would all need to be changed to floating point systems. This task would not be menial and could not be automated unfortunately. There are many parts of LabVIEW that do scale very well but the overall existing framework would need to be revamped to function as people expect zooming features to work.

2) Scaling all the different text style and fonts as well as language support would have to be considered as well.

3) Single pixel lines can change into rectangles when zoomed in and this can raise drawing issues that rely on coordinate systems

4) Dragging subVIs from one zoomed in state to another VI with another zoomed in state would need to be considered

etc.

 

This is just a short list. There have been working prototypes internal and on external sites but they never fully answered all the questions that are raised with zoom. While this idea is going to be declined for now. We will definitely continue to find ways to innovate in the UI and navigation part of LabVIEW with our users in mind and that will perform as expected.

G-Money
NI Employee (retired)
Status changed to: Declined
National Instruments is always investing in ways that make navigating the LabVIEW environment more intuitive and user friendly. Based on the customer expectation of how zooming features should work in software products, existing LabVIEW frameworks that make it difficult to fully meet those expectations, and other business decisions, we have decided to decline this idea. We have looked into this idea in the past and will continue to revisit it in the future but currently R&D won't be actively working to include it in the shipping LabVIEW product.
X.
Trusted Enthusiast
Trusted Enthusiast

I think there is a misunderstanding from LV, here. The Navigation window, in some specific cases, can act as a zoom window just fine.

Example:

 

ScreenHunter_003.jpg

 

The only problem is that currently, the navigation window is designed to fit the WHOLE diagram (the diagram above is small, so when the Navigation window is displayed as a full screen window - I happen to have two screens hooked-up to my computer, so that is a natural choice so that it does not interfere with the other LV windows).

So in this mode, there is no more magnifying zoom when the diagram size gets larger than the navigation window. Rather, the image shrinks.

So arguing that this cannot be done because of this or that does not seem to hold water: it is already being done!

Now, what needs to be changed is that the size of the "navigated" diagram part should be user-definable (not set by default to the whole extent of the diagram). Set it say to a few typical values (800x600, 1024x768, etc) to simplify. Heck, make it rigidly bound to an underlying grid if that makes it easier!

But make it a little bit more responsive. Right now, the navigation window is not updated when you use a tool (wiring tool for instance!), so you get an update only after you have connected the wire, which of course defeats the purpose of the original request. I could understand that this could become tricky, but nobody has ever asked to get vectorized wires or subpixel resolution when drawing the magnified diagram (although of course this would be expected from a modern IDE, as mentioned before).

 

Oh, all this after the fact blurting comes from this thread, BTW....

tst
Knight of NI Knight of NI
Knight of NI

> The Navigation window, in some specific cases, can act as a zoom window just fine.

 

Yes, but the request wasn't for a "zoom window". Windows 7 already has a magnifier which works just fine either as a separate window or as a floating magnifier.

 

The request was for the zoom to be integrated into the diagram window, just like with any other application which supports zooming.


___________________
Try to take over the world!
X.
Trusted Enthusiast
Trusted Enthusiast

OK. My point was just that NI has the code already running for this feature, whether in a separate window or not.

tst
Knight of NI Knight of NI
Knight of NI

> My point was just that NI has the code already running for this feature, whether in a separate window or not

 

No, not really. The NW only displays the code (and probably just uses the existing Get Image methods). A real zoom would have to allow you to edit it as well, know how to redraw all the primitives, detect mouse clicks correctly, etc.


___________________
Try to take over the world!
Ken3006
Member

I have been reading through the comments on the LabVIEW zoom function idea.  I understand the need for LV developers to create small and concise code or even layers of code to 'prevent' the VI from getting large.  However, the problem is not with a learning to follow such an idea; but to perform code review and rework on developers who didn't follow the idea of good coding practice.

 

I believe most seasoned LV programmers who has been constantly working with 'oversized' single VI applications can tell you the pain.  It gets especially tedious when the beyond 4-5 screen lengths or heights.

 

The idea of the zoom is hopefully to aid in LV programmers to be able to see the 'intention' of the original developer or even the 'flow' the developer was trying to achieve; and allow the reviewer to rework the code with that understanding, zooming into the problems quicker.

 

It is a function that I feel will be a good aid.