0001 function varargout = Menu_Crea_CBR(varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010 gui_Singleton = 1;
0011 gui_State = struct('gui_Name', mfilename, ...
0012 'gui_Singleton', gui_Singleton, ...
0013 'gui_OpeningFcn', @Menu_Crea_CBR_OpeningFcn, ...
0014 'gui_OutputFcn', @Menu_Crea_CBR_OutputFcn, ...
0015 'gui_LayoutFcn', [] , ...
0016 'gui_Callback', []);
0017 if nargin && ischar(varargin{1})
0018 gui_State.gui_Callback = str2func(varargin{1});
0019 end
0020
0021 if nargout
0022 [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
0023 else
0024 gui_mainfcn(gui_State, varargin{:});
0025 end
0026
0027
0028 function Menu_Crea_CBR_OpeningFcn(hObject, ~, handles, varargin)
0029
0030
0031
0032
0033 handles.output = hObject;
0034 guidata(hObject, handles);
0035
0036
0037 x=evalin('base','whos();');
0038 list=[];
0039 list2=[];
0040 for i=1:length(x)
0041 if strcmp(x(i).class,'DATA')
0042 list=[list; {x(i).name}];
0043 end
0044
0045 if strcmp(x(i).class,'PCA') ~=0
0046 if evalin('base',[x(i).name '.isModel();'])
0047 list2=[list2; {x(i).name}];
0048 end
0049 end
0050 end
0051 if isempty(list)
0052 list={'No DATA object in workspace'};
0053 end
0054 set(handles.popupmenu2,'String',list);
0055
0056
0057 if isempty(list2)
0058 list2={'No PCA model in workspace'};
0059 end
0060 set(handles.popupmenu1,'String',list2);
0061 set(handles.pushbutton3,'Enable','off');
0062
0063
0064 function pushbutton1_Callback(~, ~, ~)
0065 uiwait(Menu_Crea_Model_PCA());
0066
0067
0068 function pushbutton2_Callback(~, ~, ~)
0069 uiwait(Menu_Load_Dades());
0070
0071
0072
0073 function edit1_Callback(~, ~, handles)
0074 set(handles.pushbutton3,'Enable','on');
0075
0076
0077
0078 function edit1_CreateFcn(hObject, ~, ~)
0079 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0080 set(hObject,'BackgroundColor','white');
0081 end
0082
0083
0084
0085 function pushbutton3_Callback(~, ~, handles)
0086 try
0087
0088 dade=get(handles.popupmenu2,'String');
0089 dade=dade{get(handles.popupmenu2,'Value')};
0090
0091
0092
0093 if(isempty(evalin('base',[dade '.getBatchLabel()'])) && (evalin('base',[dade '.getBatchCount()']) > 0))
0094 evalin('base',[dade '.setBatchLabel(num2cell(1:' dade '.getBatchCount))']);
0095 warndlg('Selected case base object had no batch names. Automatic ones ware assigned.','Attention!')
0096 end
0097
0098
0099
0100 pc=get(handles.popupmenu1,'String');
0101 pc=pc{get(handles.popupmenu1,'Value')};
0102
0103
0104
0105 nom=get(handles.edit1,'String');
0106
0107
0108 if ~isempty(evalin('base',['whos([''' nom '''])'] ))
0109 choice = questdlg('Selected name is used, do you want to oberwrite?', 'Attention', 'Yes','No','No');
0110 switch choice
0111 case 'Yes'
0112
0113
0114 inst=[nom '=CBR(' pc ',' dade ');'];
0115 evalin('base',inst);
0116
0117 close('Menu_Crea_CBR');
0118 Update_Caller();
0119
0120 case 'No'
0121
0122 end
0123 else
0124
0125 inst=[nom '=CBR(' pc ',' dade ');'];
0126 evalin('base',inst);
0127
0128 close('Menu_Crea_CBR');
0129 Update_Caller();
0130 end
0131
0132 catch err
0133 errordlg(err.message,'Error');
0134 end
0135
0136 function Update(hObject, ~, handles)
0137 handles.output = hObject;
0138
0139
0140 x=evalin('base','whos();');
0141 list=[];
0142 list2=[];
0143 for i=1:length(x)
0144 if strcmp(x(i).class,'DATA') ~=0
0145 list=[list; {x(i).name}];
0146 end
0147
0148 if strcmp(x(i).class,'PCA') ~=0
0149 if evalin('base',[x(i).name '.isModel();'])
0150 list2=[list2; {x(i).name}];
0151 end
0152 end
0153 end
0154 if isempty(list)
0155 list={'No DATA object in workspace'};
0156 end
0157
0158
0159 nom=get(handles.popupmenu2,'String');
0160 nom=nom{get(handles.popupmenu2,'Value')};
0161
0162
0163
0164 val=find(strcmp(nom,list));
0165 set(handles.popupmenu2,'String',list);
0166
0167 if isempty(val)
0168 set(handles.popupmenu2,'Value',1);
0169
0170
0171 set(handles.pushbutton3,'Enable','off');
0172
0173 else
0174 set(handles.popupmenu2,'Value',val);
0175 end
0176
0177
0178 if isempty(list2)
0179 list2={'No PCA model in workspace'};
0180 end
0181
0182 nom=get(handles.popupmenu1,'String');
0183 nom=nom{get(handles.popupmenu1,'Value')};
0184
0185
0186
0187 val=find(strcmp(nom,list2));
0188 set(handles.popupmenu1,'String',list2);
0189
0190 if isempty(val)
0191 set(handles.popupmenu1,'Value',1);
0192
0193
0194 set(handles.pushbutton3,'Enable','off');
0195
0196 else
0197 set(handles.popupmenu1,'Value',val);
0198 end
0199
0200 guidata(hObject, handles);
0201
0202
0203 function varargout = Menu_Crea_CBR_OutputFcn(~, ~, handles)
0204 varargout{1} = handles.output;
0205 function popupmenu1_Callback(~, ~, ~)
0206 function popupmenu1_CreateFcn(hObject, ~, ~)
0207 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0208 set(hObject,'BackgroundColor','white');
0209 end
0210 function popupmenu2_Callback(~, ~, ~)
0211 function popupmenu2_CreateFcn(hObject, ~, ~)
0212 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0213 set(hObject,'BackgroundColor','white');
0214 end