Creating Graphical User Interfaces    

Example: Passing Data Between Callbacks

This example demonstrates how to use the handles structure to pass data between callbacks. The example passes data between a slider and an editable text box in the following way:

The following figure shows the GUI with a static text field above the edit text box.



Defining the Data Fields in the Opening Function

The GUI records the number of times a user enters an erroneous value in the text box and stores this number in a field of the handles structure. You can define this field, called number_errors, in the opening function as follows:

Type this command before the following line, which GUIDE automatically inserts into the opening function.

The guidata command saves the handles structure so that it can be retrieved in the callbacks.

Setting the Edit Text Value from the Slider Callback

The following command in the slider callback updates the value displayed in the edit text when a user moves the slider and releases the mouse button.

The code combines three commands:

Setting the Slider Value from the Edit Text Callback

The edit text callback sets the slider's value to the number the user types in, after checking to see if it is a single numeric value between 0 and 1. If the value is out of range, then the error count is incremented and the edit text displays a message telling the user how many times they have entered an invalid number.

If the user types a number between 0 and 1 in the edit box and then clicks outside the edit box, the callback sets handles.slider1 to the new value and the slider moves to the corresponding position.

If the entry is invalid - for example, 2.5 - the GUI increments the value of handles.number_errors and displays a message like the following:


  Managing GUI Data with the Handles Structure Application Data