Jump to content

Sparkette

Members
  • Posts

    402
  • Joined

  • Last visited

  • Days Won

    30

Everything posted by Sparkette

  1. I'd think you used this but I don't think it works in LV 2017. Did you manually pull the VI from lvdialog.rsc and copy the FPHP to a new VI?
  2. Here's a shortcut menu plugin I wrote that does something I've found myself needing every now and then. You select some objects, right-click, select "Ad-Hoc Scripting", and then it'll open a new VI with pre-populated refnums in a cluster. All selected objects will be included in the cluster, as will a refnum to the VI, its panel, and its diagram. Ad-Hoc VI Scripting.llb
  3. Yes, that's what I meant. If it's being added as a native LabVIEW feature, then maybe NI will add this functionality. I'm asking whether or not they will, as it seems obvious that they would if they were developing the feature from the start, and it would be a shame if they didn't. I'd like to know what they have planned. Also, what about clusters and arrays?
  4. In that case I'm hoping for 2020, because what you're saying makes it sound like SP1 would mean the stuff I'm asking for isn't there.
  5. How long do these things usually take to go through? Is this likely to be in LV 2019 if it's accepted? Or more likely not until 2020? (or later?)
  6. Yeah but I want the best of both worlds, extending existing controls while also being able to use it via just a block diagram terminal. Also I'd like something I can put in an array or cluster; XControls can't do that and I don't think QControls can either. I've actually been meaning to see if I can figure that out, lol. I already know how you would load a control from a DLL: there's a hidden "Plug-In Control" object that, when placed via scripting or a modified palette, allows you to load a DLL from the context menu. You can place it via my Place by Style Quick Drop plugin. Incidentally an uninitialized plug-in control is the only way I know of to get a control with "void" as its type. (And I don't mean empty clusters or void arrays.)
  7. Wow, I love that idea, and it's great to see there's already an NI employee on board with it. I posted a comment on it; I'll quote it here:
  8. Yep. What do you mean specifically? Very observant! This is making use of an obscure, probably unsupported feature in LabVIEW called an "External Editor Wizard". The only official one that exists to my knowledge is the State Diagram Editor, which works similar to the Statechart Module (which, incidentally, is what the functions supporting the editable embedded diagram were built for) but it has fewer features and is available for free. The way External Editor Wizards work is you place one from the palette, and draw a box like with a structure. Then a VI generates some stuff with scripting, and it opens an editor to manipulate the code. You could call it a type of "Express Structure"—it works like an Express VI, with how you can configure it, except it exists as multiple objects in a structure on a block diagram, instead of as a single node. From what I can tell, the structure can be of any type, except a Flat Sequence Structure, as for some reason that doesn't descend from the Structure class. (I'm using a stacked sequence here, as with only one frame it looks and acts identically.) It appears that this feature was never intended to be used for anything other than the State Diagram Editor, as if I right-click the structure and select Properties, it tells me I can't edit the properties because the structure was created by the State Diagram Editor. As it happens, I think I actually thought of a better way to get this same functionality, that doesn't even rely on anything unsupported. So I'm probably just going to do that. I'll still release this (incomplete) version when I get home from work though, just so you all can see how it works.
  9. https://gfycat.com/formalgentlelemming Not this particular use of it of course, but just in general. Sorry the cursor isn't there; you can still easily see what's going on though. EDIT: I rewrote this as a shortcut menu plugin that just opens a regular block diagram window: Here's the old version in case anyone wants to play around with the External Editor Wizard stuff, or my subpanel diagram code: Old AHS Editor.zip
  10. Wouldn't it be convenient if there was something like a structure you could place, where you could open a window with a temporary block diagram to do some random VI scripting you'll only need once?

  11. Just pretend it means you're one of the Knights. :p
  12. From old URL's like this one for instance: http://forums.lavausergroup.org/index.php?showtopic=1524 It's not on archive.org. I figure it's safe to assume the staff wouldn't have deleted all the old stuff, so where is it?
  13. There's a private method on the Application class called Enable External Proptypes, that has a single Boolean "Enable" input. The description says "Enable or disable external G-based proptypes call". That sounds interesting; it makes me think perhaps it's another hidden, likely-buggy method for doing internal LabVIEW stuff in G, like XNodes/External Nodes, or External Editor Wizards (like the State Diagram Toolkit.) I'm pretty sure "proptypes" is an abbreviation referring to type propagation, so that could be fun to mess with. Anyone have any ideas?
  14. OK, thanks; I guess there probably isn't anything special that needs to be done then in order to enable it. Or is there some kind of special configuration you've done that might have enabled it? Weird how no one else seems to have noticed it, and also interesting that they'd add it now. Unless they didn't mean to put it in the released version :p
  15. @ShaunR, I just realized it says you're using LabVIEW 2009. Is this the version you checked for that menu item in? Maybe it wasn't added until a later version.
  16. I recommend selecting "Use Verbose Tagged Text" from the XML menu. Then it actually won't be XML you're editing, but something that's a lot easier to skim through. Odd. It worked when I tried it. What version of LabVIEW are you using?
  17. Don't think that's possible. All I'm doing is editing data; I'm not writing any code. This is what it looks like.
  18. Well, I've attached some VI's with what I think are the splitter thing you're asking for, but it could be tricky to get it into a new VI for a similar problem to what I originally posted this thread about—except this time, while you don't need to open the context menu to copy/paste, you can't drag a box to copy a splitter, and also you can't put a splitter in a .ctl. (Well I actually managed to do so by hacking, but it didn't actually work to let you place it.) The only way I know of to copy the splitters out of these VI's are with scripting, using the "Move" method. Here you go though, in case you want to try. Oh, also, you can send me the VI you have and I'll probably be able to mod the splitters for you. Can you describe in more detail what you wanted with the array? Horiz Splitter.vi Vert Splitter.vi
  19. You saying you still need something or no?
  20. If @hooovahh's link doesn't suit your needs, I can take a look. I have a work-in-progress tool called VILab to do that kind of thing btw, though it's not quite usable yet (as in, most things just don't work at all). Until I finish that though, there's also my XML editing tool, in the same Github repo. It works by saving VI's to LabVIEW's undocumented XML save format, and lets you edit the raw data structures as XML. (Or Verbose Tagged Text, another format it supports that I think is easier to work with.) So you can try it yourself if you want, or again, I can try. It seems like the kind of thing I'd be able to do.
  21. Well yeah, the State Diagram Editor is what I was talking about before; that's the example I found in vi.lib. Though naturally I'm more concerned with figuring out how to make my own, and how to enable that option in the palette editor (even though somehow I already have it enabled.) Also there are in fact some VIM's there; that external node isn't one of them though of course. (And it really couldn't be; it grows to arbitrary size, has a dynamic number of terminals, and displays variable text on it. The only other thing they could use, barring adding a new primitive, is an XNode.)
  22. I mean I don't think there's a border. I didn't use any kind of hidden features or data editing trickery to make it, so if you didn't figure out how to make it completely borderless, maybe there is a pixel I can click. I'll check when I get home from work, and post the ctl.
  23. So here's a .mnu file that has StateDiagram.vi with this turned on, as well as a nonexistent ExternalEditors\MyEditor\MyEditor.vi that you can create and experiment with. Not sure how to get it to work yet. ExternalEditors.mnu
  24. OK, just discovered something big! (Well, big as far as this mystery is concerned anyway.) I did a "dir /s *wiz*" in my LabVIEW directory, and found a folder called "ExternalEditors" in "resource\plugins". I put "<LabVIEW>\resource\plugins\ExternalEditors\StateDiagramEditor\StateDiagram.vi" in my palette and turned on that option, and yep, it worked. It's actually pretty interesting; it's a little graph editor thing that generates a state machine loop structure. And the structures have a little icon on them too showing they're still linked to the editor so you can open it again for further editing. And how do you open it again? So there's another mystery solved. This seems like it could be a real neat framework for creating custom stuff, as long as it doesn't end up crashing LabVIEW a bunch as unsupported features tend to do. I'll put something together to let you experiment with this in a bit, since I still have yet to figure out why I have that "external editor" option. (My LabVIEW installation that has this option happens to be in a VM though, so that might make it easier to figure it out.) I'll let you know when I figure out how to enable it. (Figuring out how to enable NI-internal features is nothing new for me, but it's strange actually having the feature enabled already while I try to figure it out!) EDIT: Okay, this is weird. That editor uses malleable VI's in its code, making me think this is pretty recent. But then, look what pops up in the generated code if you have more than one non-default state transition: Yeah...if this was recent then I can't imagine they'd be using one of those. That's an External Node, for those who aren't familiar. That's what the ";D" prefix on the VI name means. No, really. External Nodes were NI's first attempt at creating, well, externally-coded block diagram nodes. The more modern, less buggy (but still unsupported) implementation of that, of course, is the XNode. (The link I posted before refers to XNodes, but I think that's what External Nodes were called before the new XNodes were a thing.) Now yes, VIM's existed in a semi-official capacity in earlier versions of LabVIEW as well. But they were implemented using XNodes, so I don't think they existed back when NI was still using External Nodes. This is really weird.
×
×
  • Create New...

Important Information

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