From my PM reply:
Wow, that's a lot of questions, and they're all great.
Let me answer how to load variables first.
This is the default "simple" parameters action. If you put "all" in the second field, you'll get all your global variables. If you put "all" in the third field, you'll get all your dictionaries. So you don't have to use the Options screen to load variables. I added the buttons to the option screen, just so I didn't have to go back and change the parameters.
Regarding the "(X)" numbers, hover your cursor over them, and after a few seconds, a tooltip should pop up. If it doesn't, read on.
By the way, if anything in the window doesn't appear to be working right, for instance, no popup tooltips, or no "hover" color change on the tool buttons, or the mouse pointer doesn't change to the "resize" pointer, stop the KM Engine and restart it. This is a known bug with... something. Peter doesn't think it's a KM issue, he thinks it's a Webkit issue. I don't have any idea, but I know that restarting the KM Engine seems to fix it.
And that may be the answer to your scrolling issue, I don't know. But whatever is causing it, it's not under my control. That's just a web element.
Total variable size and percent is a reasonable request. I'll see what I can do.
Regarding HTML view, do you mean you want the HTML to actually display web elements, like in a web page, or are you just talking about reformatting it?
Regarding changing variables, any changes you make to any variables or dictionaries takes place immediately. The OK and Cancel buttons are only there when the prompt is running synchronously, so you can either continue the current macro, or cancel it. And if it gets changed by another macro, I can't detect that.
And before you ask how to run the prompt Asynchronously, take a look at the #25 and #30 macros. They use the "advanced parameters" actions, which you can use in place of the more simple parameters actions any time you want. The only real advantage of running it Asynchronously is that the macro that launched the inspector can quit, so the Engine is doing a little less work. And the KM icon doesn't flash in the menu bar.
Hmm, it seems your code has to have some sort of "JSON detection" algorithm. Interesting.
There's a JavaScript routine to convert a string to JSON, so I just try it on each variable, and if it doesn't fail, then it's JSON. I don't know if Peter stores dictionaries as JSON or not - probably not. But yes, the formats are basically the same.
To be honest, I don't understand how you can see or edit Local variables. They are usually very temporary. They shouldn't even exist when the Engine is not running. I'm not sure how they (or Instance variables?) show up in the list at all. How would you even edit something that's supposed to be local to a KM macro?
It's actually no different than being able to access them in a Prompt for User Input action. As long as the prompt is running synchronously - in other words, the macro pauses while the prompt is being displayed - I can access the variables and change their values, just like a Prompt for User Input does.
Regarding the buttons for loading Local, Global, and Dictionaries, they just mirror what the parameters are in the actions that launch the Inspector.
Regarding filtering Dictionaries, JSON, or regular variables, I'll have to think about that. Maybe I can modify the Filter field somehow, I'll see.
Thanks for the kind words. I did mention "and Dictionary Editor" in the topic of the original post, but I couldn't figure out any way of making it clear, and not being confusing.
Let me know if I missed answering any questions. I'm guessing you'll have other questions as we go along.