Search the Community
Showing results for tags 'xcontrol'.
Found 16 results
An Extensible, Object-Oriented Alternative to XControls
The Q posted a topic in User InterfaceThe QControl Toolkit by Q Software Innovations is an object-oriented and extensible alternative to XControls. Use the QControl Toolkit framework and the QControl Creation Wizard to create QControl Classes and receive the benefits of XControls without the headaches. Take advantage of easy UI logic code reuse. Encapsulate and decouple the UI logic away from the business logic of the main application and from the UI skin. Use wherever the VI Server and LabVIEW object-oriented programming are allowed. Easily extend the capabilities of current LabVIEW controls through access to all properties available at run time. And easily use the toolkit with more complex frameworks like the Actor Framework or other plugin architectures where LabVIEW libraries and packed project libraries are used and where XControls can behave unpredictably. Check it out now on the NI Tools Network here. I also started a thread on the NI Community: UI Interest Group page, here.
smallest FP size
ensegre posted a topic in User InterfaceIs anyone aware of a limitation on what the smallest possible FP size is? On LV 2017, I am under the impression that this is 116x41 on one windows machine, and 1x1 on a linux. Known issue, WM, or deserves a CAR? The reason I'm asking: I'm fiddling with the cosmetics of an Xcontrol. I would have nothing against a larger transparent border, but when I webpublish the big FP using it, the large transparent border turns grey on the snap png. ETA:, ah, https://forums.ni.com/t5/LabVIEW/How-to-set-front-panel-size-to-be-same-as-one-led/td-p/1565524 ETA2: ok, tried the snippet of that thread and get either no reduction or eloquent "Error 1 occurred at Property Node (arg 1) - Command requires GPIB Controller to be Controller-In-Charge" for tighter sizes.
X-Control : Data Changed? Event not happening
Muthuraman posted a topic in VI ScriptingHi, I used xcontrol many years back. I am trying to refresh my knowledge. I tried with a simple keypad . Button 1 button 2 and button 3. Data is string. When Button 1 is pressed string goes 1. Button 2 - string goes 2, etc. For button 1, 2, 3 value change events, i have modified the data and so i have made the action cluster -> Data changed as True. But it looks like it is not working. What basics am i missing. Please help. Regards, Muthuraman S Xcontrol-Keypad.rar
X-Control key focus not working as expected
Benoit posted a topic in User InterfaceHi there! I am trying to find a workaround the the missing possibility to set key focus in an array at a specific location by using X-Control. I am struggling at the point that i manage the key focus in my X-Control to work, but I cannot set to other control. it always stay at the same one... Is anyone manage to enable key focus on specific element of a X-Control? Benoit
I'm writing some LabVIEW software to store and display data from a variety of data sources, mostly through an NI DAQ board. I'm displaying the data (stored in an SQLite database) on an XYGraph. I would like to have a toggle-able, probably semi-transparent box listing each of the plots on the graph, with the option to turn the plots on/off by clicking, along with some grouping of similar plots (all temperature measurements, or all measurements from experiment #5, etc). The Bloomy post at http://www.ni.com/newsletter/51918/en/ gives me semi-transparent panels pretty easily (in fact, this can conceivably be tri-state, since I have on, off and invisible :D) I've already programmed a simple multi-column listbox for something else in this project that switches symbols and handles double-click, mouse up/down, etc, so I could maybe use a modified version of that to hold my plots. I have never successfully used an XControl for anything, but when I come to problems involving collections of strange custom controls, I always think, is this what an XControl is for? So, do I need an XControl here? Or will I just be diving into another rabbit-hole leading to yet another unsuccessful XControl attempt? If so, what should I be using instead? In case it matters, the bulk of the project uses NI's Actor Framework to handle separate sections, and the graph is inside a subpanel, inside another subpanel. Some images of current pieces. The parent holds the scrollbar, and my current no-op (except show/hide on the little menu button bottom left) overlay (not at all transparent). The child holds the actual graph, and an ugly global variable mean (I needed it quickly for a colleague's use...). The child is embedded in a subpanel of the parent (above the scrollbar) and the parent is embedded in a subpanel of the MainUI's 'Actor Core.vi'.
Name: Calendar XControl Submitter: Benoit Submitted: 06 Jan 2016 Category: *Uncertified* LabVIEW Version: 2011License Type: BSD (Most common) This XControl allow you to have a nice calendar as a control. Any selection of the date is highlighted in light blue. The supported language are English and French acessible trough the property. Ce XControl vous permet d'avoir un beau calendrier comme control. Toute sÃ©lection de date et mis en Ã©vidence par une couleur bleur clair. Ce XControl supporte le FranÃ§ais et l'anglais par l'intermÃ©diaire des propriÃ©tÃ©s. Click here to download this file
Suitable way to support a multi-channel user interface?
RnDMonkey posted a topic in User InterfaceI see a lot of knowledgeable minds around here, so here's my challenge. I have a test system that will have, at the user interface level per channel, 3 inputs and 2 outputs that together encompass a simple test scenario. I would like that scheme repeated up to 10 times in a single application so you could watch a bank of units under test, allowing both scripted or manual manipulation of inputs; plus viewing and logging of the outputs. Here is an example of what I think I want the user to interact with: I would like to associate each of these "subpanels" (not to be confused with actual subpanels - yet) with a LabVIEW class object that will handle the interface with hardware. All channels would be coordinated by a top-level VI (let's call it the Controller) that aggregates the channels and provides the ability to parse script files to press buttons and stuff. Here's where I'm having trouble, conceptually. One solution seems to be to spin off a new asynchronous call-and-collect VI (in the form of the pictured panel as a brat VI) that has the brat throw its control references into a queue for the Controller to catch and store for later access. The brat would receive stuff like a user stop event and the hardware session's class object when first called. I would then create an array a grid of 10 Sub Panel controls on the Controller's front panel and place each brat VI into its own Sub Panel like a facade. The core of the hardware IO would be built into the brat VI (operating on the class objects), with the Controller pulling the strings and catching outputs and user interaction through dynamically registered events and property nodes operating on the brat's references. This all seems like it should all be workable and isn't fundamentally new to me. Does this seem reasonable? Another - much less (in)formed - concept I had was to avoid the ACBR brat structure entirely and implement this "subpanel" as an XControl that I can treat like a regular control on my Controller's front panel. I think of XControls because I can't have a cluster with both inputs and ouputs (unless I access the indicators with property nodes and fake it, I think), though I am actually only assuming that XControls allow both at once, or the equivalent behavior. In this scenario, the controller would retain an array of my hardware session's class objects and index them associated with each control. This way, the controller would invoke a hardware IO operation in a for loop to iterate across all devices. Similarly, when one of the XControls had a button clicked, the controller would see the value change event, figure out which one fired it, and do some function for only that associated hardware. I've never implemented an XControl before - at all - so the first solution is going to be the easier one for me. Is there a good argument for going the XControl route over the asynchronous-brats-with-Sub-Panel route? Thank you for your inputs, and sorry for the wall of text!
Benoit posted a file in *Uncertified*
337 downloadsThis XControl has the nice feature that a Calendar control should give you. Multilanguage support by property node. The input and output are Labview Time Stamp. When selecting a date, the date in the calendar become light blue. Please you receive this XControl for free. The minimum you can do is to rate it.
Name: Calendar XControl Submitter: Benoit Submitted: 09 Jan 2016 Category: *Uncertified* LabVIEW Version: 2011License Type: BSD (Most common) This XControl has the nice feature that a Calendar control should give you. Multilanguage support by property node. The input and output are Labview Time Stamp. When selecting a date, the date in the calendar become light blue. Please you receive this XControl for free. The minimum you can do is to rate it. Click here to download this file
xcontrol Modify XControl value in Method
abrink posted a topic in User InterfaceI'm trying to accomplish a trivial task in an XControl: set the (Numeric) value using a method. Specifically, the method needs to increment the data value by a specific amount, and trigger a Value Change event accordingly. How do I get access to the 'value' property of the XControl from within the XControl library itself? Thank you kindly.
For unspecified reasons, I want to be able to resolve which control has been clicked on from a pane mouse down event. Our application is somewhat large and makes extensive use of sub-panels, so registering every control individually, statically or dynamically, would be a lot of work, maybe not very efficient, and would require ongoing resource tracking once registered, so the pane mouse down event in a top level VI would be preferred. I've written a VI that takes a pane reference and pane coordinates (hypothetically from a mouse down event) and resolves the first, if it exists, control that resides on that pane and contains those coordinates within its bounds. The VI also considers the control class, and if it is a subpanel, gets the inserted VI, it's panel, and any pane that contains the coordinates and recurses. In this manner, the VI traverses arbitrarily deep nested subpanels until it gets to the control that was clicked on. This is where it gets (more) complicated. I also want to traverse xControls. When a control within an xcontrol is clicked on, I want the reference to the (sub?) control, not the xcontrol. It is simple enough to detect whether a control is in fact an xcontrol, but apparently more challenging to get any more information than that. So my questions are these: From an control reference where IsXclt=T, is there a way to get a reference to the xcontrols panes or some owner (panel, facade vi, clone name)? I realize I could do this by setting a custom property of the xcontrol, but then it would not be generic to xcontrols and would again require sprawling coding effort. or Is there an entirely different and simpler way to achieve what I am proposing in the first paragraph? This is in LV2012sp1 btw. Thanks for reading; any help or suggestions would be appreciated!
gb119 posted a file in *Uncertified*
1,055 downloadslavag_lib_User_Interface_XControls_Toolbar XControl v22.214.171.124 by University of Leeds Author: Gavin Burnell Copyright: Copyright © 2013, University of Leeds License: BSD Compatible LabVIEW Versions: >= 2012. Compatible OS Versions: ALL. Description: This is a native toolbar for LabVIEW implemented as an XControl. It supports a single row of square buttons which maybe latching (sticky) or transitory (command) style buttons drawn in one of 4 different styles (system, square, flat or rounded). The toolbar will report button clicks via a value change event, but allows the possibility for further integration into other messaging systems. The buttons are represented as instances of a button base class that provides methods for drawing the button, updating tooltip text or responding to clicks. Overriding these methods in subclasses allows a greate flexibility of response. Included in the package is a 'vi-button' class that stores a vi reference with each button and executes it when clicked. This Package depends on these other packages: oglib_string >= 126.96.36.199
[CR] Toolbar XControl
gb119 posted a topic in Code Repository (Uncertified)Name: Toolbar XControl Submitter: gb119 Submitted: 13 Feb 2013 Category: *Uncertified* LabVIEW Version: 2011 License Type: BSD (Most common) lavag_lib_User_Interface_XControls_Toolbar XControl v188.8.131.52 by University of Leeds Author: Gavin Burnell Copyright: Copyright © 2013, University of Leeds License: BSD Compatible LabVIEW Versions: >= 2012. Compatible OS Versions: ALL. Description: This is a native toolbar for LabVIEW implemented as an XControl. It supports a single row of square buttons which maybe latching (sticky) or transitory (command) style buttons drawn in one of 4 different styles (system, square, flat or rounded). The toolbar will report button clicks via a value change event, but allows the possibility for further integration into other messaging systems. The buttons are represented as instances of a button base class that provides methods for drawing the button, updating tooltip text or responding to clicks. Overriding these methods in subclasses allows a greate flexibility of response. Included in the package is a 'vi-button' class that stores a vi reference with each button and executes it when clicked. This Package depends on these other packages: oglib_string >= 184.108.40.206 Click here to download this file
Xcontrol indicator blink
ndingle posted a topic in LabVIEW GeneralI am building an Xcontrol with several Boolean indicators. I need the ability to blink each one independently. I have tried several things and nothing will blink the individual indicators, just the entire control. Does anyone know how to make this work? Thanks
I ran into an interesting issue with the Array of VData to VCluster when using XControl references as part of the VData. It looks like it puts it together correctly into a cluster, but when trying to type back to the XControl reference type it throws an error. You can convert it back to a normal control type, but when doing generic sets on controls in a cluster that method doesn't work very well. LV2011, Latest verison of the library. Screen shots here and code attached. I actually tried it with a couple different XControls and it didn't work. I wouldn't think that this behaviour is normal, but maybe there are some known restrictions when using XControl references? The references themselves seem a little weird because I did a source build on the project and it changed the type of controls in the "new" cluster constant when LabVIEW compiled it. They were just normal control references made from scratch in the source code and then in the build it changed them. They still said "Control" but when you clicked on them to view the ActiveX class they had Control and MRUFilePath selected. Weird. Anyway, I can probably manually cast these values, but the whole reason behind my method was I just had to add the control ref to a cluster in a class and input the refereces as a variant array and It would load them...no custom loading of the clusters. XControlRef.zip
Array of X-controls ?
zEye posted a topic in User InterfaceI created an X-control which is a cluster containing strings, numeric controls, rings, enums etc. Fully functional. But why cant I use it as an array element ? ideas please.