410 relevant articles found:

Matlab toolstrip – part 9 (popup figures)

In previous posts I showed how we can create custom Matlab app toolstrips using various controls. Today I will show how we can incorporate popup forms composed of Matlab figures into our Matlab toolstrip. These are similar in concept to drop-down and gallery selectors, in the sense that when we click the toolstrip button a custom popup is displayed. In the case of a popup form, this is a fully-customizable Matlab GUI figure.

Popup figure in Matlab toolstrip

Toolstrips can be a bit complex to develop so I’m proceeding slowly, with each post in the miniseries building on the previous posts. Continue reading

Categories: Figure window, GUI, High risk of breaking in future versions, Java, Undocumented feature
Tags: , , , ,
Leave a comment

Matlab toolstrip – part 8 (galleries)

In previous posts I showed how we can create custom Matlab app toolstrips using various controls (buttons, checkboxes, drop-downs, lists etc.). Today I will show how we can incorporate gallery panels into our Matlab toolstrip.

Toolstrip Gallery (in-line & drop-down)

Toolstrips can be a bit complex to develop so I’m proceeding slowly, with each post in the miniseries building on the previous posts. I encourage you to review the earlier posts in the Toolstrip miniseries before reading this post.
Continue reading

Categories: Figure window, GUI, High risk of breaking in future versions, Undocumented feature
Tags: , , ,
5 Comments

Matlab toolstrip – part 7 (selection controls)

In previous posts I showed how we can create custom Matlab app toolstrips using controls such as buttons, checkboxes, sliders and spinners. Today I will show how we can incorporate even more complex selection controls into our toolstrip: lists, drop-downs, popups etc.

Toolstrip SplitButton with dynamic popup and static sub-menu

Toolstrip SplitButton with dynamic popup and static sub-menu

Toolstrips can be a bit complex to develop so I’m proceeding slowly, with each post in the miniseries building on the previous posts. I encourage you to review the earlier posts in the Toolstrip miniseries before reading this post.
Continue reading

Categories: Figure window, GUI, High risk of breaking in future versions, Undocumented feature
Tags: , , ,
6 Comments

Matlab toolstrip – part 6 (complex controls)

In previous posts I showed how we can create custom Matlab app toolstrips using simple controls such as buttons and checkboxes. Today I will show how we can incorporate more complex controls into our toolstrip: button groups, edit-boxes, spinners, sliders etc.

Some custom Toolstrip Controls

Toolstrips can be a bit complex to develop so I’m proceeding slowly, with each post in the miniseries building on the previous posts. I encourage you to review the earlier posts in the Toolstrip miniseries before reading this post.
Continue reading

Categories: Figure window, GUI, High risk of breaking in future versions, UI controls, Undocumented feature
Tags: , , ,
4 Comments

Matlab toolstrip – part 5 (icons)

In a previous post I showed how we can create custom Matlab app toolstrips. Toolstrips can be a bit complex to develop so I’m trying to proceed slowly, with each post in the miniseries building on the previous posts. I encourage you to review the earlier posts in the Toolstrip miniseries before reading this post. Today’s post describes how we can set various icons, based on the toolstrip created in the previous posts:

Toolstrip example (basic controls)

Toolstrip example (basic controls)


Continue reading

Categories: GUI, High risk of breaking in future versions, Java, Undocumented feature
Tags: , , , ,
Leave a comment

Matlab toolstrip – part 4 (control customization)

In a previous post I showed how we can create custom Matlab app toolstrips. Toolstrips can be a bit complex to develop so I’m trying to proceed slowly, with each post in the miniseries building on the previous posts. I encourage you to review the earlier posts in the Toolstrip miniseries before reading this post. In today’s post we continue the discussion of the toolstrip created in the previous post:

Toolstrip example (basic controls)

Toolstrip example (basic controls)

Today’s post will show how to attach user-defined functionality to toolstrip components, as well as some additional customizations. At the end of today’s article, you should be able to create a fully-functional custom Matlab toolstrip. Continue reading

Categories: Figure window, GUI, High risk of breaking in future versions, UI controls, Undocumented feature
Tags: , , , , ,
Leave a comment

Reverting axes controls in figure toolbar

I planned to post a new article in my toolstrip mini-series, but then I came across something that I believe has a much greater importance and impacts many more Matlab users: the change in Matlab R2018b’s figure toolbar, where the axes controls (zoom, pan, rotate etc.) were moved to be next to the axes, which remain hidden until you move your mouse over the axes. Many users have complained about this unexpected change in the user interface of such important data exploration functionality:

R2018a (standard toolbar)

R2018a (standard toolbar)

R2018b (integrated axes toolbar)

R2018b (integrated axes toolbar)

Luckily, we can revert the change, Continue reading

Categories: Figure window, High risk of breaking in future versions, Undocumented feature
Tags: , , ,
5 Comments

Matlab toolstrip – part 3 (basic customization)

In the previous post I showed how we can create custom Matlab apps. In such apps, the toolstrip is very often an important part. Today I continue my miniseries on toolstrips. Toolstrips can be a bit complex so I’m trying to proceed slowly, with each post in the miniseries building on the previous posts. So I encourage you to review the earlier posts in the miniseries (part1, part2) before reading this post.

A Matlab toolstrip is composed of a hierarchy of user-interface objects as follows (all objects are classes within the matlab.ui.internal.toolstrip package):

Anatomy of a Matlab app with toolstrip

Anatomy of a Matlab app with toolstrip

  • TabGroup
    • Tab
      • Section
        • Column
          • Component
            • Component
          • Column
        • Section
      • Tab
    • TabGroup

    In this post I explain how we can create a custom toolstrip that contains tabs, sections, and basic controls that interact with the user and the docked figures. The following posts will show more advanced customizations and more complex controls, as well as showing alternative ways of creating the toolstrip.

    Continue reading

    Categories: Figure window, GUI, High risk of breaking in future versions, Undocumented feature
    Tags: , , ,
    17 Comments

    Matlab toolstrip – part 2 (ToolGroup App)

    A while ago I posted the first of my planned miniseries on the Matlab toolstrip (ribbon). Today I will expand that post by discussing how toolstrips can be added to Matlab GUIs. This post will remain at a high-level as the previous post, with followup posts drilling into the technical details of the toolstrip components (inner packages and classes).

    We can add a Matlab toolstrip to 3 types of Matlab GUI windows:

    1. To a Java-based Matlab figure (so-called “legacy” figures, created using GUIDE or the figure function)
    2. To a container window of docked Java-based figures, typically called an “App” (marketing name) or “Tool Group” (internal technical name)
    3. To a JavaScript/HTML-based Matlab figure (so called “web” figures, created using App Designer or the uifigure function)

    Today I will show how to add a basic dynamic toolstrip to a ToolGroup (App, window type #2):

    ToolGroup with clients and dynamic toolstrip

    ToolGroup with clients and dynamic toolstrip


    Continue reading

    Categories: Desktop, Figure window, GUI, High risk of breaking in future versions, Java, Undocumented feature
    Tags: , , , ,
    7 Comments

    Matlab toolstrip – part 1

    The Matlab toolstrip (ribbon) has been around officially since R2012a, and unofficially for a couple of years earlier. Since then, I blogged about the toolstrip only rarely (example). I believe the time has come to start a short mini-series about this functionality, eventually showing how users can use toolstrips in their own custom applications.

    My plan is to start the miniseries with a discussion of the built-in showcase examples, followed by a post on the built-in classes that make up the toolstrip building-blocks. Finally, I’ll describe how toolstrips can be added to figures, not just in client/tool groups.

    Matlab’s internal showcase examples

    I start the discussion with a description of built-in examples for the toolstrip functionality, located in %matlabroot%/toolbox/matlab/toolstrip/+matlab/+ui/+internal/+desktop/. The most important of these are showcaseToolGroup.m and showcaseMPCDesigner.m, both of which use Java-based (Swing) containers and controls. Readers who wish to integrate toolstrips into their app immediately, without waiting for my followup posts in this series, are welcome to dig into the examples’ source-code and replicate it in their programs:

    1. showcaseToolGroup
    h = matlab.ui.internal.desktop.showcaseToolGroup

    showcaseToolGroup built-in example

    Continue reading

    Categories: Desktop, GUI, High risk of breaking in future versions, Semi-documented feature
    Tags: , , ,
    2 Comments