Popular Post jgcode Posted April 25, 2010 Popular Post Report Posted April 25, 2010 Name: LVOOP Assistant Submitter: jgcode Submitted: 25 Apr 2010 Category: LabVIEW Tools Network Certified LabVIEW Version: 2012 License Type: BSD (Most common) This tool integrates into the LabVIEW Project Provider API and contains features to assist with LVOOP development Instructions: - Restart LabVIEW after installation - In a LabVIEW Project, right click on a Class or Class Method VI and select 'LVOOP Assistant >> Plugin' - If 'VIPM Options >> Mass Compile VIs after Package Installation' is set to FALSE, tool will mass compile on first load for LabVIEW versions after 2012 - See 'Help >> LAVA >> LVOOP Assistant' for more information - Search 'LVOOP' in NI Example Finder for examples of LVOOP Assistant pluginss Features: - Clone a Method VI to another Class - Create a Child Class - Display and edit all VI icons in a Class - Open Accessor VIs from a block diagram property node for debugging - Script Method VIs using templates from a sandbox - Paste icon text from one Method VI to another - Refresh a Method VI's icon without having to open the Class Properties Dialog and refresh all icons - Rename LVOOP Labels - Add favourite Virtual Folders to a Class with pre-configured scopesĀ Click here to download this file 3 Quote
jgcode Posted April 25, 2010 Author Report Posted April 25, 2010 Sorry about the formatting in the readme, I seem to be having an issue that I have posted here. I tried to edit it as best I could. *****This plugin was created for a bit of fun, I has the thought last year after the Norm pointed out the color algorithm for the LVOOP classes (thanks!) <center><object id="scPlayer" width="677" height="585"> <param name="movie" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/efa3682a-543f-46b5-bde4-040bf5306e22/jingswfplayer.swf"></param>'>http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/efa3682a-543f-46b5-bde4-040bf5306e22/jingswfplayer.swf"></param> <param name="quality" value="high"></param> <param name="bgcolor" value="#FFFFFF"></param> <param name="flashVars" value="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/efa3682a-543f-46b5-bde4-040bf5306e22/FirstFrame.jpg&containerwidth=677&containerheight=585&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/efa3682a-543f-46b5-bde4-040bf5306e22/LVOOP%20Theme%20Creator.swf"></param> <param name="allowFullScreen" value="true"></param> <param name="scale" value="showall"></param> <param name="allowScriptAccess" value="always"></param> <param name="base" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/efa3682a-543f-46b5-bde4-040bf5306e22/"></param>'>http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/efa3682a-543f-46b5-bde4-040bf5306e22/"></param> <embed src="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/efa3682a-543f-46b5-bde4-040bf5306e22/jingswfplayer.swf" quality="high" bgcolor="#FFFFFF" width="677" height="585" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/efa3682a-543f-46b5-bde4-040bf5306e22/FirstFrame.jpg&containerwidth=677&containerheight=585&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/efa3682a-543f-46b5-bde4-040bf5306e22/LVOOP%20Theme%20Creator.swf" allowFullScreen="true" base="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/efa3682a-543f-46b5-bde4-040bf5306e22/" scale="showall"></embed> </object></center> Quote
Daklu Posted April 25, 2010 Report Posted April 25, 2010 Nice! I hate trying to get the colors to match up. Edit: There are a couple package dependencies you didn't set. OpenG's numeric library JKI's State Machine toolkit 1 Quote
jgcode Posted April 25, 2010 Author Report Posted April 25, 2010 Nice! I hate trying to get the colors to match up. Edit: There are a couple package dependencies you didn't set. OpenG's numeric library JKI's State Machine toolkit Cheers! They are in the .vipc file in the zip file, but I forgot to add them to the .ogpb file! No problems, I have a VI for that, I will do the fix now. <edit> Done! </edit> Quote
Aristos Queue Posted April 26, 2010 Report Posted April 26, 2010 Does your theme editor maintain the inherited icon layer behavior? You might already know this but I figure it is worth mentioning... Suppose class Parent has a template icon that is 32x12 (aligned top). If you give the Child a template icon that is 16x12 (aligned top right), then when you add a new VI to the child, the resulting VI icon will use the Parent icon for the left half and the Child icon for the right half. This gives you a way of having a theme in the parent class with each child class adding a glyph to that original theme and then you only have to update the parent class if you want to change the theme across your whole hierarchy. 1 Quote
jgcode Posted April 27, 2010 Author Report Posted April 27, 2010 You might already know this but I figure it is worth mentioning... Negative! I did not know this - so kudos. I normally use the same color banner if I want to maintain a theme through to child classes, but what you are describing sounds much nicer, thanks. In fact I have never see this effect before because I always use the default banner size. I just had a play and it is beautiful (sorry, I love icons) Does your theme editor maintain the inherited icon layer behavior? I did not have access in the icon API to do this. However, I requested it on the weekend and Tom has delivered again (he is a very nice, young man). The API now supports passing in a .lvclass reference and getting all the layers. Therefore I should be able to preserve existing layers and only update the NI_Library layer I will have a go at integrating it tonight and see how I go. I will also have to investigate what you are saying. But from my initial testing, it seems that if I update a .lvclass and refresh the icons, then the memberVIs automatically update to include the parent banner (or part of) without me doing anything different. I think it will be ok because the child icon does not "see" the parent icon when using the Icon Editor on a class. It is only the memberVIs that do and they only have one NI_Library layer. Cheers -JG <edit> If anyone else hasn't see the effect here it is: </edit> Quote
PJM_labview Posted April 28, 2010 Report Posted April 28, 2010 Does your theme editor maintain the inherited icon layer behavior? You might already know this but I figure it is worth mentioning... Suppose class Parent has a template icon that is 32x12 (aligned top). If you give the Child a template icon that is 16x12 (aligned top right), then when you add a new VI to the child, the resulting VI icon will use the Parent icon for the left half and the Child icon for the right half. This gives you a way of having a theme in the parent class with each child class adding a glyph to that original theme and then you only have to update the parent class if you want to change the theme across your whole hierarchy. I did notice this feature and I have to confess that I am not too found of it. For instance if I have a dark banner on my children class and I use a white font for the banner text I end up having the parent banner color "leak" through (which does sometimes makes the text unreadable). PJM Quote
Aristos Queue Posted April 28, 2010 Report Posted April 28, 2010 I did notice this feature and I have to confess that I am not too found of it. For instance if I have a dark banner on my children class and I use a white font for the banner text I end up having the parent banner color "leak" through (which does sometimes makes the text unreadable). Don't use white --- Thomas hacked white to mean "transparent". Not my favorite hack in the world. The composite icons predates the new icon editor. Quote
PJM_labview Posted April 28, 2010 Report Posted April 28, 2010 Don't use white ... Ya, I figured that much. PJM Quote
jgcode Posted May 2, 2010 Author Report Posted May 2, 2010 Version History (Changelist): 1.1-1 2010 05 02 - New(): Added support for preserving layers after Icon Editor API upgraded. - New(): Select Layer Tag UI added which allows user to specify Layer Tag when it is not found. This Layer can be made the default when searching next time. - Fix(): Clean error handling for when non LVOOP Member VI is quick drop'd on. <object id="scPlayer" width="677" height="585"> <param name="movie" value=" http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8fff0ce5-df03-444a-be83-d5f08fe094b1/jingswfplayer.swf"></param>'>http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8fff0ce5-df03-444a-be83-d5f08fe094b1/jingswfplayer.swf"></param> <param name="quality" value="high"></param> <param name="bgcolor" value="#FFFFFF"></param> <param name="flashVars" value="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8fff0ce5-df03-444a-be83-d5f08fe094b1/FirstFrame.jpg&containerwidth=677&containerheight=585&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8fff0ce5-df03-444a-be83-d5f08fe094b1/LVOOP%20Theme%20Creator%201.1.swf"></param> <param name="allowFullScreen" value="true"></param> <param name="scale" value="showall"></param> <param name="allowScriptAccess" value="always"></param> <param name="base" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8fff0ce5-df03-444a-be83-d5f08fe094b1/"></param>'>http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8fff0ce5-df03-444a-be83-d5f08fe094b1/"></param> <embed src="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8fff0ce5-df03-444a-be83-d5f08fe094b1/jingswfplayer.swf" quality="high" bgcolor="#FFFFFF" width="677" height="585" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8fff0ce5-df03-444a-be83-d5f08fe094b1/FirstFrame.jpg&containerwidth=677&containerheight=585&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8fff0ce5-df03-444a-be83-d5f08fe094b1/LVOOP%20Theme%20Creator%201.1.swf" allowFullScreen="true" base="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/8fff0ce5-df03-444a-be83-d5f08fe094b1/" scale="showall"></embed> </object> I have added the Icon Editor API so that now layers are supported. The package contains a repackaged version of the Icon Editor API compiled for user.lib I also did updated the GET and SET polymorphic VIs icon's and added a MNU file so its neat. This package is contained in the .vipc file (all other dependencies are listed only) If you have any feedback please post! Cheers -JG Quote
jgcode Posted May 2, 2010 Author Report Posted May 2, 2010 Attached is the repackaged Icon Editor API if any wants just that. Cheers -JG jgcode_rpk_ni_icon_editor_api-1.0-1.ogp Quote
TomĀ Posted May 2, 2010 Report Posted May 2, 2010 Don't use white --- Thomas hacked white to mean "transparent". Not my favorite hack in the world. The composite icons predates the new icon editor. It is definitely not the best way to go, but by the time we figured that problem, it was already too late in the game. <edit>Awesome, I didn't realize that I never posted here before...</edit> Quote
Mark Balla Posted May 5, 2010 Report Posted May 5, 2010 Certified 5-4-2010 Placed in LabVIEW OOP Catagroy Quote
jgcode Posted May 5, 2010 Author Report Posted May 5, 2010 Certified 5-4-2010 Placed in LabVIEW OOP Catagroy Thanks for your time Mark. Would it be a better suited located in the new Quick Drop Plugins category (under LabVIEW IDE)?? What are your thoughts? Cheers -JG Quote
Mark Balla Posted May 5, 2010 Report Posted May 5, 2010 Thanks for your time Mark. Would it be a better suited located in the new Quick Drop Plugins category (under LabVIEW IDE)?? What are your thoughts? Cheers -JG I moved it to the Quick Drop Plugins category as requested. Mark 1 Quote
jgcode Posted May 5, 2010 Author Report Posted May 5, 2010 I moved it to the Quick Drop Plugins category as requested. Mark Kudos! Quote
jgcode Posted May 18, 2010 Author Report Posted May 18, 2010 Known issue with the 1.1 release Class must be saved to disk The Class icon must have been opened at least once in the Icon Editor. The latter is a weird bug in the Icon Editor API posted here but I have come up with my own work around. So I have fixes for both and will release an update soon as well as some new features. Cheers -JG Quote
jgcode Posted May 23, 2010 Author Report Posted May 23, 2010 LVOOP Theme Creator v2.0 is now available Along with the fix for non-saved classes in memory there are some new features which include: Support for Text Layers: <object id="scPlayer" width="918" height="745"> <param name="movie" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/82032650-7a63-4b9c-94cf-2adec45f5976/jingswfplayer.swf"></param>'>http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/82032650-7a63-4b9c-94cf-2adec45f5976/jingswfplayer.swf"></param> <param name="quality" value="high"></param> <param name="bgcolor" value="#FFFFFF"></param> <param name="flashVars" value="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/82032650-7a63-4b9c-94cf-2adec45f5976/FirstFrame.jpg&containerwidth=918&containerheight=745&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/82032650-7a63-4b9c-94cf-2adec45f5976/LVOOP%20Theme%20Creator%20-%20Text.swf"></param> <param name="allowFullScreen" value="true"></param> <param name="scale" value="showall"></param> <param name="allowScriptAccess" value="always"></param> <param name="base" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/82032650-7a63-4b9c-94cf-2adec45f5976/"></param>'>http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/82032650-7a63-4b9c-94cf-2adec45f5976/"></param> <embed src="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/82032650-7a63-4b9c-94cf-2adec45f5976/jingswfplayer.swf" quality="high" bgcolor="#FFFFFF" width="918" height="745" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/82032650-7a63-4b9c-94cf-2adec45f5976/FirstFrame.jpg&containerwidth=918&containerheight=745&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/82032650-7a63-4b9c-94cf-2adec45f5976/LVOOP%20Theme%20Creator%20-%20Text.swf" allowFullScreen="true" base="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/82032650-7a63-4b9c-94cf-2adec45f5976/" scale="showall"></embed> </object> Support for Icon Preview: <object id="scPlayer" width="918" height="745"> <param name="movie" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/9228f211-ac27-43ba-9fff-95219c65a83e/jingswfplayer.swf"></param>'>http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/9228f211-ac27-43ba-9fff-95219c65a83e/jingswfplayer.swf"></param> <param name="quality" value="high"></param> <param name="bgcolor" value="#FFFFFF"></param> <param name="flashVars" value="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/9228f211-ac27-43ba-9fff-95219c65a83e/FirstFrame.jpg&containerwidth=918&containerheight=745&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/9228f211-ac27-43ba-9fff-95219c65a83e/LVOOP%20Theme%20Creator%20-%20Select%20Layer.swf"></param> <param name="allowFullScreen" value="true"></param> <param name="scale" value="showall"></param> <param name="allowScriptAccess" value="always"></param> <param name="base" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/9228f211-ac27-43ba-9fff-95219c65a83e/"></param>'>http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/9228f211-ac27-43ba-9fff-95219c65a83e/"></param> <embed src="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/9228f211-ac27-43ba-9fff-95219c65a83e/jingswfplayer.swf" quality="high" bgcolor="#FFFFFF" width="918" height="745" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/9228f211-ac27-43ba-9fff-95219c65a83e/FirstFrame.jpg&containerwidth=918&containerheight=745&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/9228f211-ac27-43ba-9fff-95219c65a83e/LVOOP%20Theme%20Creator%20-%20Select%20Layer.swf" allowFullScreen="true" base="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/9228f211-ac27-43ba-9fff-95219c65a83e/" scale="showall"></embed> </object> Support for Transparency: <object id="scPlayer" width="918" height="745"> <param name="movie" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/42319188-fc32-4594-be68-12b62e7f0267/jingswfplayer.swf"></param>'>http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/42319188-fc32-4594-be68-12b62e7f0267/jingswfplayer.swf"></param> <param name="quality" value="high"></param> <param name="bgcolor" value="#FFFFFF"></param> <param name="flashVars" value="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/42319188-fc32-4594-be68-12b62e7f0267/FirstFrame.jpg&containerwidth=918&containerheight=745&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/42319188-fc32-4594-be68-12b62e7f0267/LVOOP%20Theme%20Creator%20-%20Transparency.swf"></param> <param name="allowFullScreen" value="true"></param> <param name="scale" value="showall"></param> <param name="allowScriptAccess" value="always"></param> <param name="base" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/42319188-fc32-4594-be68-12b62e7f0267/"></param>'>http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/42319188-fc32-4594-be68-12b62e7f0267/"></param> <embed src="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/42319188-fc32-4594-be68-12b62e7f0267/jingswfplayer.swf" quality="high" bgcolor="#FFFFFF" width="918" height="745" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/42319188-fc32-4594-be68-12b62e7f0267/FirstFrame.jpg&containerwidth=918&containerheight=745&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/42319188-fc32-4594-be68-12b62e7f0267/LVOOP%20Theme%20Creator%20-%20Transparency.swf" allowFullScreen="true" base="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/42319188-fc32-4594-be68-12b62e7f0267/" scale="showall"></embed> </object> Please let me know if you have any feedback! Cheers -JG 2 Quote
jgcode Posted May 29, 2010 Author Report Posted May 29, 2010 but there is a type in your UI for the theme creator. The "s" has been left out of the "transparent" checkox caption. Hi Neil Do you mean typo? Thanks for that (I am pedantic too) - good pickup! I just wanted something fast to be able to set up the basics for a Class icon. Obviously anything complex I will go to the Icon Editor because that rocks. I am glad you like the look of it. My intention was to support Icon Layers, unfortunately these only exist in 2009! Quote
jgcode Posted June 26, 2010 Author Report Posted June 26, 2010 Changelist: 2.6-1 2010 06 28 - Fixed (): Classes as Sub-Libraries caused error as Namespace was incorrect Damn! forgot about Neil's post, have done that now - for next release Quote
Daklu Posted June 27, 2010 Report Posted June 27, 2010 Hmm... the theme creator needs the icon editor api package v2.0, but apparently I'm too stupid to find it. Can I have a hint? Quote
jgcode Posted June 27, 2010 Author Report Posted June 27, 2010 Hmm... the theme creator needs the icon editor api package v2.0, but apparently I'm too stupid to find it. Can I have a hint? Yes Installation and instructions:Install package using VIPM. *Ensure that the x.vi does not already exist as a quick drop plugin, if so you will have to manual manipulate the install. VIPC file included for dependencies (list only), repackaged Icon Editor API included as package .How's that? So its in the .zip version not the package version downloadable. But you can get it here from my post too Cheers! -JG. If you have any feedback to make this better please let me know too. I would be very interested in what you think. Quote
Daklu Posted June 28, 2010 Report Posted June 28, 2010 VIPC file included for dependencies (list only), repackaged Icon Editor API included as package. How's that? I tried... I really did... For the life of me I can't figure out how to parse that to mean, "download the zip file if you don't have the dependency." But like I said, I'm a little slow. So its in the .zip version not the package version downloadable. Are you sure about that? But you can get it here from my post too Ahhhhh... better. If you have any feedback to make this better please let me know too. I would be very interested in what you think. Me? I don't ever have opinions... Quote
jgcode Posted June 28, 2010 Author Report Posted June 28, 2010 I tried... I really did... For the life of me I can't figure out how to parse that to mean, "download the zip file if you don't have the dependency." But like I said, I'm a little slow. LAVA keeps getter cooler, and with the recent upgrade, you can now upload multiple files to the LAVA CR. Before the rules were to upload a .zip contain XYZ. The upgrade allows you to post a package (.opg/.vip) version too! The first time I have done this is with this project the other day so the readme is actually referring to the .zip (and I may need to brush up on my grammer if it now contains artifacts that are now confusing). VIPC file included for dependencies (list only), repackaged Icon Editor API included as package Are you sure about that? Yes, very I think I am assuming you (and others) are familiar with VIPM nomenclature (and my interpretation of it)? So I will parse this string: Dependencies are what you need to install with the package to make sure its not broken (simple really) The .vipc file contains a list of dependencies By this I mean the dependent packages are listed by name but are not physically inside the .vipc file. However, in this case, the exception is the Icon Editor API package My logic is that some files are easy to get to (through the VI Package Network) and some are harder to get access to (e.g. Icon Editor API you would have to go to the post) So I include the harder ones in the .vipc file as a physical package - as I think this is generally easier for the user. Now not to confuse issues, in this project I have now included all other reuse VIs internally in the code (by namespacing them etc...) so the .vipc file will only include the single Icon Editor API dependency: Dependencies:jgcode_rpk_ni_icon_editor_api>=2.0 Actually I would rather have no dependencies at all, the reason for this, in this case, is that NI's Icon Editor API calls VIs outside of symbolic paths (e.g. vi.lib). This means that if you move code (i.e namespace and include with your own release/project code) all linkages will break! The workaround is to get the user to install the package separately. *** Also here is an example what I am talking about, and what the .vipc file would look like: When the file is opened in VIPM you can see that there is an package-glyph associated with one item and no-glyph associated with the other item. So the package-glyph means that physically that package is in the .vipc file, the no-glyph meast you need to BYO All you need to do is Tools>>Apply Package Configuration to install the files. Hope that makes sense? Quote
Daklu Posted June 28, 2010 Report Posted June 28, 2010 By this I mean the dependent packages are listed by name but are not physically inside the .vipc file. However, in this case, the exception is the Icon Editor API package I see it now. I've evaluated VIPM configuration files and like the feature, but since I don't work with them regularly it didn't even occur to me to try applying the configuration. (Had I noticed the vipc file's size I might have figured it out.) My logic is that some files are easy to get to (through the VI Package Network) and some are harder to get access to (e.g. Icon Editor API you would have to go to the post) So I include the harder ones in the .vipc file as a physical package - as I think this is generally easier for the user. Can't dispute your reasoning. Curious, why didn't you put the Theme Creator package in the vipc file? I have now included all other reuse VIs internally in the code I noticed that in the changelist. Thanks! Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.