Добавьте предзаполненную пользовательскую вкладку в панель инструментов Simulink

Этот пример обеспечивает resources содержание папки для предзаполненной пользовательской вкладки. Когда вы добавляете пользовательские вкладки в Simulink® Toolstrip, вы можете найти изменение предзаполненной вкладки легче, чем начиная с пустой вкладки.

Пользовательская вкладка обеспечивает одно местоположение для действий, которые вы чаще всего используете. Используйте пользовательские вкладки, чтобы собрать встроенные действия, которые охватывают несколько вкладок на Панели инструментов по умолчанию, таких как кнопки Open и Model Advisor. В то время как этот пример фокусируется на действиях Simulink, можно также добавить действия от других продуктов до пользовательской вкладки, таких как кнопка Build от Simulink Coder™. Если вам не установили продукт или не имеете лицензии на продукт, встроенные действия от того продукта появляются как пустые кнопки на пользовательской вкладке.

Пользовательские вкладки также поддерживают пользовательские действия. В этом примере кнопка MathWorks Website использует пользовательское действие, заданное скриптом.

Предзаполненная пользовательская вкладка обеспечивает один или несколько примеров каждого типа управления, которое поддерживают пользовательские вкладки.

  • Кнопка New является выпадающей кнопкой, которая расширяется, чтобы показать дополнительные элементы в раскрывающемся списке.

  • Кнопка Open является кнопкой, по которой вы кликаете, чтобы выполнить действие.

  • Кнопка Save является кнопкой разделения, которая состоит из кнопки и выпадающей кнопки.

  • Пустое управление добавляет пробел ниже кнопки Save.

Можно отличить выпадающую кнопку от кнопки разделения путем приостановки на кнопке. Кнопка разделения имеет две интерактивных части, разделенные линией, в то время как выпадающая кнопка имеет только одну часть.

Кнопка New расширяется, чтобы показать раскрывающийся список с тремя элементами списка, что вы щелкаете, чтобы выполнить действие.

Кнопка Save расширяется, чтобы показать раскрывающийся список с большим количеством функций.

  • Сохраните и Экспорт заголовки списка, которые предоставляют заголовки.

  • Линия между Шаблоном и Предыдущей Версией является разделителем элементов списка.

  • Модель экспорта к является элементом списка с раскрывающимся списком, который расширяется, чтобы показать дополнительные элементы во вложенном раскрывающемся списке.

Исследуйте файлы, которые задают пользовательский внешний вид и поведение вкладки

Файлы, которые задают предзаполненную пользовательскую вкладку, находятся в resourcesExample папка. Чтобы просмотреть пользовательскую вкладку в Панели инструментов Simulink, необходимо переименовать папку от resourcesExample к resources и добавьте его родительскую папку в путь MATLAB.

sl_toolstrip_plugins.json файл задает компонент Панели инструментов Simulink. Не редактируйте этот файл.

file0 = fullfile(pwd,"resourcesExample","sl_toolstrip_plugins.json");
type(file0)
{"entries":[{"content":{"Name":"custom"},"type":"config.ComponentData"}],"packageUris":[],"version":"1.0"}

Два изображения в icons папка resourcesExample папка обеспечивает 16 16 и 24 24 пиксельные версии пользовательского значка.

Три файла JSON в json папка resourcesExample папка define пользовательская вкладка.

  • customTab.json — Файл JSON, который задает вкладку, размещение и средства управления.

  • customTab_actions.json — Дополнительный файл JSON, который задает пользовательские действия. Одно из действий ссылается на openMathWorksWebsite.m скрипт в папке в качестве примера.

  • customTab_popups.json — Дополнительный файл JSON, который задает списки всплывающих окон для выпадающих кнопок, кнопок разделения и элементов списка с раскрывающимися списками.

file1 = fullfile(pwd,"resourcesExample","json","customTab.json");
type(file1)
{
    "version": "R2021b",
    "entries": [
        {
            "type": "Tab",
            "id": "customTab",
            "title": "CUSTOM TAB",
            "children": [
                {
                    "type": "Section",
                    "title": "Info",
                    "children": [
                        {
                            "type": "Column",
                            "children": [
                                {
                                    "type": "PushButton",
                                    "action": "openMathWorksWebsiteAction"
                                }
                            ]
                        }
                    ]
                },
                {
                    "type": "Section",
                    "title": "File",
                    "children": [
                        {
                            "type": "Column",
                            "children": [
                                {
                                    "type": "DropDownButton",
                                    "action": "newPopUpAction",
                                    "popupName": "newPopUpList"
                                }
                            ]
                        },
                        {
                            "type": "Column",
                            "children": [
                                {
                                    "type": "PushButton",
                                    "action": "openModelAction"
                                },
                                {
                                    "type": "SplitButton",
                                    "action": "saveModelAction",
                                    "popupName": "savePopUpList"
                                },
                                {
                                    "type": "EmptyControl"
                                }
                            ]
                        }
                    ]
                },
                {
                    "type": "Section",
                    "title": "Modeling",
                    "children": [
                        {
                            "type": "Column",
                            "children": [
                                {
                                    "type": "PushButton",
                                    "action": "showLibraryBrowserAction"
                                }
                            ]
                        },
                        {
                            "type": "Column",
                            "children": [
                                {
                                    "type": "PushButton",
                                    "action": "openModelAdvisorAction"
                                }
                            ]
                        },
                        {
                            "type": "Column",
                            "children": [
                                {
                                    "type": "PushButton",
                                    "action": "openModelConfigParamAction"
                                },
                                {
                                    "type": "PushButton",
                                    "action": "updateDiagramAction"
                                },
                                {
                                    "type": "PushButton",
                                    "action": "findInModelAction"
                                }
                            ]
                        }
                    ]
                },
                {
                    "type": "Section",
                    "title": "Simulation",
                    "children": [
                        {
                            "type": "Column",
                            "children": [
                                {
                                    "type": "PushButton",
                                    "action": "playSimulationAction"
                                }
                            ]
                        },
                        {
                            "type": "Column",
                            "children": [
                                {
                                    "type": "PushButton",
                                    "action": "openSimDataInspectorAction"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}
file2 = fullfile(pwd, "resourcesExample","json","customTab_actions.json");
type(file2)
{
    "version": "R2021b",
    "entries": [
        {
            "type": "Action",
            "id": "newPopUpAction",
            "text": "New",
            "icon": "new"
        },
        {
            "type": "Action",
            "id": "exportPopUpAction",
            "text": "Export model to..."
        },
        {
            "type": "Action",
            "id": "openMathWorksWebsiteAction",
            "text": "MathWorks\nWebsite",
            "description": "Open the MathWorks website",
            "icon": "openMathWorksWebsiteIcon",
            "command": "openMathWorksWebsite",
            "commandType": "Script"
        },
        {
            "type": "Icon",
            "id": "openMathWorksWebsiteIcon",
            "icon16": "openMathWorksWebsite_16.png",
            "icon24": "openMathWorksWebsite_24.png"
        }
    ]
}
file3 = fullfile(pwd,"resourcesExample","json","customTab_popups.json");
type(file3)
{
    "version": "R2021b",
    "entries": [
        {
            "type": "PopupList",
            "id": "newPopUpList",
            "children": [
                {
                    "type": "ListItem",
                    "action": "createNewBlankModelAction"
                },
                {
                    "type": "ListItem",
                    "action": "createNewBlankReferenceableSubsystemAction"
                },
                {
                    "type": "ListItem",
                    "action": "createNewProjectFromModelAction"
                }
            ]
        },
        {
            "type": "PopupList",
            "id": "savePopUpList",
            "children": [
                {
                    "type": "ListHeader",
                    "text": "Save"
                },
                {
                    "type": "ListItem",
                    "action": "saveModelAction"
                },
                {
                    "type": "ListItem",
                    "action": "saveModelAsAction"
                },
                {
                    "type": "ListHeader",
                    "text": "Export"
                },
                {
                    "type": "ListItemWithPopup",
                    "action": "exportPopUpAction",
                    "popupName": "exportPopUpList"
                }
            ]
        },
        {
            "type": "PopupList",
            "id": "exportPopUpList",
            "children": [
                {
                    "type": "ListItem",
                    "action": "createProtectedModelAction"
                },
                {
                    "type": "ListItem",
                    "action": "exportModelToTemplateAction"
                },
                {
                    "type": "ListSeparator"
                },
                {
                    "type": "ListItem",
                    "action": "exportModelToPreviousVersionAction"
                }
            ]
        }
    ]
}

Скрипт, что ссылки действия должны быть на пути MATLAB. Скрипт не может быть в resources папка для пользовательской вкладки.

type openMathWorksWebsite.m
web('https://www.mathworks.com')

Отредактируйте предзаполненную пользовательскую вкладку

  1. Скопируйте resourcesExample папка и openMathWorksWebsite.m скрипт к папке на пути MATLAB®.

  2. Переименуйте папку от resourcesExample к resources. Для пользовательской вкладки, чтобы указать как индивидуальная настройка Панели инструментов Simulink, именем папки должен быть resources.

  3. В командном окне MATLAB введите slReloadToolstripConfig.

  4. Чтобы взаимодействовать с пользовательской вкладкой, откройте модель Simulink.

  5. Чтобы отредактировать пользовательскую вкладку, отредактируйте файлы JSON в json папка.

  6. Чтобы видеть ваши изменения, перезагрузите настройку Панели инструментов Simulink путем ввода slReloadToolstripConfig.

Для получения дополнительной информации смотрите, Создают Пользовательские Вкладки Панели инструментов Simulink.

Смотрите также

Похожие темы