Me, again - few different questions, and, will number them for reference.
1. Ok, firstly, if I have the controlID for a GUI element on record - presume these stay the same across sessions, most of the time - then, how would I retrieve an instance of an NVDA object based on this controlID?
As in, is this doable?
What I mean is, could I use the controlID value to retrieve an object similar to what gets retrieved by api.getNavigatorObject() an api.getFocusObject(), or is there some other preferred method for retrieving instances of specific objects?
2. Secondly, presume that depending on the type of element, the obj.doAction() function will do something like perform a mouse-click on a button/menu item, or open up a drop-down, and, obj.setFocus() would, obviously, do something like set focus to a text entry field?
3. If I want to automate forms of text entry, I can use something
like api.copyToClip(), followed by emulating a ctrl+V keystroke,
but, would it be better to rather do something like the following,
for example, to type in a single character, almost as if the user
was doing it themselves?
gesture = keyboardHandler.KeyboardInputGesture.fromName("a")
As in, the above two lines of code do seem to enter the letter a into a text field, but, if a menu had focus, would it then more or less perform the keypress of the letter a, to then possibly activate a sub-menu, or menu item bound to the letter a?
If I then used something like the above two lines of code to
enter a single character, but, wanted to enter a whole string,
would this then still be the best way to handle it, using a form
of loop through the whole string to be entered, or should I then
use a different method/means, or use the clipboard approach?
4. How simple is it to, at run time, bind an event to a specific element, again based on something like a controlID, or would this need to be included in code before-hand, and if so, what's the specific syntax for that? As in, do I perform a check against controlID or name before then executing code, based on the event_ syntax - purely a sample here:
def event_gainFocus(self, obj, nextHandler):
#do something here
Thanks for any feedback
+2782 413 4791
"...resistance is futile...but, acceptance is versatile..."