www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@xregmulti/guiSelectCriteria.m

    function [Criteria,OK] = guiSelectCriteria(m,Criteria,Prompt)
%GUISELECTCRITERIA selection criteria dialog
%
% [Criteria,OK] = guiSelectCriteria(m,Criteria,Prompt)

%  Copyright 2006-2015 The MathWorks, Inc. 

[~,List]= childstats(m);
if nargin<2 || ~any(strcmp(Criteria,List))
    % default criteria
    if any(strcmp('AICc',List))
        % use AICc if available
        Criteria= 'AICc';
    elseif any(strcmp('PRESS RMSE',List))
        % GPM falls into this category
        Criteria= 'PRESS RMSE';
    else
        % RMSE is always available
        Criteria= 'RMSE';
    end
end
if nargin < 3
    Prompt= 'Selection criteria';
end

dlg = mbcgui.container.Dialog('Name','Model Selection',...
    'Size',[250 110],...
    'Buttons','OK_CANCEL',...
    'Resize','off');
hFig = dlg.Figure;

h= cell(1,2);
h{1,1}= uicontrol('Parent',hFig,...
    'Style','text',...
    'HorizontalAlignment','left',...
    'String',Prompt);
h{1,2}= uicontrol('Parent',hFig,...
    'Style','popupmenu',...
    'BackgroundColor','w',...
    'HorizontalAlignment','left',...
    'Value',find(strcmp(Criteria,List)),...
    'String',List);

dlg.Content = xreggridlayout(hFig,...
    'dimension',[1 2],...
    'elements',h(:)',...
    'rowsizes',20*ones(size(h,1)),...
    'colsizes',[130 130],...
    'correctalg','on',...
    'border',[10 10 10 15],...
    'gapy',5,...
    'gapx',10);


closeMode = dlg.showDialog();
if strcmp(closeMode,'OK')
    ind= get(h{2},'Value');
    Criteria= List{ind};
    OK= 1;
else
    OK= 0;
end
delete(dlg)