0001 function varargout = Menu_Configura_PCA(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_Configura_PCA_OpeningFcn, ...
0014 'gui_OutputFcn', @Menu_Configura_PCA_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 function Menu_Configura_PCA_OpeningFcn(hObject, ~, handles, varargin)
0028
0029
0030
0031
0032 handles.output = hObject;
0033 guidata(hObject, handles);
0034 set(handles.popupmenu1,'Enable','off');
0035 set(handles.popupmenu2,'Enable','off');
0036 set(handles.popupmenu3,'Enable','off');
0037 set(handles.popupmenu4,'Enable','off');
0038 set(handles.popupmenu5,'Enable','off');
0039 set(handles.popupmenu7,'Enable','off');
0040 set(handles.Guardar,'Enable','off');
0041
0042 x=evalin('base','whos();');
0043 list=[];
0044 for i=1:length(x)
0045 if strcmp(x(i).class,'PCA')
0046 list=[list; {x(i).name}];
0047 end
0048 end
0049 if isempty(list)
0050 list={'No hi ha cap objecte PCA'};
0051 end
0052 set(handles.popupmenu6,'String',list);
0053
0054 if ~isempty(varargin)
0055 ind =max(strcmp(list,varargin{1})' .* (1:length(list)));
0056 if(ind ~= 0)
0057 set(handles.popupmenu6,'value', ind);
0058 popupmenu6_Callback(-1,-1,handles);
0059 end
0060 end
0061
0062 function Guardar_Callback(~, ~, handles)
0063 try
0064 nom=get(handles.popupmenu6,'String');
0065 nom=nom{get(handles.popupmenu6,'Value')};
0066
0067
0068 if evalin('base',[nom '.isModel();'])
0069
0070
0071 inst=[nom '.setUnfoldingMethod(' num2str(get(handles.popupmenu4,'Value')-1) ');'];
0072 evalin('base',inst);
0073
0074
0075 inst=[nom '.setNormalizationMethod(' num2str(get(handles.popupmenu1,'Value')) ');'];
0076 evalin('base',inst);
0077
0078
0079 inst=[nom '.setTrajectoryRemoval(' num2str(get(handles.popupmenu3,'Value')-1) ');'];
0080 evalin('base',inst);
0081
0082
0083 inst=[nom '.setPCSelectionMethod(' num2str(get(handles.popupmenu2,'Value')-1) ');'];
0084 evalin('base',inst);
0085
0086
0087 inst=[nom '.setLimitMethod(' num2str(get(handles.popupmenu5,'Value')-1) ');'];
0088 evalin('base',inst);
0089
0090
0091 inst=[nom '.setContributionMethod(' num2str(get(handles.popupmenu7,'Value')-1) ');'];
0092 evalin('base',inst);
0093
0094 else
0095 errordlg('L''objecte pca que has seleccionat no es un model','Error')
0096
0097 uiwait(handle(gcf));
0098 end
0099
0100 close('Menu_Configura_PCA');
0101 Update_Caller();
0102
0103 catch err
0104 errordlg(err.message,'Error');
0105 end
0106
0107 function popupmenu6_Callback(~, ~, handles)
0108 nom=get(handles.popupmenu6,'String');
0109 nom=nom{get(handles.popupmenu6,'Value')};
0110
0111
0112
0113 set(handles.popupmenu1,'Value',evalin('base',[nom '.getNormalizationMethod();']));
0114 set(handles.popupmenu2,'Value',evalin('base',[nom '.getPCSelectionMethod();'])+1);
0115 set(handles.popupmenu3,'Value',evalin('base',[nom '.getTrajectoryRemoval();'])+1);
0116 set(handles.popupmenu4,'Value',evalin('base',[nom '.getUnfoldingMethod();'])+1);
0117 set(handles.popupmenu5,'Value',evalin('base',[nom '.getLimitMethod();'])+1);
0118 set(handles.popupmenu7,'Value',evalin('base',[nom '.getContMetode();'])+1);
0119
0120
0121 if evalin('base',[nom '.isModel();'])
0122 set(handles.popupmenu1,'Enable','on');
0123 set(handles.popupmenu2,'Enable','on');
0124 set(handles.popupmenu3,'Enable','on');
0125 set(handles.popupmenu4,'Enable','on');
0126 set(handles.popupmenu5,'Enable','on');
0127 set(handles.popupmenu7,'Enable','on');
0128 set(handles.Guardar,'Enable','on');
0129 else
0130 set(handles.popupmenu1,'Enable','off');
0131 set(handles.popupmenu2,'Enable','off');
0132 set(handles.popupmenu3,'Enable','off');
0133 set(handles.popupmenu4,'Enable','off');
0134 set(handles.popupmenu5,'Enable','off');
0135 set(handles.popupmenu7,'Enable','off');
0136 set(handles.Guardar,'Enable','off');
0137 end
0138
0139 function Update(hObject, ~, handles)
0140 handles.output = hObject;
0141
0142
0143 x=evalin('base','whos();');
0144 list=[];
0145 for i=1:length(x)
0146 if strcmp(x(i).class,'PCA')
0147 list=[list; {x(i).name}];
0148 end
0149 end
0150 if isempty(list)
0151 list={'No hi ha cap objecte PCA'};
0152 end
0153
0154
0155 nom=get(handles.popupmenu6,'String');
0156 nom=nom{get(handles.popupmenu6,'Value')};
0157
0158
0159
0160 val=find(strcmp(nom,list));
0161 set(handles.popupmenu6,'String',list);
0162
0163 if isempty(val)
0164 set(handles.popupmenu6,'Value',1);
0165
0166
0167 set(handles.popupmenu1,'Enable','off');
0168 set(handles.popupmenu2,'Enable','off');
0169 set(handles.popupmenu3,'Enable','off');
0170 set(handles.popupmenu4,'Enable','off');
0171 set(handles.popupmenu5,'Enable','off');
0172 set(handles.popupmenu7,'Enable','off');
0173 set(handles.Guardar,'Enable','off');
0174
0175 else
0176 set(handles.popupmenu6,'Value',val);
0177 end
0178
0179 guidata(hObject, handles);
0180
0181
0182 function popupmenu1_Callback(~, ~, ~)
0183 function popupmenu1_CreateFcn(hObject, ~, ~)
0184 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0185 set(hObject,'BackgroundColor','white');
0186 end
0187 function popupmenu2_Callback(~, ~, ~)
0188 function popupmenu2_CreateFcn(hObject, ~, ~)
0189 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0190 set(hObject,'BackgroundColor','white');
0191 end
0192 function popupmenu3_Callback(~, ~, ~)
0193 function popupmenu3_CreateFcn(hObject, ~, ~)
0194 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0195 set(hObject,'BackgroundColor','white');
0196 end
0197 function popupmenu4_Callback(~, ~, ~)
0198 function popupmenu4_CreateFcn(hObject, ~, ~)
0199 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0200 set(hObject,'BackgroundColor','white');
0201 end
0202 function popupmenu5_Callback(~, ~, ~)
0203 function popupmenu5_CreateFcn(hObject, ~, ~)
0204 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0205 set(hObject,'BackgroundColor','white');
0206 end
0207 function popupmenu6_CreateFcn(hObject, ~, ~)
0208 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0209 set(hObject,'BackgroundColor','white');
0210 end
0211 function popupmenu7_Callback(~, ~, ~)
0212 function popupmenu7_CreateFcn(hObject, ~, ~)
0213 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0214 set(hObject,'BackgroundColor','white');
0215 end
0216 function varargout = Menu_Configura_PCA_OutputFcn(~, ~, handles)
0217 varargout{1} = handles.output;