Jump to content
flarn2006

Hidden editable pixmap control

Recommended Posts

Well in playing around with the control I crashed LabVIEW so I'd say this was something that shouldn't be messed with, but pretty neat and something I didn't know existed.

  • Like 1

Share this post


Link to post
Share on other sites

I wonder, is this something NI would need to provide support for? Its label in the "style" list suggests no, but then if you create the control in the way I described, you wouldn't see that.

Share this post


Link to post
Share on other sites

For those who don't feel like crashing LabVIEW, here's what it looks like.  It looks like something out of LabVIEW 1.0 that was somehow never removed.  In my former role at NI dealing with all the secret features we didn't want the average user to know about, even I never came across this one before.  Given this, and the fact that it crashes when you try to use it, I can almost guarantee you that NI will not be interested in providing support for this.  Better to stay away unless you find some good reason you think you need it in your project.  

pixmap control.png

Share this post


Link to post
Share on other sites

It works great for me, if you right click and select: "FatBits", it becomes a  bit bigger and could be a good tool to create a 32x32 icon (That's the only size it supports).
There are no Property/Invoke nodes for this control, and Value change event don't seems to work 😞
 

image.png.489989ebf44c80c47c212743c3fbfd91.png

  • Like 1

Share this post


Link to post
Share on other sites

Looks like something form NI's mac days, below is a screenshot from proFit, a mac plotting program, they look pretty similar.

Untitled.png.1201399b1892c7975de2b7643a52dde5.png

Share this post


Link to post
Share on other sites
8 hours ago, David_L said:

For those who don't feel like crashing LabVIEW, here's what it looks like.  It looks like something out of LabVIEW 1.0 that was somehow never removed.  In my former role at NI dealing with all the secret features we didn't want the average user to know about, even I never came across this one before.  Given this, and the fact that it crashes when you try to use it, I can almost guarantee you that NI will not be interested in providing support for this.  Better to stay away unless you find some good reason you think you need it in your project.  

pixmap control.png

Well if someone causes problems with it, after coming across it in the way I described that doesn't give any kind of warning, wouldn't NI be obligated to provide support?

Share this post


Link to post
Share on other sites
10 hours ago, flarn2006 said:

Well if someone causes problems with it, after coming across it in the way I described that doesn't give any kind of warning, wouldn't NI be obligated to provide support?

And that support would likely consist of: "Don't try to use that thing.  It's broken".

In general, there isn't an obligation to support undocumented features.

Share this post


Link to post
Share on other sites

Agree with Paul.  Assuming that this is some feature that isn't supposed to be there, they'll support this in the way they support any bug.  File a bug report that may or may not get fixed in a future version of LabVIEW (likely > 1 year away) then give you a workaround, which is don't use this unstable hidden feature.  If it is a feature that is supposed to be there, but buggy, then pretty much the same result, as there's probably not much else they can do for you in the short term other than suggest a different, more stable approach.

Share this post


Link to post
Share on other sites

Yeah I guess. For the record I have no need to use it or receive support for it; I was just curious.

Share this post


Link to post
Share on other sites

This existed back in LabVIEW 3 already (although you only could create it on a frontpanel with some super private nodes that came available with the new VI server interface in around LabVIEW 6 and crashed LabVIEW back then quite quickly too if you got that far) and I"m pretty sure it is from the Mac only version of LabVIEW alrady (2.x). In fact it seems like the bitmap edit control in the old icon editor, which looks exactly like that, but that icon editor was a dialog written in C inside the LabVIEW core. So while it is functional enough to be used with the LabVIEW internal C dialog API it obviously never received any extra love to adapt it to the property node interface that was later created and to make it useful as a generic LabVIEW control. Since the old default icon editor is still an option to choose, I'm sure that removing it from LabVIEW at this point is also not an option.

But making it a fully public control is definitely also not going to happen. For this it is to limited in functionality to even spend half an hour to make it more functional.

Edited by Rolf Kalbermatter

Share this post


Link to post
Share on other sites

The nodes are actually not private anymore but rather part of the scripting extension. Look for New VI Object and then there is an enum where you can select the object to create. The owner refnum obviously has to be the correct frontpanel or diagram refnum depending if the object is a diagram node or a frontpanel object and the object class refnum has to be compatible with the object too. Lots of preconditions that must be correct and therefore it's not really a tool for generic use at all. The enum for the PixMap has the same (warning: dangerous)  message appended.

Basically you are working here in the attic of LabVIEW and should accept that there are rusty nails that can stick out of the floor and walls and on which you can hurt yourself pretty badly if you don't watch out carefully. And don't run to mommy and rant about the evil LabVIEW engineers who left those rusty nails in there. You are not supposed to be in that attic at all, and if you go anyways assume the risks yourself! Basically any bug report about such features will be silently dropped in the round binder, you know the one where you also drop your dirty paper handkerchiefs and such stuff. 😃

Edited by Rolf Kalbermatter

Share this post


Link to post
Share on other sites

Oh right, that's where I originally found this control, including the "(warning: dangerous)" text. I thought that might have been it; I know that node used to be "SuperPrivate" as you called it ;)

I've heard that "rusty nails" analogy many times before but I thought scripting wasn't considered part of the "attic" anymore, and wouldn't that include the New VI Object node?

How did they create the control on the front panel prior to the existence of the scripting interface? I assume with some internal tool similar to my work-in-progress VILab?

Share this post


Link to post
Share on other sites

No idea how they did it specifically but as you saw in the other thread in lvdialog.rsc this frontpanels are simply dialog resources that can be loaded as templates by LabVIEW C code. There is a hidden File menu entry that allows loading these resources to edit them and technically they are VI Frontpanel resources. A neat way to use the already existing UI elements from the C code too.

Share this post


Link to post
Share on other sites
9 hours ago, Rolf Kalbermatter said:

No idea how they did it specifically but as you saw in the other thread in lvdialog.rsc this frontpanels are simply dialog resources that can be loaded as templates by LabVIEW C code. There is a hidden File menu entry that allows loading these resources to edit them and technically they are VI Frontpanel resources. A neat way to use the already existing UI elements from the C code too.

Wait really? I'm surprised I haven't found that menu item. How do you enable it? Or is it under an NDA that's still in effect from when you worked at NI? (In which case, I'll have to do some digging.)

You know anything about those dialogs I posted the screenshot of in that other thread?

EDIT: Oh hello what's this? ;)

ss_oRVoXR.png.c55605d1790a20caa52ab30c03a7fd84.png

Edited by flarn2006

Share this post


Link to post
Share on other sites

Cool, thanks :) I'll give that a try when I get home from work.

Oh, and that also answers my question about one of those dialogs in my screenshot. :)

Edited by flarn2006

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.