Simulink.sdi.registerCursorCallback

Зарегистрируйте коллбэк для перемещений курсора в Данные моделирования Inspector

    Описание

    пример

    callbackID = Simulink.sdi.registerCursorCallback(func) регистрирует функцию обратного вызова, связанную с указателем на функцию func с Данными моделирования инспектором. Инспектор Данных моделирования выполняет коллбэк при перемещении курсора или изменении количества курсоров, отображаемых на панели Inspect.

    пример

    callbackID = Simulink.sdi.registerCursorCallback(func,view) регистрирует функцию обратного вызова, связанную с указателем на функцию func с Данными моделирования инспектором. Данные моделирования Inspector выполняют коллбэк при перемещении курсора или изменении количества курсоров, отображаемых на панели, заданной view.

    Примеры

    свернуть все

    Можно использовать функцию обратного вызова курсора Данные Моделирования Inspector, чтобы отправить данные о положении курсора в приложение, созданное с помощью App Designer. В этом примере показано, как добавить свойство в приложение для хранения идентификатора коллбэка и где зарегистрировать и отменить регистрацию коллбэка курсора. Пример приложения App Designer, в котором используется коллбэк курсора, см. в разделе Синхронизация курсоров в Данные моделирования Inspector с приложением App Designer.

    Добавление callbackID свойство объекту приложения.

    properties (Access = private)
        callbackID
    end

    Определите поведение функции обратного вызова курсора.

    methods (Access = public)
        function myCursorCallback(app,~,~)
            if isvalid(app)
                ...
            end
        end
    end

    Зарегистрируйте коллбэк курсора в приложении startupFcn. Этот пример регистрирует тот же коллбэк на панели Inspect и панели Compare.

    function startupFcn(app)
        app.callbackID = Simulink.sdi.registerCursorCallback(...
           @(t1,t2)myCursorCallback(app,t1,t2));
        app.callbackID(2) = Simulink.sdi.registerCursorCallback(...
           @(t1,t2)myCursorCallback(app,t1,t2),'compare');
        ...
    end

    Отмена регистрации коллбэка курсора в приложении UIFigureCloseRequest функция.

    function myAppUIFigureCloseRequest(app, event)
        Simulink.sdi.unregisterCursorCallback(app.callbackID(1));
        Simulink.sdi.unregisterCursorCallback(app.callbackID(2));
        
    end

    Входные параметры

    свернуть все

    Коллбэк курсора для регистрации, заданный как указатель на функцию. Функция, которая соответствует указателю на функцию, должна принять два входных параметров, t1 и t2, которые соответствуют левому и правый курсор положениям. Когда курсоры не отображаются, t1 и t2 являются NaN. Когда отображается только один курсор, t2 является NaN.

    Пример: id = Simulink.sdi.registerCursorCallback(@(t1,t2)myFunc(t1,t2)) регистрирует функцию myFunc как коллбэк для событий курсора на Inspect панели Данных моделирования Inspector.

    Типы данных: function_handle

    Источник события курсора, заданный как 'inspect' или 'compare'.

    • 'inspect' - Зарегистрировать коллбэк для событий курсора на панели Inspect.

    • 'compare' - Зарегистрировать коллбэк для событий курсора на панели Compare.

    Зарегистрированный коллбэк курсора выполняется для каждого события курсора. События курсора происходят при перемещении курсоров или изменении количества видимых курсоров.

    Типы данных: char | string

    Выходные аргументы

    свернуть все

    Зарегистрированный идентификатор коллбэка, возвращенный как скаляр. Используйте идентификатор коллбэка для отмены регистрации коллбэка.

    Введенный в R2021a
    Для просмотра документации необходимо авторизоваться на сайте