Quick Drop Enthusiasts

cancel
Showing results for 
Search instead for 
Did you mean: 

Quick Drop Shortcuts listed with icons

I am just learning Quick Drop (which is a fantastic productivity tool) and was looking to assemble a Cheat Sheet with icons to help me.

Posting it here in case it is useful to anyone else.

Apologies if my summaries and contractions are less than accurate.

And, yes, I know it's not exactly compact. All on 1 or 2 pages would have been better. Maybe in Version 2 if that ever happens.

Message 1 of 11
(8,391 Views)

Pretty neat, not sure if you've seen this or not but here is a more condensed table without icons.

https://decibel.ni.com/content/docs/DOC-20453

Message 2 of 11
(6,126 Views)

Here is my VI that auto creates the a shortcut documentation based on the ini file and Plugin Ctrl-shortcut

I’ve also attached my practise VI, and the QD-documentation it creats

Download All
Message 3 of 11
(6,126 Views)

Wow very cool thanks for sharing.  I noticed your practice VI is missing the randomize VI but riffle and an OpenG reorder can replace it.

I also noticed the images are missing for some VIs.  I believe any merge VIs are missing.  Here are a list of some I noticed didn't get images for: Error Constant, Error Ring, Clear Errors, Array Constant, Three Button Dialog.vi, Tick Count (ms) (OpenG), True Constant (but not false constant for some reason), Variant Constant, Wait (ms) (OpenG).  I haven't yet looked into why it got no image for these or what could be done.

I'd also suggest an option to sort based on the object name, or shortcut.  The previously linked spreadsheet has both and I found it useful.

0 Kudos
Message 4 of 11
(6,126 Views)

Okay it looks like part of the problem is the path constant you had pointing to your user.lib.  I replaced this with the OpenG User Library path constant, and this improves it a bit.  I also had to wrap the pattern string in * before and after the command to help find the subVI.

This still has issues because I have some commands that aren't the full name of the VI.  The command for QD can come from the VI title so the OpenG Wait has a VI title "Wait (ms) (OpenG)" but the VI name is

"Wait (ms)__ogtk.vi".  So searching for the VI named "Wait (ms) (OpenG)" will not find the right one.

Another issue is commands that aren't in the user.lib, but also aren't part of the styles.  I tried searching all of the installed LabVIEW directory but this took forever and still didn't find them all.  I'm thinking to do this right you may need to use the Place Object on Cursor, then programatically drop the item.  The benefit of this is you can then drop the item using the same QD name and not worry about the VI name or where it is.  This will also produce the image of the dropped code for merge VIs and not the VI icon.

A cleaner version would obviously be to drop an object using the QD name, but I do not know of a function that does that.  The closes is the function that puts it on your cursor which might work if we are quick and the user doesn't move the mouse.

0 Kudos
Message 5 of 11
(6,126 Views)

Okay I made a few improvements.  I cleaned up the code a decent amount and replaced some custom functions with already made ones, like with how to get the list of installed shortcuts doesn't need file or string parsing.  Getting the image now is done with a select all and copy, it just seemed easier than the several methods with objects.  Besides my method should support multiple objects.  There is an option for getting FP control images or not, or ignore FP shortcuts.  There is an option for generating the command text or not.  There is also a sort option for sorting based on the function name or the shortcut.

The interesting hacky fix I did was when an object is not found in the list of styles.  If it is found it just drops it like before.  If it doesn't find it, it tries to search the user.lib for a VI with that name.  If neither are found it will invoke the Place Palette Object on Cursor, then move the mouse, and perform a click dropping the function.  This seems to work for me but only because the window position is set on start, and my mouse isn't moving mid click.  There is a 50 ms window where moving it could do strange things.  But again this is only for functions that aren't a style, and aren't in the user.lib as a VI, so it should be rare.

I've noticed not all control images are copied properly for some reason and I'll be looking into it at some point, but for the most part it seems to work.

Message 6 of 11
(6,126 Views)

Thankyou very much MikaelH and Brain Hoover,

This seems like a perfect solution to what I was attempting to achieve except it is automated (and well beyond my capabilities).

I have been trying to use Quick Drop more and it really is extremely useful so I have both the LabVIEW and quickdrop shortcut documents close to hand now and it is helping.

Many thanks for sharing!

0 Kudos
Message 7 of 11
(6,126 Views)

This is very nice!!

It will be a great tool to help convince others I work with to increase their use of QDs.

I found one issue, but it wasn't worth uploading a change; especially if it's unique to me?

If, you select "Generate Command Descriptions"

   And, you have an *.llb file in the ...\plugins diretcory

      You will get errors when the code tries to open the file as a VI, read the properties and close the reference

However, if you simply select "Continue" the code completes and the html file is created.

The fix is to add a pattern constant to limit the search to *.vi files.

Fix_1.png

Thanks to all who helped develop this idea and the code to automate it.

James

Tech Advisor - Automation
LabVIEW 5.0 - 2020
0 Kudos
Message 8 of 11
(6,126 Views)

Good catch.  There are a few other bugs I found. 

There were still times when objects weren't picked properly, often times on the front panel controls.  So I added a Last Attempt At Object Drop.vi which if it was planning on going to the Next step instead of CopyImage, then it would call Drop Object on BD.vi.  This would happen some times when the item was in the style list, but just didn't drop correctly.

Also for me the "True Constant" quick drop object would search my user.lib and find the "Create True Constant.vi" which is a scripting function from LAVA.  I couldn't come up with a good solution for it to actually pick the True Constant boolean, so I just have a check to see if it is a True Constant and if so to force Last Attempt I mentioned earlier.

0 Kudos
Message 9 of 11
(6,126 Views)

I am out of the office until 09/24/2015.

Contact me for phone or email access.

Note: This is an automated response to your message "[Quick Drop

Enthusiasts] - Re: Quick Drop Shortcuts listed with icons" sent on

9/23/2015 11:23:54 AM.

This is the only notification you will receive while this person is away.

0 Kudos
Message 10 of 11
(6,126 Views)