export2wsdlg

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

Описание

пример

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

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

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

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

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

labelsВар , и vals должен задать то же количество элементов. Если labelsВар , и 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Вар vals , и defs должно все быть равным.

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

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

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

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

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

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

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

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

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

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

Выборы флажка по умолчанию в виде логического массива. Длины labelsВар 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