Jump to content

Francois Normandin

Members
  • Posts

    1,209
  • Joined

  • Last visited

  • Days Won

    46

Posts posted by Francois Normandin

  1. (did I mentioned he looks good in a kilt?). wink.gif

    Thanks Jon. Actually, this kilt is part of the reason I slowed down lately. I haven't had much opportunity to sit down and do good LV programming since Xmas. I was way too busy with the final preps for my wedding with Isabelle on January 29th... and I'm still day-dreaming about all the good time we got on our honeymoon.

    Since you already noticed the new pic in my profile, here's a more official photo with my new wife. :wub:

    post-10515-0-78410900-1299160048_thumb.j

    photo credit: Chamsi Dib

    Budgie smugglers underneath? :D

    I had to look on the Australian slang dictionary for this one.

    I'll give more time to the rumors before I answer that. ;)

    • Like 1
  2. "Edit mode" refers to the fact that you can only script an object while a VI is in Idle state.

    You can create an indicator or control on the front panel of a VI that is not running. For example, a VI cannot execute code to add a control on its own front panel.

  3. You simply can't. GSW is a private VI in the Getting Started library (GettingStartedWindow.lvlib). The only public VIs from that library are "getting_started.vi" and it will fail if you have any FPs opened... and Close_GSW.

    There are two options here:

    1- Idea exchange, as suggested by Jon.

    2- Contact Christina Rogers (Eyes on VIs) and ask her for a quick fix, if she (or NI?) is willing to accomodate your request.

  4. Why are some dynamic dispatch subVI going broken?

    Here are some pointers for you. The list is not extensive but you might be in one of these situations:

    1- One of your Dynamic Dispatch VI doesn't have the same connector pane (and datatypes) as its parent counterpart.

    2- You have a Dynamic Dispatch VI that is set to require all child classes to override it, and one of the children doesn't override it.

    3- You have a private VI that has Dynamic Dispatch input on its connector pane, which is prohibited.

    4- You have one of the dynamic dispatched VI that is broken. Check all the hierarchy up to the parentmost VI.

  5. could you send the VI for that. (that property is also a super secret public)

    I am aware of application instance, however, I was using a significantly more convoluted method involving getting the last active bd to owning application.

    ~Jon

    Install this package from JG. It's a repack from Aitor's Scripting Workbench.

    You'll have all the super secret stuff you need at the tips of your mouse: Tools menu.

    Darn, you're quick! :D

    Congratulations on 1000 popsts!

    -Scott

    thanks. :cool:

  6. Also in CR the critical part is password protected can you email mw password (tushar@jambhekar.com)

    Unfortunately, the password you mention has been put there by NI, not myself. That's why I mentioned that the API is non-existent for the control editor.

    2- customize all kinds of controls to add images to them, alter dimensions of its parts

    If you want to dig into this, the Control Class add-on creates controls based on templates stored in the LabVIEW Data directory. If you were to somehow create these templates dynamically to the size you wish, you can use the Control Class API to add images and text where you want and the size you want it. The setback here is that those controls cannot be edited (apart from text) once created... The image becomes part of the button background, so I can see why you'd want to stay clear of this solution.

  7. Hi

    Is there a way to modify the native array selection color ? I have try with property node and look in Labview.ini file if there is parameter , but without succes.

    You can't with the "Modern Framed Color Box". It is possible to change it on the "Classic Framed Color Box" only using the paintbrush. At least, I don't know of any exposed property to do it programmatically.

    In any case, if you use an array, there is no way you can have different elements with different color frames. It's a property of the element type, not the single element by itself. (Changing the color of the frame for the nth element will change it for all), so I don't think you can use it in the example you published.

    trick color cluster.vi

  8. There is no way to script your way through decals. The buttons API is non-existent and has never been refactored by NI since, I might be wrong here, LabVIEW 2.0. You need to play with the PNG's encoded in the .ctl file to manipulate them programmatically. Below are links to the code that Jon was talking about.

    First, install UI Tools

    Then, the Control Class Add-on.

    Once you restart LV, you'll get "Control Generator" in the Tools menu. The rest is supposed to be intuitive from there.

  9. Jon's LVOOP Assistant renames Front Panel objects.

    The LVOOP Assistant supports:

    - Changing Class Icons themes with native LVOOP colors, custom colors or random colours

    - Icon Layers due to the integration of the Icon Editor API

    - Using a Sandbox to create Static and Dynamic methods from user templates

    - Creating a Constructor method from a user template

    - Creating Scoped Virtual Folders

    - Renaming LVOOP FP Object Labels

    - Cloning a method VI

    • Like 1
  10. Hello,

    In your application, if I show title bar and don't want to show close button. How to do this? Thank you!

    You might want to make it "unclosable" by the user. Look at the VI Properties "Windows Appearance" tab and uncheck the "Allow User to Close Window". I don't know if that will work as you intend it to work...

  11. Let's look at Linux for a moment. It's open-source and was originally supported by the community. Then came along companies like RedHat whose business model was to offer support for the free open-source linux. They don't sell Linux, but rather a business solution with full support. I know OpenG is at least an order or two of magnitude smaller than Linux, but that model looks like it could work. A company or contractor could very well offer paid-support for OpenG if an integrator wants to have fast turnaround time garantee on critical path tasks.

    Whether or not this parallel stands further arguments, I don't think support response time is an appropriate metrics for classification. It will be part of the pros & cons of choosing to use OpenG or not, but as stated before, open source code means that you can hire anyone with a strong LabVIEW experience and he can fill this gap. That person could be an internal resource or an hired contractor... that is, if free LAVA support is not fast enough.

  12. I'm trying to help in this thread and came to a roadblock. I want to be able to examine the Label.Text of any GObject that has a Label.Text property without using a Case Structure to handle every type as I did in my solution there. My thought was that I could use the Class ID property of the GObject to cast the reference to the specific type of object and check if it has a Label.Text property. This brings up a few questions:

    1. Is it possible to get a type-specific Constant Refnum from the Class ID? How?
    2. Once I have the Constant Refnum, how can I get keep the property node from breaking (see below)?

    You can relink the Label.Text property by setting the StringID of the "Property Item". However, it seems that there is a bug with writing the Property Item String ID for Text Label... I can change easily the property of the node by giving the correct String ID for any top-level property such as Indicator or KeyFocus, but when I input the string ID of any property that is a child of another property (ex: Label >> Text), then it returns an error. Perhaps I don't do it right, but I presume it has to do with the fact that the "All Supported Properties" doesn't return the children...

    So a workaround would be to set the Property Node for "Label" (string ID: 6332005) and then add a property node for Text...

    post-10515-0-97874500-1292945581_thumb.p

    • Like 1
  13. Ok, thank you for the info

    But is there a method that control the depth of a control while running the Vi ?

    Jonathan

    I don't think so.

    Actually, I think there was a discussion lately started by AQ about transparency problems for SubPanels... and it turned out that the way to work around the problem was to load upload the subpanels to bring the one you wished in the forefront in the top subpanel container. Applying this train of thought to your tabs problem, you could make each of your tabs a separate VI that gets loaded into a subpanel.

    Let's say you have "n" tabs. Create "n" subpanels and arrange them as you wish with transparent backgrounds.

    Load tab1 in subpanel1, tab2 in subpanel 2 and so forth. When you wish tab2 to be moved in front of tab1, unload tabs 1& 2 from subpanels 1&2 and reload them as tab1 in subpanel2 and tab2 in subpanel1.

    Voilà.

    Seems tricky at first, but I think it's not too difficult. I'm only concerned about the flickering of front panel while you do so. I'd recommend to defer panel updates while you make a swap.

    Let us know if this works or if you find something else...

  14. Hi Jonathan,

    These methods work with any control or indicator in a panel. They act on the selected controls and indicators, so you have to first select them manually or programmatically (using the Selected? property) and them use the "Move Selection to ..." methods on the panel reference of these controls/indicators.

    As for the use at edit time, these methods can be useful if you program some editing help scripts such as those used with Right-Click Framework, QuickDrop or the items under the Tools menu...

×
×
  • Create New...

Important Information

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