LabVIEW Idea Exchange

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

Modify refnum icon to indicate reference to typedef

I'd really like the blackened left-upper corner that you see on control icons to also be present on refnums if they point to a control that is a typedef...

 

This has the additional benefit (besides just being helpful) of letting you know if you accidentally diconnected the typedef and the refnum is no longer typedef-constrained...

 

Basically this would take effect when you drop a typedef'd control on the refnum...

 

ScreenHunter_03 Apr. 24 08.46.jpg

 

 

23 Comments
Darin.K
Trusted Enthusiast

Why would we do it for refnums?


You would have to ask yourself that question, since you already put red stars on there for type defs.  Like the OP I would rather see black triangles than red stars.  A refnum pointing to a TypeDef (where there are red stars and I would like black triangles) is completely different than a Type Def'd refnum control. ( Not advocating for controls to indicate that they are type def'd) 

 

Those red stars bother me, red is for coercion dots and breakpoints IMO so I'd go so far as to put black triangles on strictly typed VI references on the BD as well.

 

X may want to see the fine distinction between the included type being user defined or built-in, I do not care about that so much.  When type is included in a refnum I prefer the black triangle in the corner to the red star.

X.
Trusted Enthusiast
Trusted Enthusiast

@AQ: It think that your putative suggestion (show that ANY control/indicator is a typedef AT EDIT TIME) would be helpful indeed, in fact an excellent idea (especially if optional) but that was not the original suggestion.

My comment was not about whether I supported the original idea or not (I did), but whether it was a duplicate.

Now whether you want to Reject the idea or not is of course up to you.

AristosQueue (NI)
NI Employee (retired)

> since you already put red stars on there for type defs. 

 

The orange stars have nothing to do with being built-in or not. They have to do with how strict the reference is on the type of the underlying control. The stars indicate strict reference, and strict reference and typedef-ness are totally different things. The orange stars indicate changing the type of the control refnum itself. The typedef is changing where the type is defined. These two controls are totally different data types. Neither is a typedef:

Untitled.png

 

> When type is included in a refnum I prefer the black triangle in the corner to the red star.

 

If we added the typedef triangles, you would have BOTH the orange stars and the typedef triangles. They do not indicate the same behavior at all. You can have a typedef of a non-strict control ref and a typedef of a strict control ref.

Untitled.png

AristosQueue (NI)
NI Employee (retired)

> if they point to a control that is a typedef...

 

Now, if you're wanting to indicate that the control is *pointing* at a typedef instead of *is defined by* a typedef, then the black hat is inappropriate in the top-left position because that already means "is defined by". So if you want to indicate that the underlying type is a typedef, I'd suggest something more like this:

 

Untitled.png

X.
Trusted Enthusiast
Trusted Enthusiast

How the heck to you quote a comment in the Idea Exchange?

Anyhow, I think AQ finally got it with his 04-22-2014 post at 9:56 AM (coffee?)

Yes, that's exactly what we mean.

As far as your post 5 min later, it might be the way you guys think about it, but as users, by similarity with what we are used to on the BD (a black bookmark on the top left corner of the terminal of an object linked to a typedef), we'd rather have the version shown on the top righ hand side of your 9:56 AM post (maybe the coffee was not good?).

 

AristosQueue (NI)
NI Employee (retired)

The phrase "points to" was ambiguous in this case (a control that is defined by a typedef can also be said to reference a typedef), and the black triangle means "this control is a defined by a typedef", which further indicated to me that you were trying for the other meaning.

 

The five minute split was the time it took me to generate the second piece of art.

 

> by similarity with what we are used to on the BD (a black bookmark

> on the top left corner of the terminal of an object linked to a typedef

 

This isn't "linked to a typedef". This is referencing the type of a typedef. The black triangle would indicate that the control refnum overall was linked to its own typedef. In other words... one of these is a reference to a typedef, and the other is a typedef'd reference to a typedef (i.e. there are two typedefs involved in the second one):

Untitled.png

 

 

 

 

AristosQueue (NI)
NI Employee (retired)

Oh... and it gets better... just because it references a typedef does not mean that it is a strict reference. So all eight of these are distinctive types and would need visual differentiation:

Untitled.png

a= a strict reference to a numeric text box

b= a typedef of a strict reference to a numeric text box

c= a strict reference to whatever type is defined by Typedef 1

d= a typedef of a strict reference to whatever type is defined by Typedef 1

e= a non-strict reference to a numeric

f= a typedef of a non-strict reference to a numeric

g= a non-strict reference to whatever type is defined by Typedef 1

h= a typedef of a non-strict reference to whatever type is defined by Typedef 1

 

If I turn on "show control", the problem of using the black triangle to mean anything else may be more obvious. These are four different types.

Untitled.png

X.
Trusted Enthusiast
Trusted Enthusiast

OK, my brand of coffee makes this way beyond my grasp today. The bottom line is that for the user, black triangle means "something's typedefed somewhere".

More importantly, the ABSENCE of a black triangle means that you might be missing on the benefits of typefining the corresponding control...

AristosQueue (NI)
NI Employee (retired)

The triangle means that the item that has the triangle on it is typedef'd. That's the only meaning it has in LabVIEW. If we're going to use the triangle in more places, it needs to retain that meaning. As an example, if I put the black triangle on the corner of a cluster, it would not mean "there's a typedef in here somewhere". It would mean "the cluster itself is typedef'd." If one of the elements were typedef'd, I would put the triangle on that element.

X.
Trusted Enthusiast
Trusted Enthusiast

Please do.