Button press emulation matlab

6 views (last 30 days)
Namita Gera
Namita Gera on 5 Apr 2022
Edited: Namita Gera on 12 Apr 2022
Button press
  2 Comments
Walter Roberson
Walter Roberson on 5 Apr 2022
Do you need it to emulate clicking on a control that you have created, and no decoration is fine (activity is just triggered)? Or does it need to emulate mouse tracking and visible clicking on a control that you have created? Or does it need to emulate typing within the things you have designed? Or does it need to be able to interact with elements outside of what you have designed (e.g., controlling an external tetris game) ?
Adam Danz
Adam Danz on 6 Apr 2022
@Namita Gera, in response to your PM, I would recommend what @Walter Roberson describes in the answer below. Pressing a button evokes the button's callback function. So each button should be assigned a callback function. You could either assign a different callback fcn to each button or assign the same callback fcn to all of the buttons and use inputs to decide which button was pressed.
There is an app testing framework that can simulate button presses but it would be much easier and more efficient to call the callback function directly. If you wanted to visually simulate the button-press so the user sees which button was selected, you could temporarily change the button color for 0.2 sec or so.

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 5 Apr 2022
Each button has an associated Callback property. To emulate pushing a button, have the program create a fake event structure (if needed) and call the stored Callback .
  8 Comments
Walter Roberson
Walter Roberson on 8 Apr 2022
eligible = find(ismember[app.Button_.Enable], "on"));
Namita Gera
Namita Gera on 11 Apr 2022
Thank you very much worked in the end.

Sign in to comment.

Categories

Find more on Graphics Object Programming in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!