Objectaction options

The objectaction help page says “Different types of objects understand different types of commands.” But it doesn’t mention how to find them.

I’ve been searching in vain for some time to find the list of options for any object. For example, I read through the Text Editor Object page but couldn’t find what I needed there.

(For example, I couldn’t find the objectaction “name”, “open” statement I needed to give focus to a TEO. Finally came across it in a forum topic.)

Sorry if I’m missing something obvious.

The best source for this stuff is Gary.

Seriously, while the documentation if voluminous, it will never be complete and the best source for this esoteric stuff is the forum where an ol’ timer will dig it out of the Panorama hard copy documentation from back when.

As far as I know, there is no comprehensive list of what actions can be sent to various objects. But I compiled the ones I have discovered for TextEditor objects:

Commands You can send to a text editor

The following commands can be sent to a text editor and will be recognized. There are certainly others that I have not discovered. Suppose you have a text editor named “TE”. Anything beginning with lv is my designation for a local variable name.

objectaction “TE”, “open” This statement opens the text editor, the same as clicking on it.

objectaction “TE”, " “close” This statement closes an open text editor. If not open, an error occurs.

objectaction “TE”, "cut " This statement removes the selected text from the text editor and places it t we on the clipboard.

objectaction “TE”, “copy” This statement copies the selected to the text to the clipboard.

objectaction “TE”, “paste” This statement pastes the text on the clipboard into the text editor if it is open. The paste will appear at the insertion point or, if no select point has been made, at the end of the text. If not open, and error will occur.

objectaction “TE”, “clear” This statement removes the selected text from the text editor. If the text editor is not open, an error occurs. If the text editor is open but nothing is selected, the statement does nothing.

objectaction “TE”, “getselection”,lvstart,lvend This statement gets the starting and ending positions of the selected text and assigns them to the variables. If the text editor is not open, an error occurs. If it is open but nothing is selected, the statement will return the position of the cursor for both start and end. Note, the first character of the text is in the zero position.

objectaction “TE”, “setselection”,lvstart,lvend This statement will select the text from the starting position to the ending position. If the text editor is not open, an error occurs. If the starting and ending positions are the same, the cursor moves to that position. If the selection is beyond the length of the text, the cursor will move to the end of the text. Note, the first character of the text is in the zero position.

objectaction “TE”, “gettext”, lvtext This statement gets the entire text of the text editor and places it in the variable. If the text editor is not open, an error occurs.

objectaction “TE”, “settext”, lvtext This statement replaces the text in the text editor with the text in the variable. If the text editor is not open, an error occurs.

objectaction “TE”, “inserttext”, lvtext This statement inserts the text at the insertion point in the text editor. If the text editor is not open, an error occurs.

objectaction “TE”, “getselectedtext”, lvtext This statement gets the selected text and places it in the variable. If the text editor is not open, an error occurs.

1 Like

You can get information about the commands that Panorama 6 recognized for some of the SuperObjects that have transferred to Panorama X by downloading the “Formulas & Programming.pdf” file from the ProVUE site. The download link is found on the Panorama Classic FAQ page under the “Where can I download Panorama 6 Documentation?” heading which also includes all the other Panorama 6 documentaion available for downloading.

Once downloaded you will find the information in Chapter 3: Programming Techniques/Program Control of SuperObjects. Note that not all commands work with the Panorama X related objects so you will have to experiment as Tom has done above. I know there have been one or two new commands that Jim has mentioned on this forum that now work with other Panorama X objects.

Thanks for this list Tom. Unfortunately, I have not had time to properly document the object action options, it will get done eventually.

No problem, Jim, you have plenty to do, especially with getting the server out. Thanks so much for that huge milestone!!
And thank you all for your very helpful feedback.

I just wonder if this might be an opportunity for us to add a page or two to the documentation. We have a great list here of TE actions, for instance, to start with. However, I am not familiar with the documentation update cycle. I was able to submit one small update, and it’s great that we can have crowd-sourced documentation, but when do these submissions appear? Only when the next version of Panorama is released? And perhaps we cannot ADD pages anyway, we would need stubs to make submissions to.

Would it help to have us adding these kind of lists? Or perhaps this forum serves that purpose best, as help like this can be found with diligent searching.

Thanks again to everyone!

Submissions go into a queue. I periodically review this queue and decide how to handle each submission. I probably fully accept 90% of the submissions, about 3% are not accepted (some submissions may be incorrect) and about 7% I accept but with some modification. (These are all “guesstimates”, but I think are pretty close.) Occasionally I will leave an item in the queue, there are a handful that have been waiting for months or even years (out of nearly 3,000).

Once I accept a submission the change is immediately visible in the web version of the documentation, but the version in the Help menu in Panorama won’t change until the next release of Panorama. I won’t publish a new version just for help changes, so it can take days, weeks or even months for a change to make it into the help in the app.

Correct, new pages can only be added using the internal master database that is used to edit and build the help system.

The list that Tom posted is all from the Panorama 6 documentation. The items on that list all work the same as they did in Panorama 6. There are a few new commands that aren’t documented anywhere except in the source code. I think there may be some Panorama 6 commands that do not work in Panorama X, but Tom didn’t include those (perhaps he discovered this by accident). Ultimately I will have to go thru the source code to compile definitive documentation on this topic.