export2wsdlg

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

Синтаксис

export2wsdlg(labels,vars,vals)
export2wsdlg(labels,vars,vals,title)
export2wsdlg(labels,vars,vals,title,defs)
export2wsdlg(labels,vars,vals,title,defs,helpfcn)
export2wsdlg(labels,vars,vals,title,defs,helpfcn,flist)
f = export2wsdlg(___)
[f,tf] = export2wsdlg(___)

Описание

пример

export2wsdlg(labels,vars,vals) создает модальное диалоговое окно с серией флажков и полей редактирования. Для каждого флажка существует соответствующее поле редактирования. Аргументы:

  • labels – метки для флажков.

    Количество меток определяет, сколько флажков и полей редактирования появляется в диалоговом окне. Одно поле редактирования появляется после каждой метки флажка; например:

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

  • vals значения, чтобы сохранить в переменных.

labels, vars и vals должны задать то же количество элементов. Если labels, vars и vals, каждый задает один элемент, то диалоговое окно отображается метку и поле редактирования только. Например:

export2wsdlg(labels,vars,vals,title) задает заголовок для диалогового окна.

пример

export2wsdlg(labels,vars,vals,title,defs) задает, какие флажки устанавливаются, когда диалоговое окно открывается.

пример

export2wsdlg(labels,vars,vals,title,defs,helpfcn) добавляет кнопка Help к диалоговому окну. helpfcn является коллбэком, который отображает справку.

пример

export2wsdlg(labels,vars,vals,title,defs,helpfcn,flist) задает массив ячеек функций и дополнительных аргументов, которые вычисляют, и затем возвращают значения, чтобы экспортировать в vars. Когда вы задаете flist, MATLAB® использует его вместо vals. Однако необходимо задать аргумент vals как заполнителя синтаксиса. flist должен быть той же длиной как labels.

f = export2wsdlg(___) возвращает объект Figure, в котором диалоговое окно отображается к f. Можно запросить этот вывод с любой из комбинаций входных аргументов в предыдущих синтаксисах.

[f,tf] = export2wsdlg(___) возвращает tf как 1, (TRUE), если пользователь нажимает OK или 0, если пользователь закрывает диалоговое окно путем нажатия на Cancel или близкую кнопку (X) в строке заголовка диалогового окна. Когда tf 0, f возвращен как пустой массив ([]). Функция export2swdlg не возвращается, пока пользователь не закрывает диалоговое окно.

Примеры

свернуть все

Создайте диалоговое окно, которое позволяет пользователю сохранить переменные sumA, или meanA или обоих к базовому рабочему пространству.

A = randn(10,1);
labels = {'Save sum of A to variable named:' ...
          'Save mean of A to variable named:'}; 
vars = {'sumA','meanA'}; 
values = {sum(A),mean(A)};
export2wsdlg(labels,vars,values);

Если пользователь вводит недопустимое имя переменной, такое как 2 и нажимает OK, то MATLAB автоматически возвращает ошибочное диалоговое окно. После нажатия OK в ошибочном диалоговом окне у пользователя есть возможность ввести допустимое имя переменной в диалоговое окно Export to Workspace.

Задайте входную переменную, defs, чтобы указать, что никакой флажок не устанавливается, когда диалоговое окно открывается.

A = randn(10,1);
labels = {'Save sum of A to variable named:' ...
          'Save mean of A to variable named:'}; 
vars = {'sumA','meanA'}; 
vals = {sum(A),mean(A)};
title = ('Save Sums to Workspace');
defs = logical([0 0]);
export2wsdlg(labels,vars,vals,...
             title,defs);

Если пользователь нажимает OK, когда никакие флажки не устанавливаются, MATLAB автоматически возвращает ошибочное диалоговое окно. После нажатия OK в ошибочном диалоговом окне у пользователя есть возможность исправить ошибку в диалоговом окне Export to Workspace.

Добавьте кнопку Help в диалоговое окно путем определения входного параметра коллбэка. Нажатие на кнопку Help запускает коллбэк. В этом коде функцией обратного вызова является smhelp, который создает диалоговое окно Help. Для получения дополнительной информации смотрите Запись обратных вызово для приложений, созданных программно.

function expsm
A = randn(10,1);
labels = {'Save sum of A to variable named:' ...
          'Save mean of A to variable named:'}; 
vars = {'sumA','meanA'}; 
vals = {sum(A),mean(A)};
title = ('Save Sums to Workspace');
defs = logical([1 0]);
export2wsdlg(labels,vars,vals,...
             title,defs,{@smhelp});
         
    function smhelp
        helpdlg({'Select one or both check boxes.',...
                 'Change the variable names, if desired,',...
                 'and then click OK.'});
    end
 end 

Чтобы запустить этот пример, скопируйте и вставьте предыдущий код в текстовый редактор. Сохраните файл как exspm.m к папке на вашем пути MATLAB. Когда вы запускаете код и нажимаете кнопку Help, Диалоговое окно Справки открывается сверху диалогового окна Save Sums to Workspace. Следующее изображение показывает эти два диалоговых окна рядом.

Создайте диалоговое окно, чтобы создать и экспортировать объекты фигуры в рабочую область. Задайте функциональный список, чтобы создать окна рисунка в заданных цветах, когда пользователь установит соответствующие флажки, и затем нажмет OK. Входной параметр vals является заполнителем синтаксиса только. Поэтому элементы массива ячеек, заданные значением vals, не использованы.

labels = {'Red Figure Window',...
          'Blue Figure Window',...
          'Green Figure Window'};
vars = {'fRed','fBlue','fGreen'};
vals = {0,0,0};
title = 'Figure Color Samples';
defs = [false false false];
flist = {{@figure,'color','r'},...
         {@figure,'color','b'},...
         {@figure,'color','g'}};
export2wsdlg(labels,vars,vals,title,defs,{@doc,'figure'},flist);

После того, как пользователь делает выборы флажка и нажимает OK, MATLAB делает следующее для установленных флажков:

  • Запускает соответствующие функции (каждый из которых создает фигуру),

  • Возвращает объекты фигуры в переменные vars

  • Экспортирует переменные в базовое рабочее пространство.

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

свернуть все

Метки флажка, заданные как массив ячеек из символьных векторов или массив строк. Если существует только один элемент в массиве, то export2wsdlg создает поле редактирования вместо флажка. Длины labels, vars, vals и defs должны все быть равными.

Пример: {'Temperature (Celsius)','Mass (Grams)'}

Имена переменных поля редактирования, которые появляются в полях редактирования по умолчанию, когда диалоговое окно открывается, заданный как массив ячеек из символьных векторов или массив строк. Количество элементов массива совпадает с номером, заданным в labels. Длины labels, vars, vals и defs должны все быть равными.

Имена переменных в vars должны быть уникальными.

Пользователь диалогового окна может отредактировать имена переменных, отображенные в полях редактирования. Если пользователь задает то же имя в нескольких полях редактирования, то MATLAB создает структуру с помощью того имени. Это затем использует элементы defaultvars в качестве имен полей для той структуры.

Пример: {'Longitude','Latitude'}

Значения переменных, заданные как массив ячеек. Длины labels, vars, vals и defs должны все быть равными.

Пример: {100,200}

Пример: {sin(A),cos(A)}

Заголовок диалогового окна, заданный как вектор символов или скаляр строки.

Пример: 'Save to Workspace'

Выборы флажка по умолчанию, заданные как логический массив. Длины labels, vars, vals и defs должны все быть равными.

По умолчанию все флажки устанавливаются, когда диалоговое окно открывается.

Пример: [true, false] указывает, что, когда диалоговое окно открывается, первый флажок устанавливается, и второе не.

Коллбэк кнопки Help, заданный как указатель на функцию, массив ячеек или вектор символов (не рекомендуемый). Когда вы задаете коллбэк кнопки Help, MATLAB добавляет кнопку Help в диалоговое окно. Для получения дополнительной информации смотрите Запись обратных вызово для приложений, созданных программно

Пример: @myfun задает функцию обратного вызова как указатель на функцию.

Пример: {@myfun,x} задает функцию обратного вызова как массив ячеек. В этом случае функция принимает входной параметр x.

Список вызовов функции, заданных как массив ячеек имен функций и дополнительных аргументов, которые вычисляют и затем возвращают значение, чтобы экспортировать. flist должен быть той же длиной как labels.

Пример: {{@myfun1,x},{@myfun2,x,y}}

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

свернуть все

Объект Figure, в котором отображено диалоговое окно. Если два возвращаемых аргумента требуют, то f возвращен как пустой массив, [] и функция export2wsdlg не делают возвращаемых значений, пока пользователь не закрывает диалоговое окно.

Истинный или ложный результат, возвращенный как 1 или 0. Функция возвращает 1, (TRUE), если пользователь нажимает кнопку OK; в противном случае это возвращает 0. Функция export2wsdlg не делает возвращаемых значений, пока пользователь не закрывает диалоговое окно.

Больше о

свернуть все

Модальное диалоговое окно

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

Советы

  • Выполнение программы MATLAB продолжается, даже когда модальный Экспорт в диалоговое окно Workspace активен. Чтобы блокировать выполнение программы, пока пользователь не закроет диалоговое окно, используйте функцию uiwait.

Представленный в R2006b