Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/26/2013 in all areas

  1. Name: Type Sensitive Popup Submitter: LAVA 1.0 Content Submitted: 02 Jul 2009 File Updated: 04 Jul 2009 Category: User Interface LabVIEW Version: 8.2 Version: 1.0.1 License Type: BSD (Most common) Potentially make this available on the VI Package Network?: Undecided Copyright © 2007, David Saunders All rights reserved. Author: David Saunders --see readme file for contact information. Description: Provides an intuitive interface for tabular controls containing multiple data types. Users can use various controls and datatypes. Users can also use provided functions for registering and looking up type parameters by control (as well as by column, row, or cell). When you click on a cell, a correctly positioned and sized popup appears allowing for a controlled and intuitive input. Appears like it is a built-in feature, not an annoying popup window. Features: - Supports tables, listboxes, multicolumn listboxes, trees, and string controls. - Implements many data types : string, integer, float, color, ring, boolean, captioned string, etc. - Can use multiple tabular controls in same program with no programming changes - Can pre-register controls with certain data types - Register the entire control, or columns, rows, and cells. - Can edit the registered data type by registering again at any time - Allows for different font sizes - Works even on modal windows Instructions: Run the Demo program to see example usage. To recreate -- 1. Drop 'TSPopup.Popup Cluster.ctl' anywhere on your front panel. 2. Create program logic, similar to the demo MANDATORY elements a. TSPopup.Initialize.vi (register for the user event in your event structure) b. TSPopup.Lookup.vi (returns positioning information, looks up any registered controls) c. TSPopup.Show Popup.vi (called in a Mouse Down? event case) d. an event case for the user event output from (a.) e. TSPopup.Close.vi (called at end of program) OPTIONAL elements f. TSPopup.Register.vi (register controls with popup type parameters) g. TSPopup.Update Cell String.vi (provided to show how to change the cell string after popup is completed) 3. Bring the Popup Cluster to the front on the front panel. Otherwise the popup will show up behind some of the other controls on your User Interface. Limitations: - Can't programmatically bring popup cluster to front. Must do this manually. Change Log: 1.0.0: Initial release of the code. 1.0.1: Added another demo using dynamically changing data types in a tree Removed LV version specific event handling (only dealt with LV 7.1) Fixed bug where headers defaulted to have same type as their column/row Fixed cluster scanning from text Fixed ring to default to index 0 if string unrecognized Changed the background event monitor to always be hidden Click here to download this file
    1 point
  2. Hi, I’m thinking of submitting my SQLite package in the CR to the tools network. Is “Team LAVA” still active? — James
    1 point
  3. I don't think it takes too long after deciding to do an actor based project to run into the case where you have an actor spun off without a way to kill it. You'll figure that out and get your solution working so you can pass it off to someone else and forget about it. Soon after, that someone else will come to you and say something like "yeah, those actors are cool and all, but they're really hard to debug" I ran into some of these problems a while ago, so I decided to write a little tool to help with it. I decided to call it a monitored actor. Here were my design criteria: I want a visual representation of when a monitored actor is spun up, and when it is shut down. From the visual representation, I want to be able to: stop actor, open their actor cores, and see if they're answering messages The visual representation should give you an idea of nested actor relationships. Implementing a monitored actor should be identical to implementing a regular actor. (meaning no must overrides or special knowledge) Monitored actors behave identically to Actors in the runtime environment. It turns out that you can pretty much accomplish this by creating a child actor class, which I've called Monitored Actor. A monitored actor's Pre-launch Init will try to make sure that the actor monitor window is made aware of the spawned actor, and Stop core will notify it that the actor is now dead. The actor monitor window contains ways to message the actors and pop up their cores and such. I think it's fairly obvious what each button does except pinging. Pinging will send a message to the actor and time how long it takes to get a response. This can be used to see if your actor is locked up. The time it takes to respond will be shown in the ping status column. if you want to periodically ping all the actors, set the "poll Frequency" to something greater than 10ms. This will spawn a process that just sends ping messages every X ms. Where I didn't quite meet my criteria: If you were to spawn a new actor and Immediately (in pre-launch init) spam it with High priority messages, the Actor monitor window will not know about the spawned actor until it's worked through all the High priority messages that got their first. You probably shouldn't be doing this anyways, so don't. Download it. Drop the LVLIB into your project. Change your actor's inheritance hierarchy to inherit from monitored actor instead of actor. You shouldn't have to change any of your actor's code. The monitored window will pop up when an actor is launched, and kill it's self when all actors are dead. Final note: This was something I put together for my teams use. It's been working well and fairly bug free for the past few months. It wasn't something I planned on widely distributing. A co-worker went to NI week though and he said that in every presentation where actors were mentioned, someone brought up something about they being hard to debug or hard to get into the actual running actor core instance. So I decided to post this tool here to get some feedback. Maybe find some bugs, and get a nice tool to help spread the actor gospel. Let me know what you think. Monitored Actor.zip
    1 point
×
×
  • Create New...

Important Information

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