Quick Drop Enthusiasts

cancel
Showing results for 
Search instead for 
Did you mean: 

Class QD Plugin Package

Class QD Plugins v1.0
Author: Piotr Kruczkowski
Compatible LabVIEW Versions: >= 2019.
Compatible OS Versions: ALL.

Description:

The standard LabVIEW plugins are great but operate based on Ctrl + Key shortcut. This means that after a while almost all of your keyboard keys can be occupied by a shortcut. This limits extensibility.

This new Class QD Plugins package enables you to create commands for a Ctrl + C shortcut. These custom commands are then parsed, searching for the object oriented plugin you wish to invoke and execute that dynamic functionality.

 

Project with all dependenciesProject with all dependencies

 

Folders installed with the packageFolders installed with the package

 

QD searching for plugins and invoking them dynamically, based on command used. The LV map is used a LUT mechanism.QD searching for plugins and invoking them dynamically, based on command used. The LV map is used a LUT mechanism.

 

Example implementation of the Dialog commandExample implementation of the Dialog command

 

Dynamic plugin loaderDynamic plugin loader

 

Invoking the Dialog commandInvoking the Dialog command

 

Result of the Dialog commandResult of the Dialog command

 

 

This package comes with an example Dialog QD command. To try it out simply:
1. Install the package
2. In any vi open Ctrl + Space Quick Drop dialog
3. type in the combo box "Dialog <AnyCustomText>" and press Ctrl + C to see a dialog with our custom text appear. The C stands for Command 😉

 

To create your own plugins:
1. Open the interface class QD Plugin.lvclass from [LabVIEW]\resource\dialog\QuickDrop\plugins\_QD Plugin Interface Class so it is loaded into memory
2. Create a new class for your plugin and specify that it inherits from QD Plugin.lvclass
3. Implement the override methods Get Command String.vi and Process.vi (you get to choose what your command text will be)
4. Save it in [LabVIEW]\resource\dialog\QuickDrop\plugins\_QD Plugin Classes
5. Restart LabVIEW

 

Open interface class to load it into memoryOpen interface class to load it into memory

 

Create new class for your pluginCreate new class for your plugin

 

Inherit from the interface classInherit from the interface class

 

Implement overridesImplement overrides

 

Save your plugin in the right folderSave your plugin in the right folder

 

After creating the new plugin you will be able to call it with Ctrl + Space -> CommandName OptionString in ComboBox -> Ctrl + C

 

Wrong command specifiedWrong command specified

 

Please try this out, create your own custom classes and let me know what you think. I am planning to release a bunch of plugins based on this interface soon.

Piotr Kruczkowski
Certified TestStand Architect
Certified LabVIEW Architect
0 Kudos
Message 1 of 2
(3,123 Views)

Based on this interface I am planning to implement the following commands:

NewClass - it would include the text name and the selection of data on the FP or BD which would be put in private data control

NewActor - analogous to NewClass, however would create an Actor

Inherit - would accept a qualified name of a class you want to inherit from and would change the inheritance hierarchy for selected class constant or wire

Set/Get - would create an accessor on a class wire using standard mechanism, and drop it on the wire. If accessor already existed it would not create it but simply drop it.

 

I would love if someone beats me to it and writes these first.

Piotr Kruczkowski
Certified TestStand Architect
Certified LabVIEW Architect
0 Kudos
Message 2 of 2
(3,086 Views)