www.gusucode.com > mbctools 工具箱 matlab 源码程序 > mbctools/xregLoadDataWiz.m

    function varargout = xregLoadDataWiz(action, varargin)
%XREGLOADDATAWIZ data import wizard

%  Copyright 2000-2015 The MathWorks, Inc. and Ford Global Technologies, Inc.

switch lower(action)
    case 'editvariables'
        [varargout{1:nargout}] = iEditVariablesCard(varargin{:});
    case 'merge'
        [varargout{1:nargout}] = iMergeCard(varargin{:});
end

%------------------------------------------------------------------------
% Edit Variables FUNCTIONS BELOW
%------------------------------------------------------------------------

%------------------------------------------------------------------------
function layout = iEditVariablesCard(fh, iFace, varargin)
% Have we been called to create the layout or simply update?

layout = xregdatagui.SweepsetList.createLayout(fh,varargin{:});
layoutUD = get(layout,'UserData');

layoutUD.nextFcn       = @iEditVariablesNext;
layoutUD.finishFcn     = @iEditVariablesFinish;

set(layout, 'UserData', layoutUD);

feval(iFace.setFinishButton, ~layoutUD.mergeAvail);
feval(iFace.setNextButton, layoutUD.mergeAvail);

%------------------------------------------------------------------------
function iEditVariablesFinish(layoutUD, iFace)
outputUD.sweepset = layoutUD.lvVariables.Sweepset;
outputUD.filename = get(outputUD.sweepset,'filename');
feval(iFace.setOutputData, outputUD);

%------------------------------------------------------------------------
function [nextCardID, localData] = iEditVariablesNext(layoutUD, ~)

localData.filename      = layoutUD.filename;
localData.newSweepset   = layoutUD.lvVariables.Sweepset;
localData.mergeSweepset = layoutUD.mergeSweepset;
nextCardID = @iMergeCard;

%------------------------------------------------------------------------
% Merge Data Card FUNCTIONS BELOW
%------------------------------------------------------------------------

%------------------------------------------------------------------------
function layout = iMergeCard(fh, iFace, varargin)
% Have we been called to create the layout or simply update?


layout = xregdatagui.mergeOptions('layout',fh,varargin{:});

layoutUD = get(layout,'Userdata');
layoutUD.finishFcn       = @iMergeFinish;
set(layout, 'UserData', layoutUD);

% Enable the next button
feval(iFace.setNextButton, 'off');
feval(iFace.setFinishButton, 'on');


%------------------------------------------------------------------------
function iMergeFinish(layoutUD, iFace)

localData = xregdatagui.mergeOptions('finalise',layoutUD);
outputUD.sweepset = localData.newSweepset;
outputUD.filename = get(outputUD.sweepset,'filename');
feval(iFace.setOutputData, outputUD);