Code Capture Tool: Difference between revisions
No edit summary |
No edit summary |
||
(56 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{TOCright}} | {{TOCright}} | ||
<br> | |||
== | == Introduction == | ||
[[Image: | |||
===Front panel settings=== | [[Image:CCT GUI.png|300px|Code Capture Tool user interface]]The Code Capture Tool (or CCT) is a [[LabVIEW]] development tool targeted at LabVIEW users to capture images of their code and make it easier to share those images in online forums.<br> | ||
=== Main Features<br> === | |||
*Captures of Front Panel | |||
*Captures of Block Diagram | |||
*Comment an Annotate your caputre | |||
*Creation of LabVIEW Snippets in any LabVIEW version | |||
*Save the snippet as anoter (older) version | |||
*Upload the capture to [http://www.imgur.com Imgur.com] and copy the URL to he clipboard (LabVIEW 2010 and later) | |||
*[http://tononlabview.blogspot.nl/2013/02/code-capture-tools-plugins-introduction.html Plugins] for altering the image or text returned to clipboard | |||
=== History === | |||
The CCT is based on an idea and earlier versions originally released by [http://forums.ni.com/ni/profile?user.id=34024 Chilly Charly] on the [[NI Forums]] as [http://forums.ni.com/ni/board/message?board.id=BreakPoint&thread.id=1020 starware].<br> Later, it evolved to a multiple OS and LabVIEW versions tool for creating code-shots and documentation shots. <br> A collaboration between [http://forums.lavag.org/Yair-m1431.html Yair Neeman] and [[User:Tcplomp|Ton Plomp]] resulted in the 1.0 version of the CCT that is currently available through the [[LAVA CR]] at [http://forums.lavag.org/downloads-file121.html this site]. | |||
Version 2.0 added the possibility to add text and drawings to the captured image, while version 2.1 added an altered GUI, a border around the snippet and better key-handling. Version 2.1.2 added the option upload the image to Imgur.com and save the snippet in an older version of LabVIEW.<br> | |||
Version 3.2 added a plugin architecture and a new GUI layout. | |||
== Instruction == | |||
A series of videos is available at [http://www.screencast.com/t/ZmQ1YjIxNj Screencast]. | |||
A short how to is in the [http://www.screencast.com/t/2aWPdibJ9Sk here available] | |||
An extensive discussion and demo of the CCT is [http://www.screencast.com/t/Yhb9IAOc here].<br> | |||
Version 2.0 introduces a new option to create annotations with text and graphics and the possibility to create [[Snippet|snippets]]. There is a demo-video available at [http://www.screencast.com/t/YTY4MjllZmIt Screencast]. | |||
== Download == | |||
<!-- | |||
Not functional yet! | |||
[[File:LAVA Download-button.png|Code Repository Download]] | |||
<linkedimage> | |||
img_src=Image:LAVA_Download-button.png | |||
wikipage=vipm://lava_lib_code_capture_tool | |||
</linkedimage> | |||
--> | |||
Click [vipm://lava_lib_code_capture_tool here] to download the tool using VIPM. | |||
To check the source you can explore your ''<user.lib>\_Code Capture Too''l folder or download it from [https://sourceforge.net/p/lv-cct-tool/code/ci/tip/tree/Trunk/ Sourceforge.net].<br> | |||
= Interface = | |||
The CCT offers two interfaces to make and distribute images of LabVIEW code - a [[Code Capture Tool#GUI|user interface]] and an [[Code Capture Tool#API|API]]. | |||
== GUI == | |||
The user interface of the CCT allows the user to select which parts of a [[Front Panel]] or [[Block Diagram]] should be captured. The resulting image will be stored on disc and optionally the image or the path can be copied to the OS clipboard. | |||
[[Image:CCT GUI.png|thumb|center|400px|Code Capture Tool user interface]] | |||
=== Front panel settings === | |||
The Front Panel listbox supplies the following options: | The Front Panel listbox supplies the following options: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 24: | Line 71: | ||
! Captured parts | ! Captured parts | ||
|- | |- | ||
| | | rowspan="4" | [[Image:CCT FP.png]] | ||
| None | | None | ||
| Nothing | | Nothing | ||
Line 37: | Line 84: | ||
| Everything on the front panel | | Everything on the front panel | ||
|} | |} | ||
===Block diagram settings=== | |||
=== Block diagram settings === | |||
The Block Diagram listbox supplies the following options: | The Block Diagram listbox supplies the following options: | ||
Line 46: | Line 95: | ||
! Captured parts | ! Captured parts | ||
|- | |- | ||
| | | rowspan="4" | [[Image:CCT BD.png]] | ||
| None | | None | ||
| Nothing | | Nothing | ||
Line 60: | Line 109: | ||
|} | |} | ||
===Clipboard settings=== | ==== Snippet Creation<br> ==== | ||
The creation of a [[Snippet|snippet]] can only be done when the '''Block Diagram''' is set to '''selected'''.<br> | |||
[[Image:CCTSnippetButtons.png]] | |||
The header-text of the snippet is dynamically and has the following options which are accessible with the config button:<br> | |||
{| class="wikitable" | |||
|- | |||
! scope="col" | Token<br> | |||
! scope="col" | Meaning<br> | |||
|- | |||
| $VERSION$<br> | |||
| Inserts the saved [[Labview|LabVIEW]] version<br> | |||
|- | |||
| $NAME$<br> | |||
| Name of the captured VI, retrieved from the VI.VI Name property<br> | |||
|- | |||
| $TITLE$<br> | |||
| Title of the front panel of the captured VI<br> | |||
|- | |||
| $IMAGENAME$<br> | |||
| Name of image on disk without the PNG extension<br> | |||
|- | |||
| $IMAGE$<br> | |||
| Name of image on disk without the PNG extension (a duplicate of $IMAGENAME$<br> | |||
|- | |||
| $DATE:xxx$<br> | |||
| Date/Time formatter, <tt>xxx</tt> must be replaced by a valid [http://zone.ni.com/reference/en-XX/help/371361F-01/glang/codes_for_time_format_str/ timestring formatter]<br> | |||
|} | |||
Per default the header string is <tt>LV: $VERSION$ $DATE:%c$</tt>, %c inserts the localized date.<br> | |||
<br> | |||
=== Clipboard settings === | |||
The clipboard listbox supplies the following options: | The clipboard listbox supplies the following options: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 70: | Line 156: | ||
! Remarks | ! Remarks | ||
|- | |- | ||
| | | rowspan="4" | [[Image:CCT ClipBoard.png]] | ||
| None | | None | ||
| Nothing | | Nothing | ||
| <br> | |||
|- | |- | ||
| Path | | Path | ||
| Path of the captured image | | Path of the captured image | ||
| | | Not on all platforms | ||
|- | |- | ||
| Image | | Image | ||
| The captured image | | The captured image | ||
| Only on Windows | | Only on Windows | ||
|- | |||
| Imgur | |||
| The URL of the Imgur image | |||
| Selecting this will upload the image to Imgur.com | |||
|} | |} | ||
Additional plugins are listed here as well. | |||
===Layout settings=== | === Layout settings === | ||
The Layout picture ring supplies the following layout options: | The Layout picture ring supplies the following layout options: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 92: | Line 185: | ||
! Description | ! Description | ||
|- | |- | ||
| | | rowspan="4" | [[Image:CCT Layout.png]] | ||
| [[Image: | | [[Image:CCT Layout1.png]] | ||
| Front panel in top, block diagram below | | Front panel in top, block diagram below | ||
|- | |- | ||
| [[Image: | | [[Image:CCT Layout2.png]] | ||
| Block diagram in top, front panel below | | Block diagram in top, front panel below | ||
|- | |- | ||
| [[Image: | | [[Image:CCT Layout3.png]] | ||
| Front panel in left, block diagram on the right | | Front panel in left, block diagram on the right | ||
|- | |- | ||
| [[Image: | | [[Image:CCT Layout4.png]] | ||
| Block diagram in left, front panel on the right | | Block diagram in left, front panel on the right | ||
|} | |} | ||
The file settings consists of two controls, the string control to name the file (a .png extension is added to the name automatically) and a browse button to set the folder where the file should be stored. | === File settings === | ||
To detect which folder is currently used hover over one of the two controls and the tip-strip will show the folder. | |||
====Resetting the folder==== | [[Image:CCT FileSettings.png]] | ||
By default the storage folder is the LabVIEW temp folder (which by default is the same as the OS temp folder), and can be changed with the browse for folder button. | |||
To revert to the temp folder use this button [[Image: | The file settings consists of two controls, the string control to name the file (a .png extension is added to the name automatically) and a browse button to set the folder where the file should be stored. To detect which folder is currently used hover over one of the two controls and the tip-strip will show the folder. | ||
==== Resetting the folder ==== | |||
By default the storage folder is the LabVIEW temp folder (which by default is the same as the OS temp folder), and can be changed with the browse for folder button. To revert to the temp folder use this button [[Image:CCT Reset.png]]. | |||
=== Zoom function === | |||
[[Image:CCT Zoom.png]] | |||
The zoom slider allows the user to zoom in and out on the captured image and inspect it in detail. This only affects the preview image and will not change the stored image. | |||
=== Annotation/Sketch toolbars === | |||
[[Image:CCTAnnotationOptions.png]] | |||
The annotation/sketch toolbars are used to add annotations and sketches/drawings to the capture.<br> | |||
==== Drawing tools ==== | |||
{| cellspacing="10" cellpadding="2" border="0" align="left" width="407" style="" | |||
|- | |||
| [[Image:AnnotationOptionsRotated.png|left|18x98px]] | |||
| | |||
'''Rectangle:''' Use shift to draw a square<br> | |||
'''Oval:''' Use shift to draw a circle<br>'''Line:''' Use shift to limit drawing to one axis (X or Y)<br> | |||
'''Arrow:''' Use shift to limit drawing to one axis (X or Y)<br> '''Free: ''' Use this to draw irregular shapes<br> | |||
|} | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
==== Drawing Styles ==== | |||
[[Image:CCTStylesDetail.png]] The style of the line can be one of 5 styles:<br> | |||
*Continious | |||
*Dash | |||
*Dot | |||
*Dash-Dot | |||
*Dash-Dot-Dot | |||
<br> | |||
==== Line width ==== | |||
The linewidth of the sketch/drawing line can be alterd as well [[Image:CCT Linewidth.png]] <br> | |||
==== Line/Text color ==== | |||
It's possible to alter the color of the annotation (sketch or text), when editing text changing the line coler takes effect immediatly. | |||
==== Text size ==== | |||
The font of the annotation text cannot be altered and is fixed on <tt>Arial </tt>, the size however can be altered easily. | |||
==== Editing tools ==== | |||
{| width="50%" cellspacing="2" cellpadding="1" border="0" align="left" | |||
|- | |||
| [[Image:CCT Text.png]]<br> | |||
| Starts editing text<br>Use shift-enter to add anew-line<br>Use arrow keys to move the positioning of the text around<br> | |||
|- | |||
| [[Image:CCT Pan.png]]<br> | |||
| Use this to move the preview window around, this is the default tool of the Annotation Sketch toolbar. It does not change the captured image.<br> | |||
|- | |||
| [[Image:CCT Undo.png]]<br> | |||
| Use this to undo the last edit on the annotation/sketch (4 steps possible), use <ctrl-z> on [[Image:Logo.Windows.png]] and [[Image:Logo.Linux.png]] and <cmd-z> on [[Image:Logo.Mac.png]].<br> | |||
|- | |||
| [[Image:CCT Clear.png]] | |||
| Clear the annotation layer.<br> | |||
|} | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> <br> | |||
=== Help === | |||
The help button [[Image:CCT Help.png]] calls the about window of the CCT including a short description of the main functions, a link to the webpage, a list of know issues and licensing info. | |||
=== | === Capture === | ||
The | The capture button [[Image:CCT Capture.png]] will capture the image, save it, copy to the clipboard, save the currently selected options for the next time and close the window. This can also be done by pressing Enter. | ||
This | |||
=== | === Clean up === | ||
The clean up button [[Image:CCTCleanUp.png]] will clean up the whole BD (if 'whole' is set as BD option) or the current selection (if 'Selections' is set as BD option). This button is only visible if this option is active (correct LabVIEW version). | |||
The | |||
=== Key navigation === | |||
The CCT has several key shortcuts for easier access: | The CCT has several key shortcuts for easier access: | ||
Line 135: | Line 324: | ||
|- | |- | ||
| Enter | | Enter | ||
| Applies the current settings and does a [[ | | Applies the current settings and does a [[Code Capture Tool#Capture|capture]] or finishes a current text edit<br> | ||
|- | |- | ||
| F1 | | F1 | ||
| Loads the about window centered on the help tab | | Loads the about window centered on the help tab | ||
|- | |||
| F5 | |||
| Refreshes the current image | |||
|- | |- | ||
| Escape | | Escape | ||
| Closes the CCT without performing a capture | | Closes the CCT without performing a capture or finishes a current text/graph edit<br> | ||
|} | |} | ||
==API== | == API == | ||
The API provides an interface to the various functions of the CCT. Its palette is accessible under [[ | |||
[[Image: | The API provides an interface to the various functions of the CCT. Its palette is accessible under [[User.lib]]\Code Capture Tool. | ||
[[Image:CCT palette.PNG]] | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 155: | Line 349: | ||
wikipage=Code_Capture_Tool#Create_CCT_Instance | wikipage=Code_Capture_Tool#Create_CCT_Instance | ||
</linkedimage> | </linkedimage> | ||
| <linkedimage> | | <linkedimage> | ||
img_src=Image:CCT_Capture_icon.png | img_src=Image:CCT_Capture_icon.png | ||
Line 168: | Line 361: | ||
wikipage=Code_Capture_Tool#Copy_to_Clipboard | wikipage=Code_Capture_Tool#Copy_to_Clipboard | ||
</linkedimage> | </linkedimage> | ||
| | | <br> | ||
| <linkedimage> | | <linkedimage> | ||
img_src=Image:CCT_CloseSession.png | img_src=Image:CCT_CloseSession.png | ||
Line 178: | Line 371: | ||
</linkedimage> | </linkedimage> | ||
|- | |- | ||
! [[# | ! [[#Set_properties|Set properties]] | ||
| <linkedimage> | | <linkedimage> | ||
img_src=Image:CCT_SetFP.png | img_src=Image:CCT_SetFP.png | ||
Line 208: | Line 401: | ||
</linkedimage> | </linkedimage> | ||
|- | |- | ||
! [[# | ! [[#Get_properties|Get properties]] | ||
| <linkedimage> | | <linkedimage> | ||
img_src=Image:CCT_GetFP.png | img_src=Image:CCT_GetFP.png | ||
Line 243: | Line 436: | ||
wikipage=Code_Capture_Tool#Support | wikipage=Code_Capture_Tool#Support | ||
</linkedimage> | </linkedimage> | ||
| | | <br> | ||
| <linkedimage> | | <linkedimage> | ||
img_src=Image:CCT_CaptureFP.png | img_src=Image:CCT_CaptureFP.png | ||
Line 266: | Line 459: | ||
|} | |} | ||
===Methods=== | === Methods === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 295: | Line 489: | ||
</linkedimage> | </linkedimage> | ||
|} | |} | ||
These VIs are used to activate methods for the CCT. | These VIs are used to activate methods for the CCT. | ||
====Create CCT Instance==== | |||
[[Image: | ==== Create CCT Instance ==== | ||
[[Image:CCT Create CCT.png|Creat CCT Instance]] | |||
This VI must be called for every instance of the CCT, it creates a GOOP dataspace that will contain the data of the instance. Calling this VI must be done with a valid VI reference. | This VI must be called for every instance of the CCT, it creates a GOOP dataspace that will contain the data of the instance. Calling this VI must be done with a valid VI reference. | ||
====Capture Image==== | ==== Capture Image ==== | ||
[[Image: | |||
[[Image:CCT Capture VI Images CCT.png|Capture Images]] | |||
This VI will apply the current settings and store the captured image in the CCT instance, additionally it returns the image itself. | This VI will apply the current settings and store the captured image in the CCT instance, additionally it returns the image itself. | ||
====Save Image==== | ==== Save Image ==== | ||
[[Image: | |||
[[Image:CCT Save Captured Image CCT.png|Save Image]] | |||
This VI will save the image to the path specified by a folder and filename stored in the CCT instance. | This VI will save the image to the path specified by a folder and filename stored in the CCT instance. | ||
====Copy to Clipboard==== | ==== Copy to Clipboard ==== | ||
[[Image: | |||
[[Image:CCT Copy Data to Clipboard CCT.png|Copy to Clipboard]] | |||
This VI will store the data specified by the clipboard settings to the clipboard. | This VI will store the data specified by the clipboard settings to the clipboard. | ||
====Destroy CCT Instance==== | ==== Destroy CCT Instance ==== | ||
[[Image: | |||
[[Image:CCT Destroy CCT.png|Destroy CCT Instance]] | |||
This VI must be called to close the CCT Instance and will free up used memory resources. | This VI must be called to close the CCT Instance and will free up used memory resources. | ||
====Generate File Name==== | ==== Generate File Name ==== | ||
[[ | |||
[[Image:CCT Generate File Name CCT.png|Generate filename]] | |||
This VI will generate a default filename based on the captured parts and VI name. This filename will not be stored inside the CCT session. | This VI will generate a default filename based on the captured parts and VI name. This filename will not be stored inside the CCT session. | ||
===Set properties=== | === Set properties === | ||
{| class="wikitable" | {| class="wikitable" | ||
! [[# | |- | ||
! [[#Set_properties|Set properties]] | |||
| <linkedimage> | | <linkedimage> | ||
img_src=Image:CCT_SetFP.png | img_src=Image:CCT_SetFP.png | ||
Line 358: | Line 562: | ||
</linkedimage> | </linkedimage> | ||
|} | |} | ||
These VIs are used to change properties for the CCT instance. | These VIs are used to change properties for the CCT instance. | ||
====Set Front Panel Mode==== | |||
[[Image: | ==== Set Front Panel Mode ==== | ||
[[Image:CCT Set FP Mode CCT.png|Set FP mode]] | |||
This VI will change the current front panel capture mode. | This VI will change the current front panel capture mode. | ||
====Set Block Diagram Mode==== | ==== Set Block Diagram Mode ==== | ||
[[Image: | |||
[[Image:CCT Set BD Mode CCT.png|Set BD mode]] | |||
This VI will change the current block diagram capture mode. | This VI will change the current block diagram capture mode. | ||
====Set Layout Mode==== | ==== Set Layout Mode ==== | ||
[[Image: | |||
[[Image:CCT Set Layout Mode CCT.png|Set Layout mode]] | |||
This VI will change the current layout orientation. | This VI will change the current layout orientation. | ||
====Set Clipboard Mode==== | ==== Set Clipboard Mode ==== | ||
[[Image: | |||
[[Image:CCT Set Clipboard Mode CCT.png|Set Clipboard mode]] | |||
This VI will change the current clipboard mode. | This VI will change the current clipboard mode. | ||
====Set VI Ref==== | ==== Set VI Ref ==== | ||
[[Image: | |||
[[Image:CCT Set VI Ref CCT.png|Set Clipboard mode]] | |||
This VI sets the reference of the VI that needs to be captured | This VI sets the reference of the VI that needs to be captured | ||
====Set Folder==== | ==== Set Folder ==== | ||
[[Image: | |||
[[Image:CCT Set Folder CCT.png|Set Folder]] | |||
This VI will change the folder where the images will be saved. | This VI will change the folder where the images will be saved. | ||
====Set Filename==== | ==== Set Filename ==== | ||
[[Image: | |||
[[Image:CCT Set File CCT.png|Set Filename]] | |||
This VI will change the filename of the stored image. | This VI will change the filename of the stored image. | ||
===Get properties=== | === Get properties === | ||
{| class="wikitable" | {| class="wikitable" | ||
! [[# | |- | ||
! [[#Get_properties|Get properties]] | |||
| <linkedimage> | | <linkedimage> | ||
img_src=Image:CCT_GetFP.png | img_src=Image:CCT_GetFP.png | ||
Line 426: | Line 641: | ||
</linkedimage> | </linkedimage> | ||
|} | |} | ||
These VIs are used to retrieve properties from the CCT instance. | These VIs are used to retrieve properties from the CCT instance. | ||
====Get Front Panel Mode==== | ==== Get Front Panel Mode ==== | ||
[[Image: | |||
[[Image:CCT Get FP Setting CCT.png|Get FP mode]] | |||
This VI will read the current front panel capture mode. | This VI will read the current front panel capture mode. | ||
====Get Block Diagram Mode==== | ==== Get Block Diagram Mode ==== | ||
[[Image: | |||
[[Image:CCT Get BD Mode CCT.png|Get BD mode]] | |||
This VI will read the current block diagram capture mode. | This VI will read the current block diagram capture mode. | ||
====Get Layout Mode==== | ==== Get Layout Mode ==== | ||
[[Image: | |||
[[Image:CCT Get Layout Mode CCT.png|Get Layout mode]] | |||
This VI will read the current layout orientation. | This VI will read the current layout orientation. | ||
====Get Clipboard Mode==== | ==== Get Clipboard Mode ==== | ||
[[Image: | |||
[[Image:CCT Get Clipboard Mode CCT.png|Get Clipboard mode]] | |||
This VI will read the current clipboard mode. | This VI will read the current clipboard mode. | ||
====Get VI Ref==== | ==== Get VI Ref ==== | ||
[[Image: | |||
[[Image:CCT Get VI Ref CCT.png|Get VI Reference]] | |||
This VI returns a reference to the that is currently captured in this isntance | This VI returns a reference to the that is currently captured in this isntance | ||
====Get Folder==== | ==== Get Folder ==== | ||
[[Image: | |||
[[Image:CCT Get Folder CCT.png|Get Folder]] | |||
This VI will read the folder where the images will be saved. | This VI will read the folder where the images will be saved. | ||
====Get Filename==== | ==== Get Filename ==== | ||
[[Image: | |||
[[Image:CCT Get File CCT.png|Get Filename]] | |||
This VI will read the filename of the stored image. | This VI will read the filename of the stored image. | ||
===Support=== | === Support === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |||
! [[#Support|Support]] | ! [[#Support|Support]] | ||
| <linkedimage> | | <linkedimage> | ||
Line 487: | Line 712: | ||
</linkedimage> | </linkedimage> | ||
|} | |} | ||
This submenu shows additional low level functions of the CCT. | This submenu shows additional low level functions of the CCT. | ||
====Capture Front panel==== | ==== Capture Front panel ==== | ||
[[Image: | |||
[[Image:CCT Capture Panel Picture CCT.png|Capture front panel]] | |||
Use this VI to have direct access to the capturing of a front panel. | Use this VI to have direct access to the capturing of a front panel. | ||
====Capture Block diagram==== | ==== Capture Block diagram ==== | ||
[[Image: | |||
[[Image:CCT Capture Diagram Picture CCT.png|Capture block diagram]] | |||
Use this VI to have direct access to the capturing of a block diagram. | Use this VI to have direct access to the capturing of a block diagram. | ||
====Show CCT GUI==== | ==== Show CCT GUI ==== | ||
[[Image: | |||
[[Image:Code Capture Tool GUI CCT.png|Show CCT GUI]] | |||
Use this VI to show the user interface of the CCT. | Use this VI to show the user interface of the CCT. | ||
====7.0 container VI==== | ==== 7.0 container VI ==== | ||
[[Image: | |||
[[Image:Container 70 CCT.png|7.0 container]] | |||
Use this VI if you want to build a source distribution or an executable and need to make sure all dynamic VIs are included. For LabVIEW 7.0 and up. | Use this VI if you want to build a source distribution or an executable and need to make sure all dynamic VIs are included. For LabVIEW 7.0 and up. | ||
====8.0 container VI==== | ==== 8.0 container VI (deprecated in version 2.0)<br> ==== | ||
[[Image: | |||
[[Image:Container 80 CCT.png|8.0 container]] | |||
Use this VI if you want to build a source distribution or an executable and need to make sure all dynamic VIs are included. For LabVIEW 8.0 and up, don't forget to include the 7.0 container. | Use this VI if you want to build a source distribution or an executable and need to make sure all dynamic VIs are included. For LabVIEW 8.0 and up, don't forget to include the 7.0 container. | ||
=Known issues= | Version 2.0 of the Code Capture Tool installer will automatically select the correct container VI, so an additional 8.x container isn't needed anymore. | ||
= Known issues = | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |||
! Description | ! Description | ||
! Status | ! Status | ||
|- | |- | ||
| After using a non-default path and resetting it to the default, the new setting (temp) is not used | | After using a non-default path and resetting it to the default, the new setting (temp) is not used | ||
| | | Solved in version 1.0 | ||
|- | |- | ||
| Installing on Linux fails due to case sensitivity | | Installing on Linux fails due to case sensitivity | ||
| | | Solved in version 1.0 | ||
|- | |- | ||
| Capturing a non-visible part on a multi-pane front panel fails | | Capturing a non-visible part on a multi-pane front panel fails | ||
Line 529: | Line 764: | ||
|- | |- | ||
| Saving an empty image returns an error | | Saving an empty image returns an error | ||
| | | Solved in version 1.0 | ||
|- | |- | ||
| Opening the CCT from the Getting Started Window locks up LabVIEW | | Opening the CCT from the Getting Started Window locks up LabVIEW | ||
| | | Solved in version 1.0 | ||
|- | |||
| Possible High use of memory | |||
| Investigating | |||
|- | |||
| Impossible to capture FP of locked VI | |||
| Investigating | |||
|} | |} | ||
=Licensing= | = Version History = | ||
== Version 3.2 == | |||
Release date 1 februari 2013 | |||
*Altered GUI | |||
*Added resizable User interface | |||
*Added scroll wheel control of the image | |||
*Added plugin feature | |||
== Version 2.1.4<br> == | |||
Release date 2 december 2010<br> | |||
*Fixed bug [http://sourceforge.net/tracker/index.php?func=detail&aid=3121172&group_id=206229&atid=996819 #3121172] for locked VIs (without password protection)<br> | |||
*Added a message dialogue after the Capture button was activated<br> | |||
== Version 2.1.3 == | |||
Release date 29 September 2010 | |||
*Fixed a bug that didn't show the images properly on initialization | |||
== Version 2.1.2 == | |||
Release date 20 September 2010 | |||
*Added Imgur.com upload | |||
*Added 'Save for Previous Version' snippet function | |||
== Version 2.1.0 == | |||
Release date 15 February 2010 | |||
*Added a border around a snippet | |||
*Altered GUI (Preview window is bigger) | |||
*Better key handling with text annotation, support for HOME and END. | |||
*Movement of text annotation with ctrl-left, ctrl-right, up and down | |||
*Movement in a text annotation with left and right | |||
== Version 2.0.5 == | |||
Release date 28 November 2009 | |||
*Bugfix release for bug [https://sourceforge.net/tracker/?func=detail&atid=996819&aid=2905411&group_id=206229 2905411]. | |||
== Version 2.0.0 == | |||
Release date 24 November 2009 | |||
*Support for VI snippet creation | |||
*Support for adding comments and drawings | |||
== Version 1.0.0 == | |||
Release date 27 February 2008 | |||
*Bug-fixes | |||
*Support for panning of the preview | |||
== Version 0.9.1 == | |||
Release date 7 November 2007 | |||
*Support for LabVIEW 7.x and up | |||
*Support for all OS'es | |||
*Support for orientation | |||
*Support for selection | |||
*Support for customized naming | |||
*Support for customized folder | |||
<br> | |||
= Licensing = | |||
The CCT is licensed under the BSD license | The CCT is licensed under the BSD license | ||
[[Category:Third party LabVIEW tools]] | |||
[[Category:Third party LabVIEW tools]] |
Latest revision as of 13:02, 19 February 2013
Introduction
The Code Capture Tool (or CCT) is a LabVIEW development tool targeted at LabVIEW users to capture images of their code and make it easier to share those images in online forums.
Main Features
- Captures of Front Panel
- Captures of Block Diagram
- Comment an Annotate your caputre
- Creation of LabVIEW Snippets in any LabVIEW version
- Save the snippet as anoter (older) version
- Upload the capture to Imgur.com and copy the URL to he clipboard (LabVIEW 2010 and later)
- Plugins for altering the image or text returned to clipboard
History
The CCT is based on an idea and earlier versions originally released by Chilly Charly on the NI Forums as starware.
Later, it evolved to a multiple OS and LabVIEW versions tool for creating code-shots and documentation shots.
A collaboration between Yair Neeman and Ton Plomp resulted in the 1.0 version of the CCT that is currently available through the LAVA CR at this site.
Version 2.0 added the possibility to add text and drawings to the captured image, while version 2.1 added an altered GUI, a border around the snippet and better key-handling. Version 2.1.2 added the option upload the image to Imgur.com and save the snippet in an older version of LabVIEW.
Version 3.2 added a plugin architecture and a new GUI layout.
Instruction
A series of videos is available at Screencast.
A short how to is in the here available
An extensive discussion and demo of the CCT is here.
Version 2.0 introduces a new option to create annotations with text and graphics and the possibility to create snippets. There is a demo-video available at Screencast.
Download
Click [vipm://lava_lib_code_capture_tool here] to download the tool using VIPM.
To check the source you can explore your <user.lib>\_Code Capture Tool folder or download it from Sourceforge.net.
Interface
The CCT offers two interfaces to make and distribute images of LabVIEW code - a user interface and an API.
GUI
The user interface of the CCT allows the user to select which parts of a Front Panel or Block Diagram should be captured. The resulting image will be stored on disc and optionally the image or the path can be copied to the OS clipboard.
Front panel settings
The Front Panel listbox supplies the following options:
Listbox | Item | Captured parts |
---|---|---|
None | Nothing | |
Selected | All selected parts and items in between | |
Visible | Everything visible in the current panel view | |
All | Everything on the front panel |
Block diagram settings
The Block Diagram listbox supplies the following options:
Listbox | Item | Captured parts |
---|---|---|
None | Nothing | |
Selected | All selected parts and items in between | |
Visible | Everything visible in the current block diagram view | |
All | Everything on the block diagram |
Snippet Creation
The creation of a snippet can only be done when the Block Diagram is set to selected.
The header-text of the snippet is dynamically and has the following options which are accessible with the config button:
Token |
Meaning |
---|---|
$VERSION$ |
Inserts the saved LabVIEW version |
$NAME$ |
Name of the captured VI, retrieved from the VI.VI Name property |
$TITLE$ |
Title of the front panel of the captured VI |
$IMAGENAME$ |
Name of image on disk without the PNG extension |
$IMAGE$ |
Name of image on disk without the PNG extension (a duplicate of $IMAGENAME$ |
$DATE:xxx$ |
Date/Time formatter, xxx must be replaced by a valid timestring formatter |
Per default the header string is LV: $VERSION$ $DATE:%c$, %c inserts the localized date.
Clipboard settings
The clipboard listbox supplies the following options:
Additional plugins are listed here as well.
Layout settings
The Layout picture ring supplies the following layout options:
File settings
The file settings consists of two controls, the string control to name the file (a .png extension is added to the name automatically) and a browse button to set the folder where the file should be stored. To detect which folder is currently used hover over one of the two controls and the tip-strip will show the folder.
Resetting the folder
By default the storage folder is the LabVIEW temp folder (which by default is the same as the OS temp folder), and can be changed with the browse for folder button. To revert to the temp folder use this button .
Zoom function
The zoom slider allows the user to zoom in and out on the captured image and inspect it in detail. This only affects the preview image and will not change the stored image.
Annotation/Sketch toolbars
The annotation/sketch toolbars are used to add annotations and sketches/drawings to the capture.
Drawing tools
Rectangle: Use shift to draw a square Oval: Use shift to draw a circle Arrow: Use shift to limit drawing to one axis (X or Y) |
Drawing Styles
The style of the line can be one of 5 styles:
- Continious
- Dash
- Dot
- Dash-Dot
- Dash-Dot-Dot
Line width
The linewidth of the sketch/drawing line can be alterd as well
Line/Text color
It's possible to alter the color of the annotation (sketch or text), when editing text changing the line coler takes effect immediatly.
Text size
The font of the annotation text cannot be altered and is fixed on Arial , the size however can be altered easily.
Editing tools
Help
The help button calls the about window of the CCT including a short description of the main functions, a link to the webpage, a list of know issues and licensing info.
Capture
The capture button will capture the image, save it, copy to the clipboard, save the currently selected options for the next time and close the window. This can also be done by pressing Enter.
Clean up
The clean up button will clean up the whole BD (if 'whole' is set as BD option) or the current selection (if 'Selections' is set as BD option). This button is only visible if this option is active (correct LabVIEW version).
The CCT has several key shortcuts for easier access:
Key | Function |
---|---|
Enter | Applies the current settings and does a capture or finishes a current text edit |
F1 | Loads the about window centered on the help tab |
F5 | Refreshes the current image |
Escape | Closes the CCT without performing a capture or finishes a current text/graph edit |
API
The API provides an interface to the various functions of the CCT. Its palette is accessible under User.lib\Code Capture Tool.
Methods | <linkedimage>
img_src=Image:CCT_GetSessions.png wikipage=Code_Capture_Tool#Create_CCT_Instance </linkedimage> |
<linkedimage>
img_src=Image:CCT_Capture_icon.png wikipage=Code_Capture_Tool#Capture_Image </linkedimage> |
<linkedimage>
img_src=Image:CCT_SaveImage.png wikipage=Code_Capture_Tool#Save_Image </linkedimage> |
<linkedimage>
img_src=Image:CCT_CopyToClipboard.png wikipage=Code_Capture_Tool#Copy_to_Clipboard </linkedimage> |
<linkedimage>
img_src=Image:CCT_CloseSession.png wikipage=Code_Capture_Tool#Destroy_CCT_Instance </linkedimage> |
<linkedimage>
img_src=Image:CCT_GenerateFileName.png wikipage=Code_Capture_Tool#Generate_File_Name </linkedimage> | |
---|---|---|---|---|---|---|---|
Set properties | <linkedimage>
img_src=Image:CCT_SetFP.png wikipage=Code_Capture_Tool#Set_Front_Panel_Mode </linkedimage> |
<linkedimage>
img_src=Image:CCT_SetBD.png wikipage=Code_Capture_Tool#Set_Block_Diagram_Mode </linkedimage> |
<linkedimage>
img_src=Image:CCT_SetLayout.png wikipage=Code_Capture_Tool#Set_Layout_Mode </linkedimage> |
<linkedimage>
img_src=Image:CCT_SetClipboard.png wikipage=Code_Capture_Tool#Set_Clipboard_Mode </linkedimage> |
<linkedimage>
img_src=Image:CCT_SetVI.png wikipage=Code_Capture_Tool#Set_VI_Ref </linkedimage> |
<linkedimage>
img_src=Image:CCT_SetFolder.png wikipage=Code_Capture_Tool#Set_Folder </linkedimage> |
<linkedimage>
img_src=Image:CCT_SetFileName.png wikipage=Code_Capture_Tool#Set_Filename </linkedimage> |
Get properties | <linkedimage>
img_src=Image:CCT_GetFP.png wikipage=Code_Capture_Tool#Get_Front_Panel_Mode </linkedimage> |
<linkedimage>
img_src=Image:CCT_GetBD.png wikipage=Code_Capture_Tool#Get_Block_Diagram_Mode </linkedimage> |
<linkedimage>
img_src=Image:CCT_GetLayout.png wikipage=Code_Capture_Tool#Get_Layout_Mode </linkedimage> |
<linkedimage>
img_src=Image:CCT_GetClipboard.png wikipage=Code_Capture_Tool#Get_Clipboard_Mode </linkedimage> |
<linkedimage>
img_src=Image:CCT_GetVI.png wikipage=Code_Capture_Tool#Get_VI_Ref </linkedimage> |
<linkedimage>
img_src=Image:CCT_GetFolder.png wikipage=Code_Capture_Tool#Get_Folder </linkedimage> |
<linkedimage>
img_src=Image:CCT_GetFileName.png wikipage=Code_Capture_Tool#Get_Filename </linkedimage> |
Support | <linkedimage>
img_src=Image:CCT_Support.png wikipage=Code_Capture_Tool#Support </linkedimage> |
<linkedimage>
img_src=Image:CCT_CaptureFP.png wikipage=Code_Capture_Tool#Capture_Front_panel </linkedimage> |
<linkedimage>
img_src=Image:CCT_CaptureBD.png wikipage=Code_Capture_Tool#Capture_Block_diagram </linkedimage> |
<linkedimage>
img_src=Image:CCT_ShowGUI.png wikipage=Code_Capture_Tool#Show_CCT_GUI </linkedimage> |
<linkedimage>
img_src=Image:CCT_70Container.png wikipage=Code_Capture_Tool#7.0_container_VI </linkedimage> |
<linkedimage>
img_src=Image:CCT_80_Container.png wikipage=Code_Capture_Tool#8.0_container_VI </linkedimage> |
Methods
Methods | <linkedimage>
img_src=Image:CCT_GetSessions.png wikipage=Code_Capture_Tool#Create_CCT_Instance </linkedimage> |
<linkedimage>
img_src=Image:CCT_Capture_icon.png wikipage=Code_Capture_Tool#Capture_Image </linkedimage> |
<linkedimage>
img_src=Image:CCT_SaveImage.png wikipage=Code_Capture_Tool#Save_Image </linkedimage> |
<linkedimage>
img_src=Image:CCT_CopyToClipboard.png wikipage=Code_Capture_Tool#Copy_to_Clipboard </linkedimage> |
<linkedimage>
img_src=Image:CCT_CloseSession.png wikipage=Code_Capture_Tool#Destroy_CCT_Instance </linkedimage> |
<linkedimage>
img_src=Image:CCT_GenerateFileName.png wikipage=Code_Capture_Tool#Generate_File_Name </linkedimage> |
---|
These VIs are used to activate methods for the CCT.
Create CCT Instance
This VI must be called for every instance of the CCT, it creates a GOOP dataspace that will contain the data of the instance. Calling this VI must be done with a valid VI reference.
Capture Image
This VI will apply the current settings and store the captured image in the CCT instance, additionally it returns the image itself.
Save Image
This VI will save the image to the path specified by a folder and filename stored in the CCT instance.
Copy to Clipboard
This VI will store the data specified by the clipboard settings to the clipboard.
Destroy CCT Instance
This VI must be called to close the CCT Instance and will free up used memory resources.
Generate File Name
This VI will generate a default filename based on the captured parts and VI name. This filename will not be stored inside the CCT session.
Set properties
Set properties | <linkedimage>
img_src=Image:CCT_SetFP.png wikipage=Code_Capture_Tool#Set_Front_Panel_Mode </linkedimage> |
<linkedimage>
img_src=Image:CCT_SetBD.png wikipage=Code_Capture_Tool#Set_Block_Diagram_Mode </linkedimage> |
<linkedimage>
img_src=Image:CCT_SetLayout.png wikipage=Code_Capture_Tool#Set_Layout_Mode </linkedimage> |
<linkedimage>
img_src=Image:CCT_SetClipboard.png wikipage=Code_Capture_Tool#Set_Clipboard_Mode </linkedimage> |
<linkedimage>
img_src=Image:CCT_SetVI.png wikipage=Code_Capture_Tool#Set_VI_Ref </linkedimage> |
<linkedimage>
img_src=Image:CCT_SetFolder.png wikipage=Code_Capture_Tool#Set_Folder </linkedimage> |
<linkedimage>
img_src=Image:CCT_SetFileName.png wikipage=Code_Capture_Tool#Set_Filename </linkedimage> |
---|
These VIs are used to change properties for the CCT instance.
Set Front Panel Mode
This VI will change the current front panel capture mode.
Set Block Diagram Mode
This VI will change the current block diagram capture mode.
Set Layout Mode
This VI will change the current layout orientation.
Set Clipboard Mode
This VI will change the current clipboard mode.
Set VI Ref
This VI sets the reference of the VI that needs to be captured
Set Folder
This VI will change the folder where the images will be saved.
Set Filename
This VI will change the filename of the stored image.
Get properties
Get properties | <linkedimage>
img_src=Image:CCT_GetFP.png wikipage=Code_Capture_Tool#Get_Front_Panel_Mode </linkedimage> |
<linkedimage>
img_src=Image:CCT_GetBD.png wikipage=Code_Capture_Tool#Get_Block_Diagram_Mode </linkedimage> |
<linkedimage>
img_src=Image:CCT_GetLayout.png wikipage=Code_Capture_Tool#Get_Layout_Mode </linkedimage> |
<linkedimage>
img_src=Image:CCT_GetClipboard.png wikipage=Code_Capture_Tool#Get_Clipboard_Mode </linkedimage> |
<linkedimage>
img_src=Image:CCT_GetVI.png wikipage=Code_Capture_Tool#Get_VI_Ref </linkedimage> |
<linkedimage>
img_src=Image:CCT_GetFolder.png wikipage=Code_Capture_Tool#Get_Folder </linkedimage> |
<linkedimage>
img_src=Image:CCT_GetFileName.png wikipage=Code_Capture_Tool#Get_Filename </linkedimage> |
---|
These VIs are used to retrieve properties from the CCT instance.
Get Front Panel Mode
This VI will read the current front panel capture mode.
Get Block Diagram Mode
This VI will read the current block diagram capture mode.
Get Layout Mode
This VI will read the current layout orientation.
Get Clipboard Mode
This VI will read the current clipboard mode.
Get VI Ref
This VI returns a reference to the that is currently captured in this isntance
Get Folder
This VI will read the folder where the images will be saved.
Get Filename
This VI will read the filename of the stored image.
Support
Support | <linkedimage>
img_src=Image:CCT_CaptureFP.png wikipage=Code_Capture_Tool#Capture_Front_panel </linkedimage> |
<linkedimage>
img_src=Image:CCT_CaptureBD.png wikipage=Code_Capture_Tool#Capture_Block_diagram </linkedimage> |
<linkedimage>
img_src=Image:CCT_ShowGUI.png wikipage=Code_Capture_Tool#Show_CCT_GUI </linkedimage> |
<linkedimage>
img_src=Image:CCT_70Container.png wikipage=Code_Capture_Tool#7.0_container_VI </linkedimage> |
<linkedimage>
img_src=Image:CCT_80_Container.png wikipage=Code_Capture_Tool#8.0_container_VI </linkedimage> |
---|
This submenu shows additional low level functions of the CCT.
Capture Front panel
Use this VI to have direct access to the capturing of a front panel.
Capture Block diagram
Use this VI to have direct access to the capturing of a block diagram.
Show CCT GUI
Use this VI to show the user interface of the CCT.
7.0 container VI
Use this VI if you want to build a source distribution or an executable and need to make sure all dynamic VIs are included. For LabVIEW 7.0 and up.
8.0 container VI (deprecated in version 2.0)
Use this VI if you want to build a source distribution or an executable and need to make sure all dynamic VIs are included. For LabVIEW 8.0 and up, don't forget to include the 7.0 container.
Version 2.0 of the Code Capture Tool installer will automatically select the correct container VI, so an additional 8.x container isn't needed anymore.
Known issues
Description | Status |
---|---|
After using a non-default path and resetting it to the default, the new setting (temp) is not used | Solved in version 1.0 |
Installing on Linux fails due to case sensitivity | Solved in version 1.0 |
Capturing a non-visible part on a multi-pane front panel fails | A limitation due to the LabVIEW implementation of panes, most-likely not fixable |
Saving an empty image returns an error | Solved in version 1.0 |
Opening the CCT from the Getting Started Window locks up LabVIEW | Solved in version 1.0 |
Possible High use of memory | Investigating |
Impossible to capture FP of locked VI | Investigating |
Version History
Version 3.2
Release date 1 februari 2013
- Altered GUI
- Added resizable User interface
- Added scroll wheel control of the image
- Added plugin feature
Version 2.1.4
Release date 2 december 2010
- Fixed bug #3121172 for locked VIs (without password protection)
- Added a message dialogue after the Capture button was activated
Version 2.1.3
Release date 29 September 2010
- Fixed a bug that didn't show the images properly on initialization
Version 2.1.2
Release date 20 September 2010
- Added Imgur.com upload
- Added 'Save for Previous Version' snippet function
Version 2.1.0
Release date 15 February 2010
- Added a border around a snippet
- Altered GUI (Preview window is bigger)
- Better key handling with text annotation, support for HOME and END.
- Movement of text annotation with ctrl-left, ctrl-right, up and down
- Movement in a text annotation with left and right
Version 2.0.5
Release date 28 November 2009
- Bugfix release for bug 2905411.
Version 2.0.0
Release date 24 November 2009
- Support for VI snippet creation
- Support for adding comments and drawings
Version 1.0.0
Release date 27 February 2008
- Bug-fixes
- Support for panning of the preview
Version 0.9.1
Release date 7 November 2007
- Support for LabVIEW 7.x and up
- Support for all OS'es
- Support for orientation
- Support for selection
- Support for customized naming
- Support for customized folder
Licensing
The CCT is licensed under the BSD license