Main Content

Callback Button

Execute MATLAB code using button with customizable appearance

  • Library:
  • Simulink / Dashboard / Customizable Blocks

  • Callback Button block

Description

The Callback Button block executes MATLAB® code in response to a click or button press. You can specify separate code to execute for a click and a press. When you specify code to execute in response to a press, you can configure the block to execute the code at a specified rate while the button is pressed. When you use the Callback Button block from the Customizable Blocks library, you can also customize the appearance of the block to look like a button in your real system.

The Callback Button block executes the code for a click when you release the left mouse button with the cursor on the Callback Button. The code for a press executes when you click the Callback Button and hold for the specified Press Delay.

Double-clicking the Callback Button block does not open its dialog box during simulation or when the block is selected. To edit the block parameters, you can use the Property Inspector or open the block dialog box by:

  • Double-clicking the block when the block is not selected and the model is not simulating.

  • Right-clicking the block and selecting Block Parameters from the context menu.

Customize Callback Button Blocks

When you add a Callback Button block to your model, the block is preconfigured with a default design. You can use the block with the default design or customize the appearance of the block. When you design a Callback Button block, you configure the block appearance for each possible state. When you configure the Block Type as Momentary, the block has two states, and when you configure the Block Type as Latch, the block has four. For each state, you can:

  • Add an image that defines the appearance of the block in that state.

  • Specify text for the button label and configure its color and position within the block.

  • Add an icon and specify the position of the icon relative to the label.

When you want an aspect of the block, such as the label text or color, to indicate the state of the block, configure that aspect of the design differently for each state. When you want an aspect of the block to remain the same for all states, configure that aspect of the block design so it is the same for all states.

You can also design the block background and foreground, which apply for all states. To configure the foreground for the block, upload a foreground image. To configure the background for the block, you can upload a background image or use a solid background color.

To customize the appearance of the block, use design mode. You can enter design mode in one of three ways after selecting the block:

  • On the Button tab, under Design, click Edit.

  • In the Property Inspector, on the Design tab, click Edit Design.

  • Pause on the ellipsis that appears above the block and click the Edit Custom Block button.

Design mode gives you access to block parameters and settings that allow you to customize the appearance of the block. You can use the toolbar above the block to configure the image, the icon, and the label color and opacity for each state. For more customization options, use the Design tab in the Property Inspector.

Callback Button block in design mode with the toolbar and the Design tab in the Property Inspector visible.

When you finish designing the button, click Exit in the upper-right of the canvas to exit design mode.

Parameters

expand all

Specify how the block responds to a click.

  • Momentary — The button changes state only while pressed. When you release the mouse, the button returns to its default state.

  • Latch — The button latches the state change when clicked. The button remains in the pressed state until you click it again.

When you configure Button Type as Momentary, the block has these states:

  • Default — Default state for the block when it is not pressed

  • Pressed — Block state when the block is pressed

When you configure Button Type as Latch, the block has these states:

  • Default — Default state for the block when it is not pressed.

  • Pressed — Transitional state when you press the button while it is in the Default state. The block transitions to the Latched state when you release the mouse.

  • Latched — Latched state for the block when it is not pressed.

  • Latched and Pressed — Transitional state when you press the button while it is in the Latched state. The block transitions to the Default state when you release the mouse.

Text label for the button. When you want the button to have the same label text for all states, specify the text using the Button Text parameter. To specify a different button label for each state, use the Design tab.

Mouse action that causes the MATLAB code to execute.

  • Select ClickFcn to view and edit the code that executes when the Callback Button block is clicked.

  • Select PressFcn to view and edit the code that executes when the button is pressed.

MATLAB code that executes in response to the mouse action.

Dependencies

The MATLAB code displayed depends on the Mouse Action parameter selection.

  • Select ClickFcn to view and edit the code that executes when the Callback Button block is clicked.

  • Select PressFcn to view and edit the code that executes when the button is pressed.

Amount of time required to cause the PressFcn code to execute.

Dependencies

Press Delay (ms) is visible only when PressFcn is selected as the Mouse Action.

Time interval after which the PressFcn code executes again if the Callback Button block is still pressed.

Dependencies

Repeat Interval (ms) is visible only when PressFcn is selected as the Mouse Action.

Block Characteristics

Data Types

Direct Feedthrough

no

Multidimensional Signals

no

Variable-Size Signals

no

Zero-Crossing Detection

no

Tips

To design a button that changes the value of a variable or parameter in your model, use the Push Button block.

Extended Capabilities

Introduced in R2021b