-
Posts
1,209 -
Joined
-
Last visited
-
Days Won
47
Content Type
Profiles
Forums
Downloads
Gallery
Files posted by Francois Normandin
-
UI Tools
By Francois Normandin in LabVIEW Tools Network Certified
UI Tools v1.4.0
Copyright © 2009-2016, François Normandin
All rights reserved.
Author:François Normandin
Contact Info: Contact via PM on www.lavag.org
LabVIEW Versions:
Created and tested with LabVIEW 2012
Dependencies:
OpenG Application Control Library >= 4.1.0.7
OpenG Array Library >= 4.1.1.14
OpenG File Library >= 4.0.1.22
OpenG LabVIEW Data Library >= 4.2.0.21
OpenG String Library >= 4.1.0.12
LAVA Palette >= 1.0.0.1
Description:
This package contains tools for designing user interfaces.
A first palette helps create special effects using transparency of front panel. Using them allows to quickly create fade-ins or outs using linear or exponential variation of the intensity. A second palette contains VIs to calculate the position of GObjects for many purposes like alignment, snap, mouse follow, etc. A third palette contains VIs to create dialog boxes based on class instances. "Simple Error Dialog" and "Simple Selection List" are featured with or without backrground blackening effect. A fourth palette includes some VIs to move objects programmatically on the front panel, using a basic deceleration algorithm to provide an impression of a smooth movement. The packaged VIs are all namespaced using a suffix “__lava_lib_ui_tools” which should not conflict with any of your own code.
Includes:
Front Panel Transparency (Fade In & Fade Out) Utilities (Alignment, Snap) Dialog (OOP based, extensible) Engine (Beta) for object movement Instructions:
This package is distributed on the LabVIEW Tools Network (version 1.3) and updates are on LAVA (1.4). It can be installed directly in the addon folder of any LabVIEW version from 2012 to now. The addon installs automatically under the LAVA palette of the addon submenu.
License:
Distributed under the BSD license.
Support:
If you have any problems with this code or want to suggest features, please go to www.lavag.org and navigate to the discussion page.
17,402 downloads
- effects
- user interface
- (and 3 more)
Updated
-
Open Office RGT addon
By Francois Normandin in LabVIEW IDE
Public Git repo (source code):
https://bitbucket.org/normandinf/openofficergt
====================================
Open Office RGT addon v0.2.0 beta
Copyright © 2010-2016, François Normandin.
All rights reserved.
Author:François Normandin
Contact Info: Contact via PM on www.lavag.org
LabVIEW Versions:
Created and tested with LabVIEW 2009
Dependencies:
Report Generation toolkit (part of it is included in the base package: Word & Excel require license)
Description:
This package contains an installer and class to use the AODL (An OpenDocument library) with the Report Generation toolkit
from National Instruments.
Includes:
- ooWriter class
- AODL classes (and DLLs)
- PreInstall and PreUninstall VIs to backup the only modified NI VI: New Report.vi (in Utility\NIReport.llb)
Instructions:
After installing package with VIPM, use the NI Report Generation palette as usual.
Known Issues:
1- ooWriter:
Styles integration is incomplete. Needs to have a real "style" class created that will comply with current standard in RGT.
Adding an image is not working correctly: it is embedded in a paragraph instead of being standalone.
2- ooCalc: no integration yet, but rather similar to ooWriter in principle. (All the roadblocks will be cleared by ooWriter)
3- This code has been done with LV2009. I see no problem for using with LV 8.2 and up, it's just a matter of
saving for previous version and distribute. This will be done at a later date.
Acknowledgements:
National Instruments. (NI Report Generation Toolkit) ** LVOOP rocks **
AODL by Sun Microsystems, Inc. Copyright 2007
History:
v0.2.0: released on bitbucket (Git) for community
v0.1.0: Initial release of the code. (LV2009)
License:
LabVIEW libraries of OpenOffice for RGT addon are licensed under BSD.
AODL us distributed under the LGPL license.
(see license files for more detail)
Support:
If you have any problems with this code or want to suggest features:
please go to www.lavag.org and Navigate to the discussion page.
Distribution:
This code was downloaded from the LAVA Code Repository found at www.lavag.org
============================
3,779 downloads
Updated
-
UI Tools expansion pack: Vista style
By Francois Normandin in User Interface
UI Tools Expansion pack: Vista Style controls v1.1.0.4
Copyright © 2009-2015, François Normandin. (LabVIEW controls)
Copyright © 2003-2004 David Vignoni. (NUVOLA ICON THEME FOR KDE 3.x)
All rights reserved.
Author:François Normandin
Contact Info: Contact via PM on www.lavag.org
LabVIEW Versions:
Created with LabVIEW 2009
Dependencies:
Description:
This package contains Vista-style buttons without text.
Includes:
- Set of Vista-style controls
- Based on Nuvola icons (see attached LGPL license)
Instructions:
After installing package with VIPM, refresh palettes if VIPM is not set to refresh automatically.
Use palettes.
Known Issues:
Acknowledgements:
David Vignoni (Icon King) for the Nuvola Icon Theme
Change Log:
v1.1.0.4: Fixed palettes with "?" icons due to control name collisions
v1.1.0.2: Migrated package to VIP, Moved controls to vi.lib, LV 2009
v1.0.1: Removed a menu file that showed up incorrectly in the functions palette.
Linked the Point & Double Point Arrows palettes to the Arrow subpalette.
v1.0.0: Initial release of the code. (8.6)
License:
Distributed under the BSD license.
Nuvola icons are LGPL licensed. Keep Nuvola Icons license with distributions.
Support:
If you have any problems with this code or want to suggest features:
please go to www.lavag.org and Navigate to the discussion page.
Distribution:
This code was downloaded from the LAVA Code Repository found at www.lavag.org
============================
7,319 downloads
Updated
-
UI Tools addon: Control class
By Francois Normandin in User Interface
UI Tools addon: Control class v1.4.0
Copyright © 2009-2015, François Normandin.
All rights reserved.
Author:François Normandin
Contact Info: Contact via PM on www.lavag.org
LabVIEW Versions:
Created and tested with LabVIEW 2012
Dependencies:
UI Tools >= 1.3.0.70
jki_lib_state_machine >= 2.0.0
OpenG Application Control Library >= 4.1.0.7
OpenG Array Library >= 4.1.1.14
OpenG Error Library >= 4.2.0.23
OpenG File Library >= 4.2.0.21
OpenG LabVIEW Data Library >= 4.1.0.12
OpenG Variant Configuration File Library >= 4.0.0.5
BitMan - Bitmap Manipulation Library >= 1.0.1.0
Description:
This package contains a class to quickly create controls programmatically based on templates.
Instructions:
After installing package with VIPM, refresh palettes if VIPM is not set to refresh automatically.
Use palettes.
On LabVIEW restart, a Tools Menu shortcut gives access to a Control Generator GUI (Tools >> UI Tools >> Control Generator)
Known Issues:
The control creator provided under "Tools" menu is not yet complete:
- It doesn't batch process controls yet.
- The "pure white" (xFFFFFF) is drawn as black (use FEFEFE instead... that's close, and I really don't know why!)
Acknowledgements:
Wojciech Golebiowski for his BitMan library (Bitmap Manipulation).
History:
v1.4.0: Removed a self-conflicting dependency on new installation
v1.3.0: Renamed package and moved templates to vi.lib to remove the need to rely on system files (outside of LabVIEW folder structure).
Upgraded source code to 2012. Older versions not supported anymore.
Changed the namespacing and added an incompatibility with previous versions of this package.
Integrated into the palette of UI Tools (base package on LVTN 1.3.0.59+)
Fixed issue with scaling factor for True decal button
v1.2.0: Migrated to VIP file type (from OGP)
v1.1.0: Added functionality for creating different decals for True and false states.
This release is untested with the rest of the package.
It is strictly aimed at providing a temporary solution to creating custom controls with different decals for True and False states.
The package works as standalone, but might introduce some bugs in the parent package "UI Tools".
Do no install unless you absolutely need the new functionality right away.
Keep the latest UI Tools Addon Control Class package at hand to fall back in case it breaks functionality.
v1.0.15: Added "Save to previous version"
Added "Drop on Front Panel" and tested to work in projects or outside projects.
Added some configuration file entries and more error checking.
v1.0.14: Initial release of the code. (8.6)
License:
Distributed under the BSD license.
Make sure you comply with the license of anyone who distributes icons on the web!
Support:
If you have any problems with this code or want to suggest features:
please go to www.lavag.org and Navigate to the discussion page.
Send me a personal message on LAVAG.org to get my attention faster.
Distribution:
This code was downloaded from the LAVA Code Repository found at www.lavag.org
============================
5,846 downloads
Updated
-
UI Tools expansion pack: GlassWeb style
By Francois Normandin in User Interface
UI Tools Expansion pack: GlassWeb Style controls v1.1.0.3
Copyright © 2009-2015, Francois Normandin. (.ctl files)
Copyright © 2003-2004 David Vignoni. (NUVOLA ICON THEME FOR KDE 3.x)
All rights reserved.
Author:Francois Normandin
Contact Info: Contact via PM on www.lavag.org
LabVIEW Versions:
Created with LV 2009
Dependencies:
Description:
This package contains GlassWeb-style buttons with text.
Use especially as horizontal toolbar selectors.
Includes:
- Set of GlassWeb-style controls
- Based on Nuvola icons (see attached LGPL license)
Instructions:
After installing package with VIPM, refresh palettes if VIPM is not set to refresh automatically.
Use palettes.
Known Issues:
Acknowledgements:
David Vignoni (Icon King) for the Nuvola Icon Theme
Change Log:
v1.1.0.3: Fixed palettes with "?" icons due to control name collisions
v1.1.0.2: Migrated to VIP file. Moved controls to vi.lib
v1.0.1: Removed a menu file that showed up incorrectly in the functions palette.
v1.0.0: Initial release of the code. (8.6)
License:
Distributed under the BSD license.
Nuvola icons are LGPL licensed. Keep Nuvola Icons license with distributions.
Support:
If you have any problems with this code or want to suggest features:
please go to www.lavag.org and Navigate to the discussion page.
Distribution:
This code was downloaded from the LAVA Code Repository found at www.lavag.org
============================
5,023 downloads
Updated
-
UI Tools expansion pack: System style
By Francois Normandin in User Interface
UI Tools Expansion pack: System Style controls v1.1.0.7
Copyright © 2009-2015, Francois Normandin. (LabVIEW code)
Copyright © 2003-2004 David Vignoni. (NUVOLA ICON THEME FOR KDE 3.x)
All rights reserved.
Author:Francois Normandin
Contact Info: Contact via PM on www.lavag.org
LabVIEW Versions:
Created with LV 2009
Dependencies:
Description:
This package contains System-style buttons with text (left-side) and icon (right-side).
Includes:
- Set of System-style controls
- Based on Nuvola icons (see attached LGPL license)
Instructions:
After installing package with VIPM, refresh palettes if VIPM is not set to refresh automatically.
Use palettes.
Known Issues:
Acknowledgements:
David Vignoni (Icon King) for the Nuvola Icon Theme
Change Log:
v1.1.0.7: Fixed palettes with "?" icons due to control name collisions
v1.1.0.6: Migrated to VIP file. Moved controls to vi.lib
v1.0.4: Removed a menu file that showed up incorrectly in the functions palette.
v1.0.3: Initial release of the code. (8.6)
License:
Distributed under the BSD license.
Nuvola icons are LGPL licensed. Keep Nuvola Icons license with distributions.
Support:
If you have any problems with this code or want to suggest features:
please go to www.lavag.org and Navigate to the discussion page.
Distribution:
This code was downloaded from the LAVA Code Repository found at www.lavag.org
============================
5,992 downloads
Updated
-
Insert Type Conversion RCF Plugin
By Francois Normandin in JKI Right-Click Framework Plugins
Insert Conversion Node RCF Plugin v1.2.0.7
Copyright © 2009-2010, François Normandin
All rights reserved.
*Plugin*
Name=Insert TypeConversion
Summary=Inserts a type conversion automatically
Description=Will insert type conversion for all strings, numbers, paths, variants & enums to the right datatype.
Copyright=Copyright © 2009-2010 François Normandin
License=BSD
Developer=François Normandin
Version=1.2.0.3
*Plugin*
Author:François Normandin
Contact Info: Contact via PM on www.lavag.org
LabVIEW Versions:
Created and tested with LabVIEW 8.2
Tested with 8.6 and 2009.
Dependencies:
jki_tool_right_click_framework >= 1.0.2.208
oglib_array >= 3.0.0
oglib_lvdata >= 2.9
Description:
This package contains a plugin for the Right-Click Framework of JKI.
It consists of a first draft of a tool to automatically insert correct conversion node on a wire (or multiple wire at once).
Includes:
- Decimal String to Number.
- Float String to Number.
- Any numeric type (int, unint, floats, complex) to any numeric type.
- Variant to string or numerics.
- Numerics to Variant.
- String to Variant.
- Path to String.
- String to Path.
- Boolean to string.
- Enum to String.
- String to Enum.
- Numeric to Enum.
- Numeric to String
- Unbundle cluster to terminal indicator.
Instructions:
After installing package with VIPM, restart the RCF framework. Use the right-click on wires to automatically insert a conversion node if needed.
** VIPM 2010 or higher is required to process this package.
Known Issues:
1- Not all typecasts are implemented.
2- Wires with joints will not behave correctly yet.
Acknowledgements:
JKI for providing with this great framework.
Change Log:
v1.0.0: Initial release of the code.
v1.0.2: Added _rcf_ in package name.
v1.0.3: Changed the typecast name for proper "type conversion" name.
v1.0.9: Added readme file into .vip file package + some VI documentation
v1.1.0: Changed name of package from normandinf to lava (lava_lib_rcf_insert_typeconversion.vip)
and added some type conversions (Boolean to string; Enum to String; String to Enum)
v1.1.3: Fixed bug with conversion from Enum to Numerics.
Added conversion from Numeric to Enum using "Variant to Data" node.
Added a lame icon. (Any user suggestion will be considered for next update!)
v1.1.4: Updated the description of plugin that now shows up to date info in RCF Options menu.
v1.1.8: Fixed bug when a type conversion node was inserted in a structure where the node was inserted on the main diagram.
Saved for LV 8.2
v1.1.11: Included all files in source distribution to make compatible with LabVIEW 2009.
v1.2.0: Added Unbundle cluster to terminal and corrected problem with Numeric to String.
v1.2.0.7: Added Singular to Array & Array to Singular.
License:
Distributed under the BSD license
Support:
If you have any problems with this code or want to suggest features:
please go to www.lavag.org and Navigate to the discussion page.
Distribution:
This code was downloaded from the LAVA Code Repository found at www.lavag.org
4,023 downloads
Updated
-
LVOOP Event Handler
By Francois Normandin in LabVIEW OOP
LVOOP Event Handler v1.0.1
Copyright © 2010, François Normandin.
All rights reserved.
Author:François Normandin
Contact Info: Contact via PM on www.lavag.org
LabVIEW Versions:
Created and tested with LabVIEW 2009
Dependencies:
openg_appcontrol 2.10
openg_error 2.3
Description:
This is a package that provides the framework for a LVOOP Subscribable Event Handler.
Processes can dynamically register new events and list the classes that are allowed to subscribe to it.
Once a TopProcess takes ownership of the Handler, it manages a Global Stop event and a Handler Activity event to inform subscribers that a new event has been registered with the handler. All subscribers can then get a list of all the events they are allowed to subscribe to.
Everything is done through events with LVOOP LVObject as a backbone. The subscriber will then be free to implement its interpretation of the subscribe event content when received, by casting to the known object types.
Instructions:
After installing package with VIPM, refresh palettes if VIPM is not set to refresh automatically.
Use palette to find the LVOOP Event Handler. Select the Event Handler VI and drop it in your application.
There is a test program that shows how data is exchanged between three dummy classes. You can open the front panel
of the Event Handler to see what are the actual allowed subscribers for which event owner.
Known Issues:
Acknowledgements:
History:
v1.0.0: Initial release of the code. (2009)
v1.0.1: Fixed a wrong connection with the "Preserve RunTime Class" primitive where children classes were not considered as such when a parent class was passed.
Better error handling on Destroy Handler command. (Caused a code 1 error when event destroyed by owner prior handler command.
Added the Event Description string to the connector pane.
License:
Distributed under the BSD license.
Support:
If you have any problems with this code or want to suggest features:
please go to www.lavag.org and Navigate to the discussion page.
Distribution:
This code was downloaded from the LAVA Code Repository found at www.lavag.org
============================
How it works:
This framework consists of a FGV Event Handler that manages the interactions between publishers and subscribers to events. It consists of some commands that allow the use of generic LVOOP events.
It allows the owner to control a Global Stop command, which can be listened by any VI. Once initialized, any process can register its own events and choose which classes are able to subscribe dynamically to it.
A generic event notifies all subscribers to a change in the list of the events available, so that no VI needs to poll constantly to detect the new events or unsubscribe from events that are unregistered by its owner.
Commands:
1- Initialize Handler: The first VI to call the initialization takes ownership of the handler. All other calls before the handler is destroyed will return an error.
2- Subscribe: Default case. When a VI subscribes to event, it will receive a list of all events for which it is allowed to register. Then the VI can decide what it does with the incoming data on that event channel.
3- Register: Any VI can register an event refnum (LVOOP type) and decide which object types can subscribe to it. If no input is provided, or if LVObject is in the list, then all are allowed to subscribe. A notification is sent via the Handler Activity event.
4- Unregister: Any VI that owns an event can remove it from the list. A notification is sent to everyone that listens to the Handler Activity event to prevent the need for poling.
5- Global Stop: Only the owner of the handler can call a global stop. It is meant to protect the integrity of the program should a subscriber decide to play god.
6- Destroy Handler: Releases the command to any process that wants to initialize it. It also erases all events still registered. It can only be called by the Handler's owner.
***************
There is an example VI in the LVOOP Event Handler palette.
1,960 downloads
Updated
-
LVClass API
By Francois Normandin in LabVIEW OOP
Copyright © 2008, François Normandin
All rights reserved.
Author:
François Normandin
--see readme file for contact information.
Description:
This code is provided to help manage labview classes.
By opening a reference to a lvclass file, this API allows easy access to Private Data Cluster, Description, Class version, Icon, Tags, Class Items List,
Ancestor Hierarchy, Addition and removal of files to the class, Copying and saving classes. It can be the basis for cloning a class, applying standardized
icons to all VIs in the class, accessing tags and descriptions or to follow different versions.
Dependancies:
oglib_file-2.8
Change Log:
1.0.0: Initial release of the code.
1.0.1: Correction of installer code (second copy operation reversed)
1.0.2: Expose "Element (Build)" to Connector Pane in "IncrementClassVersion.vi"
Known Bugs:
1- The "Close.vi" uses a merge error with the first error from a close reference. This will discard any error on input to the VI if there is an error from the close reference.
2,235 downloads
Updated
-
UI Tools addon: Tree & Tagging
By Francois Normandin in User Interface
UI Tools Tree OOP Add-On v1.0.4
Copyright © 2009-2010, François Normandin
All rights reserved.
Author:François Normandin
Contact Info: Contact via PM on www.lavag.org
LabVIEW Versions:
Created and tested with LabVIEW 8.6
Dependencies:
lava_lib_ui_tools >=1.0.36
Description:
This package contains classes for manipulating Trees with some enhanced features.
It consists of a set of VIs to create tree objects and associating tags with data in a variant format.
Includes:
- includes some icons from FamFamFam (see license in _Symbols directory) for demo purposes. You do not need these icons if you use the Tree OOP classes in your work.
Instructions:
After installing package with VIPM, refresh palettes if VIPM is not set to refresh automatically.
You will find the palettes in the UI Tools functions palette (user.lib)
Known Issues:
- No drag and drop functionalities included. You'll have to do that on your own if wanted. (for now anyway)
- Arrays will be shown has a succession of Unnamed items. Recursive VI provides a way to put it on
a single line within brackets, but has been removed to provide backward compatibility to 8.6. An add-on
will be posted for LV 9.0+ users.
- The Children & Parents Symbols synchronization works only for Symbol indexes 1-2-3 (True-False-Mixed).
- When adding an item on the same level as an existing one, it gets added in front. Expected behavior would
be to have it added afterwards.
- Modifying a child's data does not recursively modify the parents' data (cluster variants). This will
become obvious once you try the framework... This functionality will be kept in my mind for future improvements.
Acknowledgements:
Norm Kirchner from which I got some tricks in his Tree API (see LAVAG.ORG)
Change Log:
v1.0.4: Solved problems with hardcoded path for symbols installation. Affected primarily installations on 32-bit
Windows systems.
v1.0.3: Initial release of the code. (LV 8.6)
License:
Distributed under the BSD license.
Support:
If you have any problems with this code or want to suggest features:
please go to www.lavag.org and Navigate to the discussion page.
Distribution:
This code was downloaded from the LAVA Code Repository found at www.lavag.org
============================
4,703 downloads
Updated
-
Password_class
By Francois Normandin in LabVIEW OOP
Copyright © 2008, François Normandin
All rights reserved.
Author:
François Normandin
-- see readme file for contact information
website: www.monpapyrus.net/LabVIEW/index.html
Description:
Class for management of password objects. The object contains a MD5 encrypted password.
Methods are of two types depending on source of password. From non-encrypted or encrypted sources.
All vis are documented. There is an example VI that shows how to use encrypted & non-encrypted versions.
Encryption level provides a mean to recursively encrypt many times over, resulting in better security against
rainbow tables attack. Initialize once with Password_Create method.
[Non-encrypted source]
Source is from a dialog box or equivalent. The password is not encrypted at the moment the object is created.
Password_Create method will create a new object, encrypt the password and store it.
[Encrypted source]
Source is from a file or tcp-ip connection. The password is already encrypted at the moment the object is created.
Password_CreateEncrypted method will create a new object and store the password.
Dependencies:
Uses the following OpenG toolkits:
oglib_md5-1.6-1
GOOP3®
OpenG: <http://wiki.openg.org/Main_Page>
GOOP® Community Edition 2.5: <http://www.endevo.se>
Change Log:
1.0.0: Initial release of the code.
1.0.1: Readme modifications
1.1.0: Added encryption level and modified naming convention for dynamically accessible methods.
1,638 downloads
Submitted