Just to clear this up:
Aeal: Your plugin isn't really well designed. It's the same thing that deadeye suggested, it's just an object with private variables - so that doesn't make a lot of sense. I could use a sprite, use my own icon and fill it with a private variable.
What I was thinking about is a local variable that's based on your layout. So you'd be able to click on your project and set global variables and you'd be able to click on each layout and set local (layout) variables.
Rich: A workaround is not just something you do in order to steer around a bug. A workaround is also a solution you use, because a certain feature that you want is not implemented in the application yet - so you come up with your own little idea that might work, cause the program is complex enough.
I'll give you one example - In Maya, you were never really able to store assets properly. So people just started creating 'groups' and deleting all the shit in it, so they ended up with a completely empty node and filled that node up with custom attributes (like private variables) - tada, we got an asset node.
Now, in a recent release, Autodesk actually created a feature called 'assets' that handles this for you without the workaround that's using empty nodes and it's a lot more comfortable because it aids the user as well. It's easier to set-up, it's easier to organize, it is its own entity specifically designed for a certain task that users used all the time anyway - but they had to fake a method up until that point.
We have global variables. If I have 300 levels and I want to use a variable for each level to control a certain event, I could just use a layout variable and wouldn't have to clutter up my global variables.
[quote:31h9775w]The only caveat is that initial values for hash tables/array can't be set; this can be remedied via some very simple additions to the SDK. If a dev wants to take it on I can send them the sources for either.
I'd fucking love that!