Jump to content
jgcode

[LVTN] LVOOP Assistant

Recommended Posts

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>

Share this post


Link to post
Share on other sites

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

  • Like 1

Share this post


Link to post
Share on other sites

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>

Share this post


Link to post
Share on other sites

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.

  • Like 1

Share this post


Link to post
Share on other sites

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 wub.gif

(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:

post-10325-127233105283_thumb.png

</edit>

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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>

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

  • Like 1

Share this post


Link to post
Share on other sites

I moved it to the Quick Drop Plugins category as requested.

Mark

Kudos!

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

  • Like 2

Share this post


Link to post
Share on other sites

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? tongue.gif

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!

Share this post


Link to post
Share on other sites

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 :(

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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? wink.gif

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.

Share this post


Link to post
Share on other sites

VIPC file included for dependencies (list only), repackaged Icon Editor API included as package.

How's that? wink.gif

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." wacko.gif 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?

post-7603-006295900 1277683602_thumb.png

But you can get it here from my post too

Ahhhhh... better. wub.gif

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...

Share this post


Link to post
Share on other sites

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." wacko.gif 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:

post-10325-085706700 1277687626_thumb.pn

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.

post-10325-008440600 1277688333_thumb.pn

Hope that makes sense?

Share this post


Link to post
Share on other sites
  • 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!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.