exponenta event banner

Simulink.sdi.registerCursorCallback

Регистрация обратного вызова для перемещений курсора в инспекторе данных моделирования

    Описание

    пример

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

    пример

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

    Примеры

    свернуть все

    Функцию обратного вызова курсора инспектора данных моделирования можно использовать для отправки данных положения курсора в приложение, созданное с помощью App Designer. В этом примере показано, как добавить в приложение свойство для хранения идентификатора обратного вызова и где зарегистрировать и отменить регистрацию обратного вызова курсора. Пример приложения App Designer, использующего обратный вызов курсора, см. в разделе Синхронизация курсоров в инспекторе данных моделирования с приложением 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 инспектора данных моделирования.

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

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

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

    • 'compare' - Регистрация обратного вызова для событий курсора на панели Сравнить.

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

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

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

    свернуть все

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

    Представлен в R2021a