Please explain inconsistent use of parameters within UI handle function calls.

1 view (last 30 days)
In the code below, there are two UI calls which require function handles. 'fig' and 'myQuititem' are objects. In the fig.CloseRequestFcn call two parameter are passed along with the function handle just after the @ and the function definition below does not require a parameter list. In the myQuitItem.MenuSelectedFcn call, no parameters are passed after the @, but the function definition absolutely requires two parameters 'src' and 'event'. The is very confusing. Why the two different ways of passing parameters? What is different between these two methods? These are both nested functions and so the object 'fig' is available to both functions, but what if they were not nested? How would you pass the object fig to the functions?
  8 Comments
Steven Lord
Steven Lord on 28 Mar 2020
While
methods uifigure
won't work because as you said uifigure is a function that returns an object not a class itself, methods can accept an object as input and will return the methods of the class of that object.
methods(uifigure)
The command form passes the text 'uifigure' into methods while the function form passes the object returned by calling uifigure into methods.

Sign in to comment.

Answers (0)

Categories

Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!