LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
0 Kudos
kosist90

Select complete cluster (All Elements) from Unbundle node by double-click on cluster name

Status: Declined

Any idea that has not received any kudos within a year after posting will be automatically declined.

Currently, if one has cluster inside of the cluster, and wants to unbundle complete cluster, he needs to select "All Elements".

2018-05-03 10_47_28.png

But it would be nice to do it, while double-click directly on cluster name in the unbundle node (highlighted on the screenshot). It would be faster a bit, and no need to move mouse right-left all the time, while selecting a lot of subclusters from the cluster.

 

11 Comments
AristosQueue (NI)
NI Employee (retired)

Speaking as LV R&D:

Double clicking on a right-click menu would be a gesture that would not match any UI in the world. It would be an undiscoverable shortcut gesture. Given that it does not match any UI standard that I know of, and given the lack of discoverability, I can say with strong certainty -- based on previous features like it -- that it would be extremely rarely used.

 

Speaking for myself as a G programmer:

That pain you feel when you move your mouse left-and-right to select the subclusters so frequently? That's your arm telling you, "You need to refactor your code. This is a terrible way to write software." I can see all that repeated data declaration. Arrays, classes, variants with attributes -- I don't know what the right solution is for your particular application, but I cannot believe that this is a good solution. Have you considered refactoring?

kosist90
Active Participant

Thank you,

Refactoring of the code - this is important topic, but not in this case.

Regarding first statement - yes, maybe I'm wrong about double-click. Now I think that it could be simple click. Because anyway, cluster elements are shown on mouse hover, and not on the click. And I don't think, that selection of all elements of subnode by single click would break some UI rules... 

What do you suggest regarding simple, single click, please?

kosist90
Active Participant

Moreover, you've created plugin which moves Breakpoint menu to upper level, so there is no need to select it from submenu. And it is extremely useful!

So why don't you like selection of all elements not just from subnode, but from single click on upper-level node? Smiley Wink

wiebe@CARYA
Knight of NI

@kosist90 wrote:

So why don't you like selection of all elements not just from subnode, but from single click on upper-level node? 


The point is that it's only useful in very rare situations. If those situations are not rare for you, you might be doing it wrong.

 

It's probably not that easy to dig into the existing menu code and add a feature like this. And it might feel like a "weird" feature, as users are simply not used to selecting a menu parent. I don't recall any application that does that. Is that weirdness worth a saving of a small move?

kosist90
Active Participant

With all my respect, but many of ideas proposed here are not so easy to implement to existing code. It's not an argument at all.
And about weirdness... For many years, there was classical example of two parallel loops communication issue picture: wire from one loop was going outside, and then entered inside the second loop. And point was, that loops can not run in parallel, because second loop will be not executed, it will wait till the first loop will be stopped.
Now we have channels, for which we could do exactly the same - create channel, take its wire from one loop, and pass it into the second loop. And we tell, that data is transferring, and loops are working in parallel. If previously we could tell that "data flows", because wires are connected like this and like that; now we say - "in this case it works differently". Because it is exception. Because it is special communication mechanism. But someone could tell that it looks weird. Couldn't he?
Well, I don't need proposed feature too often. But on the other hand - how often do people use functions from right-click menu at subVI as "SubVI Node Setup", "Call Setup", and especially "Enable Database Access"? I don't think, that it is used more often, than "Remove and Rewire"; but somehow those features are there. Why? Do people use it on daily basis? I have doubts regarding it.
I just don't understand, what is weird in selection of all elements by single click. Because: if you will just extend unbundle node, to see all elements, and you'll have there inner cluster, how it will be displayed? As separate sub-elements, or as "all elements"? Of course, as "all elements" - or in other words, as cluster itself. So "native" behaviour of this unbundle node is to display full cluster node. Then why during selection of elements, we can't click on the item in the list, and have selected this item - what means, we'll have selected all elements of this item?
When one clicks on some element, it is selected. So if I click on cluster element, why it is not selected? Why it behaves differently. Isn't THAT weird?
I really don't understand why everyone is against it.

crossrulz
Knight of NI

If you can give me one example of being able to click on a group name in a shortcut menu out there in the wild (not LabVIEW), then I will give this a kudo.  I like the general idea as it is not uncommon that I need to get a cluster out of an object.  But UI standards exist for a reason.  If Microsoft and Apple do not allow it, I guarantee there is a reason.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
wiebe@CARYA
Knight of NI

>Now we have channels,

Didn't vote for that either Smiley Very Happy.

 

Being weird is not the reason, it's just a part that you're singling out. It is weird since no other program does it.

 

It's weird AND only a minor gain AND probably avoidable AND not a quick fix.

 

>I really don't understand why everyone is against it.

Been there. More then a few times.

 

 

AristosQueue (NI)
NI Employee (retired)

@kosist90 You notice that I did not close this idea. 🙂 I stated my objections to the particular solution, but left it open for further exploration and suggestions in case there's a better solution out in the community.

 

Having said that -- any solution in this area would require programming time from my team. I have to ask whether this is time well spent for the LV community overall. The pull-rights into subclusters is a thing. Is it so much a thing that it is worth adding custom UI aspects to deal with it? I have my doubts, but that's not the same as saying "no." Answering that question is a big part of the value of the Idea Exchange.

 

You want to know specifically why I am opposed to this. Wearing my R&D hat, here are my concerns:

  1. I generally don't think R&D should be adding features that facilitate writing problematic code*... that just leads more users into going that route. It's why I and many others have opposed adding helpful editor gestures to the Sequence Structure, for example. The massive cluster-of-clusters that is your use case is generally a significant problem for code maintenance.
  2. We're talking about going from 2 clicks and a mouse move to 1 click for a single node's configuration. How does that rank in the IDE effort overall? Sure, it may be a common work path for some users, but is it common for enough users to be worth doing over all the other stuff?
  3. LabVIEW gets derision for places where we don't match all the other apps in the world. Sometimes this is due to age, sometimes due to our unique needs, and sometimes due to R&D just not thinking it through. I tend to want to minimize the number of times that we deliberately introduce UI weirdness.

 

* "problematic code" = code that follows a pattern known, through observation of uses and their applications, to be hard to maintain and a regular source of bugs where a better solution generally exists. Often problematic code works, and for that reason developers resist calling it "bad code," but it definitely isn't "good code."

kosist90
Active Participant

Quite clear, thank you for the detailed explanation. I didn't expect that this idea would be seen as so unlogical and proplematic from R&D side...

AristosQueue (NI)
NI Employee (retired)

Yeah, sorry if I dumped on the idea too hard. Like Weibe, I too have put ideas on the forums and had the general reaction be "What? No!" or similar. 🙂 It's frustrating. In this case, I was trying to balance clearly explaining all of my thoughts on the topic without making you feel like it was a mistake to suggest.

 

Also, in general, be careful about reading me as "all of R&D." I'm one of the two primary monitors of the exchange, but sometimes an idea will get championed by some of the others who monitor.