Add Intellisense support to the property node

 
I really hate having to dig through a long hierarchy of menus when I know what I want:
Visual Studio (and other MS and non-MS products) have a feature called Intellisense, which is meant to make this easier. Basically, as you type, it pops up a list of matching objects, based on context, so you can quickly select what you want:
It would be nice if LV had a similar feature - click on a property in the property node using the text tool (or Ctrl+click if using the auto-tool) and now you can type in the property name and you will get an Intellisense-like pop-up, which will have all the relevant properties.
Specific features it could have:
It should know all the relevant names - full names with the hierarchy (Boolean Text.Font.Color), long names (Mechanical Action) and short names (MechAction). This could probably be similar to how Quick Drop handles shortcuts or they could simply appear as separate items.
It should be context sensitive. If the class is Boolean, then there's no need to have Listbox properties in the list.
It should match all the properties which include the search string (so "in" on a boolean would match both "Indicator" and "Strings[]") and only them.
It should have the ability to use caps for acronyms (e.g. in the above screenshot you could use "BT" instead of "Boolean Text", similar to what appears in this video).
It could probably also work on the invoke node, although there it's less needed.
It could probably also be used to quickly select a class if you have a class specifier using the same basic mechanism.
This example (LV 2009) shows how useful this could be. You don't need anything installed. Just run the VI and start changing properties.
Caveats:
It will only work on the last property in the node.
It doesn't have the proper list of names and it doesn't implement all the features in the idea, as this is just a basic example.
Note - this is similar to this idea, but I think that it's much more usable. Also note that the second idea refers to a QDKS which ships with 2010, but that is far from perfect.

Here's a more detailed response.
Browser:
Click Ctrl+Shift+B.
Get a new window. Great. Just lost a little bit of focus on what I was doing.
Find the search button. Oh, there it is. It's that little button.
Oh, another window popped up. What did I want? ...   ...   ... Ah, yes. It was that property.
Search for it. OK, that was easy. Now Enter.
Oh, I'm back to the original browser window, but the property is highlighted.
OK, so now I can drag the property into the BD and get a new property node with that property, but that's not actually what I wanted. I wanted to set a property on an existing node.
So, to summarize: A key combo, some mouse activity, 3 window changes and we still didn't get what we want.
Compare that to:
Ctrl+Click on the property you want to replace.
Start typing.
The intellisense popup appears as part of the current window, already navigable with the up and down keys.
Press Enter.
And two additional points:
Imagine working in VS without intellisense. What if you had to use something similar to the browser (or the menu hierarchy) every single time you wanted to get a property?
You encourage people to work with LV classes. Property nodes offer a productivity enhancement when working with classes and this offers another one, so you not only not be questioning it. You should be evangalizing it.
And for those who survived this far, a bonus. This example (LV 2009) shows how useful this could be. You don't need anything installed. Just run the VI and start changing properties.
Caveats:
It will only work on the last property in the node.
It doesn't have the proper list of names and it doesn't implement all the features in the idea, as this is just a basic example.

Similar Messages

  • Help comparing the value of a button using the Property Node (I get a variant)

    Dear Sirs:
    (I'm using LabView 6. I guess the solution is different for 6.1)
    Currently I have created an array of Boolean RefNums (which point to many, many buttons). When I need to know when any (and which) of the buttons was pressed I just compare every element on the array with the constant TRUE. It fact, as the array is built from RefNums, I should compare the VALUE from the Property Node.
    The problem here is that the Property Node for this type of Boolean is a LV Variant, and I need to compare this with a TRUE/FALSE value.
    I tried to convert the TRUE constant to a LV variant and visc. But nothing works... I always get that none of the buttons was pressed.
    Here it co
    mes the question: "How can I compare the value of a Property Node for a Boolean (Button) with a TRUE (or False) constant?"
    BTW, maybe I should explain why I'm using RefNums instead of the direct values: As my project requires tons of buttons, I would preffer using RefNums to refer to them. (I.E. I could use a single VI that takes the RefNum and formats the button to hide it for certain users).
    I have enclosed a VI that contains what I've achieved until now, which is nothing
    I appreciate your time and help.
    Best regards,
    JAVIER VIDAL
    Attachments:
    Other_Main_Menu.vi ‏103 KB

    Javier,
    There is another problem in your code: the booleans are not polled by the main loop so they will remain false until the user presses them again. This renders the boolean latch action useless.
    What you can do is to change the mechanical action of the booleans to non-latch. When you detect a "true" in the polling loop, set the boolean to false again. One added benefit is that once all boolean are non-latch, the value property won't be a variant but a boolean so conversion is no longer needed.
    LabVIEW, C'est LabVIEW

  • [Consolidation-Locked] Please add RAW support for the Nikon D600 to Lightroom as soon as possible!

    My Fair Adobe,
    Please add RAW support for the Nikon D600 to Lightroom as soon as possible!
    ViewNX lets me get to the images, but come on!!! I know Lightroom, and you, ViewNX, are no Lightroom.
    Yes, I see everyone else ASKING for D600 support. I'm here to beg for it! Don't make me wait much longer!
    Message title was edited by: Brett N
    Message title was edited by: Brett N

    Rob, my reading of your site is that this plug-in copies settings from raw to jpeg, does it work the other way around as well?
    Rob Cole wrote:
    One of the great things about the new 0-based defaults and linear tone curve is:
    You can develop the jpegs now, in Lightroom, and then sync the settings to the raws later (e.g. using RawPlusJpeg), and provided you select a matching camera profile, they will look almost the same (white balance won't translate over, but everything else will, more or less). Beware lens corrections applied to the raws might alter the registration of precision local adjustments.
    Note: I recommend shooting with ADL off in order for this to work better, and consider turning sharpening off in camera as well, and noise reduction and everything else to whatever extent is possible.
    Rob

  • Add multiple TermChar properties in property node

    Hello all
    I am communicating to a device via RS232 and most of the responses are terminated with  a <CRLF>.  but some of the commands are not terminated.  Can i use multiple termination char properties in the property node ?
    - James
    Using LV 2012 on Windows 7 64 bit

    Usually, I set the termination settings before reading each command. If
    the command is terminated with <CRLF> then set the termchar to
    <LF> before reading the reply. Make a Read VI that will set or
    not  the termchar according to a boolean input.
    Message Edité par Jean-Pierre Drolet le 07-19-2005 08:44 PM
    LabVIEW, C'est LabVIEW
    Attachments:
    termchar.gif ‏6 KB

  • I don't know how to use the property node to get information out of my sub vi while it is working.

    I had a question answered earlier about passing information out of a sub vi, and was helped out. The problem is that I don't understand what is happening as I can not reproduce the results. I am now trying to take results of a comparison (true-false) and pass that back out of my sub vi. I tried a property node and to connect a refnum control to it in the sub vi. Then I tried to connect an indicator to its terminal in the main vi, but was unsuccessful can someone tell me how and why, step by step, to pass this information out. Starting with the point of information in the sub vi to the indicator in the vi. I would appreciate any help that you could give m
    e.
    Attachments:
    Pass_a_Reference.vi ‏15 KB
    GL_Flicker_mod.vi ‏77 KB

    Step by step:
    1. On your main vi Front Panel, create your boolean indicator.
    2. On the block diagram, right click the new boolean indicator and select Create - Reference.
    3. On sub-vi front panel, create boolean indicator (or use one that is already created).
    4. On sub-vi front panel, create a reference (Controls Palette - Refnum - Control Refnum).
    5. Right click on the newly created Refnum and select Select Vi Server Class - Generic - GObject - Control - Boolean. The refnum label changes to BoolRefnum.
    6. On sub-vi block diagram, create Property Node (Functions - Application Control - Property Node). Find the BoolRefnum and move it close to the new Property Node.
    7. Wire the BoolRefnum to the reference input of the property node.
    8.
    Right click on the property node and select Change to All Write.
    9. Move mouse to point to Visible inside property node box, left click and select Value.
    10. Wire the boolean indicator from step 3 to the Value input of the property node.
    11. On sub-vi front panel, right click on icon and select Show Connector.
    12. Click on empty connector spot then click on the new BoolRefnum. Save your sub-vi.
    13. On main vi block diagram, connect refernece created in step 2 to the new connector terminal of sub-vi.
    14. Save and run.
    Here are the modified vi's.
    - tbob
    Inventor of the WORM Global
    Attachments:
    Pass_a_Reference.vi ‏20 KB
    GL_Flicker_mod.vi ‏83 KB

  • Where can I find docs on all the property nodes

    Are all the property nodes for things like waveform charts and graphs documented somewhere. I have looked throught all the .pdf files that came with LV ( at least I think I have ) and haven't been able to find what I'm looking for.
    If someone could point me to where all these are documented I would be most appreciative.
    Thanks.

    The LabVIEW Help describes every VI Server property and method. The easiest way to find the help for a specific property and method is to select the property or method in the Property or Invoke Node, right-click the node, and select Help for xxx from the shortcut menu, where xxx is the name of the property or method.
    In LabVIEW 6.0, you can browse the property and method help by selecting Help>Contents and Index, clicking the Contents tab, and navigating to Networking in LabVIEW>Properties and Methods.
    In LabVIEW 6.1, select Help>VI, Function, & How-To Help, click the Contents tab, and navigate to Programmatically Controlling VIs>VI Server Properties and Methods.
    Kelly H
    LabVIEW Documentation
    National Instruments

  • [svn:osmf:] 10440: Add parser support for the Video tag.

    Revision: 10440
    Author:   [email protected]
    Date:     2009-09-20 15:03:56 -0700 (Sun, 20 Sep 2009)
    Log Message:
    Add parser support for the Video tag.  Add unit test for an empty document.
    Modified Paths:
        osmf/trunk/libs/VAST/.flexLibProperties
        osmf/trunk/libs/VAST/org/openvideoplayer/vast/model/VASTInlineAd.as
        osmf/trunk/libs/VAST/org/openvideoplayer/vast/parser/VASTParser.as
        osmf/trunk/libs/VASTTest/org/openvideoplayer/vast/parser/TestVASTParser.as
    Added Paths:
        osmf/trunk/libs/VAST/org/openvideoplayer/vast/model/VASTMediaFile.as
        osmf/trunk/libs/VAST/org/openvideoplayer/vast/model/VASTVideo.as

    The video tag only supports a few formats and MKV (Matroska Multimedia Container) isn't one of them.<br />
    Your only option is to use the object (or embed) tag and use a player that can handle that format.<br />
    If might be better to switch to the WebM format.<br />
    * https://developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements

  • Is there a way to reference the property node value of a control in another VI?

    Let's say that I have a situation like the one shown in the attached image.
    I have an interlock system which is basically a bunch of booleans
    If for example the "RF Enable" button in the "interlock VI" is true, then I should be able to flick the ON switch in my other VI (in the back), but if the value is FALSE, then it shouldn't allow it.
    In other words, how do I check the value of a control across 2 separate VIs (running simultaneously)?
    Thanks!!
    Attachments:
    sample.jpg ‏295 KB

    Is one VI launched by the other, or are they launched independently? If it's the former then you just need to pass the control reference to the subVI via terminal node. If it's the latter there are a variety of ways to handle this:
    Use a global variable - somewhat "sloppy" as it requires a global variable, and can lead to race conditions. In the "Interlock" VI you just set the value of the global variable when you change the value of the Boolean. In the other you're just reading it.
    Action Engine - Ben wrote a Community Nugget a while back. Similar concept to a global variable.
    Queue - The "Interlock" VI simply pops an element onto the queue with the value. The other VI just monitors the queue for a new element. It just needs to have something like a shift register to keep track of the last state.
    Use the VI Server to access the controls of the "Interlock" VI. You can do this by accessing the "Interlock" VI's pane and get the control references. With the control reference you just need to get the value with a property node.
    ... (I'll let others chime in)

  • Changing the property node from an control in an cluster raises an error in LV2011

    Hi, all
    when I run the code in LV2010 SP1 no problems.
    But in LV2011 it gives an error.
    Is this an BUG
    Attachments:
    test.vi ‏18 KB

    Franzo,
    It certainly is strange.  The error comes from the Width property node, but it occurs when ReadoutMode is clicked.  It does not need to be changed.
    Wrapping it in an event structure (ReadoutMode: Value Change) seems to eliminate the error.
    Questions for someone at NI who knows how these things work internally: It is also interesting that the data type of the Maximum property is always DBL, regardless of the datatype of the control.  Should not a U16 control have a U16 Maximum? And what about the Extended datatype? How can a value larger than the maximum for a DBL be set via a property node of type DBL?
    Lynn

  • How to add Ajax support to the dynamic UI componets.

    Hi,
    I am generating a dynamic table and want to add Ajax support to that table.
    How I can do that?

    Hi,
    In my appication, I am using Ajax with Myfaces (JSF 1.2) & Jboss 4.2.1.
    I m generating a table having (couple of selectmenu) dynamically by using the binding attribute of <h:panelGrid> and made that table Ajaxed. When i select some item form the select menu its works fine with Myfaces (JSF 1.2) but when I switched to Sun RI implementaion I got "AjaxUpdate component not found for id: :fForm:null" as exception in the console.

  • Unable to add XML support for the jws created

    Hi,
    I have created a web service, with a method called "Query".
    I would like add an input parameter to this method using XML bean types.
    I am following the weblogic workshop tutorials(http://edocs.bea.com/workshop/docs81/doc/en/core/index.html), topic Tutorial:Web Services.
    I was able to complete steps 1,2,3 described.
    However Step 4 Point 7, i fail to see the schema elements.
    Could you pls let me know the reason for the above.
    Pls find attached the screen shot of the failure of step 4.
    Regards
    Vidya

    Please open a case with BEA customer support. Give them the URL for this posting
    http://forums.bea.com/bea/thread.jspa?threadID=400003485&tstart=0&mod=1177942950176
    I believe the problem you see is addressed in CR296902

  • I have been a strong supporter against Microsoft for may years - Your Add-In support on the latest is pathetically slow, now with adobe not installing/updating properly - NOT IMPRESSED, GOOGLE CHROME (With all it's issues) seems a better Choice???

    Adode won't update correctly!, Add-On Manager - slow to the point of Unusable, What's the Problem???

    I seem to have fixed it by putting <div  class="clearfloat"></div> after the navigation bar?

  • How to add a button in the child node of the Tree Table?

    Hi All,
    I am having a requirement to create a tree table and it should have a delete button to each child node (screenshot attached).
    Can anyone provide me a sample for how to implement this.
    Thanks in Advance
    Aravindh

    Hi Aravindhan,
    Try something like this:
    var ttDesvios = new sap.ui.table.TreeTable();
      var cbDesviacion = new sap.ui.commons.CheckBox();
      ttDesvios.addColumn(new sap.ui.table.Column({
      label: new sap.ui.commons.Label({text: "Col1"}),
      template: new sap.ui.commons.Label({text: "Info"}),
      width: "50px",
      ttDesvios.addColumn(new sap.ui.table.Column({
      label: new sap.ui.commons.Label({text: "Action"}),
      template: new sap.ui.commons.Button({text: "Delete"}).bindProperty("visible", "pathPropertyChild", function(value){
              if(value .............){ return true;} //For child
              else{ return false;} //For parent
      width: "160px",
    Regards
    EDIT: Wrong paste code, that's better!

  • Just checking on another odd feature: Typedef enum Property Node "Value" not reflecting changes in the Typedef?

    Just encountered this odd behavior in LV 2011 which I reduced to the following example:
    - create a new VI and drop an enum control on te FP.
    - make this control a typedef and open the corresponding typedef
    - create a "case 1" item and a "case 2" item
    - save the typedef (I used the name Typedef Control 1) and CLOSE it (this is to allow updating of the original control).
    - drop a case structure on the diagram and connect the enum to it:
    So far so good. Now create a "Value" Property node for the enum and use it instead of the terminal:
    If I now go back to the typedef and add a "case 3" item, save the typedef and close it, the control is updated, but the Property node is not.
    How do I know that? For one, the Case Structure contextual menu does not offer to create a case for every value. Also, if I add a "case 3" case manually, it turns red.
    Luckily, the magic Ctrl-R key stroke actually does solve this problem.
    Tested in LV 2011.

    By Ctrl-R trick do you simply mean running the VI?  That is one way to force a recompile, but if you hold down Ctrl while pressing the run button you can recompile without running.  This should not be "dangerous" in any situation.
    As you have drawn your example, I see no reason not to use a local in that situation (ok, maybe for vanity).  Still, I view the behavior you describe as a bug, and it should certainly be fixed for the benefit of local haters out there.  You have to be a little careful where you draw the line between what gets handled in real time and what gets handled only at compile time.

  • How to read the configuration of a FXP number via property nodes or other methods.

    Hello all,
    I am attempting to store in plain-text the value and configuration specifics of the LV FXP datatype. (please do not suggest I cast it to integer).
    The ini config format does not support FXP. So we'd like to; using property nodes, interrogate the specifics of a FXP numeric control on the FP.
    It appears this is not exposed by control ref's and property nodes.
    Oddly enough, you cannot even interrogate the detailed type of an INT if it is a U8, I8 or I16 etc?! via property nodes, the deepest you can go is 'digital'.
    Specifically, you need to know the following to 'reconstruct' a FXP:
    1. Value
    2. Signed\unsigned
    3. Word length
    4. Integer word length
    Without this, there is a risk of corrupting the value during conversion.i.e we want to load initial FXP from disk at application startup. This is a critical application and we cannot tolerate rounding\conversion errors accumilating with numerous reads\writes of FXP settings.
    It is odd that you cannot interrogate via property nodes the details of a numeric type. ie. you cannot 'discover' via the property node of an INT if it is a U8, I8 or any other type.
    Regards
    Jack Hamilton
    PS: Don't suggest XML either....

    Aristos Queue wrote:
    Alias name here wrote:
    ..second post telling me the 'propertys' of a control have nothing to do with the value is bizzare - via 'properties' for a LV control is the ONLY way to configure the specific type of a numeric...so via the numeric 'property nodes' should\would be able to query it's configuration.
    I do not see any way to set these things through the properties...
    I think he means by right clicking the control on the front panel and configuring with the properties dialog. The properties are exposed there, but not within the property nodes.
    Edit: You beat me.
    CLA, LabVIEW Versions 2010-2013

Maybe you are looking for