0001 function varargout = Menu_Crear_Dades(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_Crear_Dades_OpeningFcn, ...
0014 'gui_OutputFcn', @Menu_Crear_Dades_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_Crear_Dades_OpeningFcn(hObject, ~, handles, varargin)
0028
0029
0030
0031
0032
0033 handles.output = hObject;
0034 guidata(hObject, handles);
0035 event = struct('EventName','SelectionCanged','OldValue',handles.radiobutton2,'NewValue',handles.radiobutton1);
0036 uipanel1_SelectionChangeFcn(hObject, event, handles)
0037
0038 function listbox1_Callback(~, ~, handles)
0039 nom=get(handles.listbox1,'String');
0040 if ~isempty(nom)
0041 nom=nom{get(handles.listbox1,'Value')};
0042 if ~strcmp(nom,'No data')
0043 inst=['whos(''' nom ''');'];
0044 x=evalin('base',inst);
0045 set(handles.text7,'String',x.class);
0046 set(handles.text8,'String',[ '[' num2str(x.size) ']' ]);
0047
0048 if get(handles.uipanel1,'SelectedObject') == handles.radiobutton1
0049
0050
0051
0052 if get(handles.uipanel3,'SelectedObject') == handles.radiobutton4
0053
0054 set(handles.edit1,'String','');
0055 set(handles.edit2,'String','');
0056 set(handles.edit3,'String',num2str(x.size(2)));
0057 else
0058
0059 set(handles.edit1,'String','');
0060 set(handles.edit2,'String',num2str(x.size(1)));
0061 set(handles.edit3,'String','');
0062 end
0063 else
0064
0065 set(handles.edit1,'String',num2str(x.size(1)));
0066 set(handles.edit2,'String',num2str(x.size(3)));
0067 set(handles.edit3,'String',num2str(x.size(2)));
0068
0069 set(handles.pushbutton2,'Enable','on');
0070 end
0071
0072 else
0073 set(handles.text7,'String','No selected object!');
0074 set(handles.text8,'String','No selected object!');
0075 end
0076 else
0077 set(handles.text7,'String','No selected object!');
0078 set(handles.text8,'String','No selected object!');
0079 end
0080
0081 function pushbutton1_Callback(~, ~, handles)
0082 nomobj=get(handles.listbox1,'String');
0083 nomobj=nomobj{get(handles.listbox1,'Value')};
0084
0085
0086 nom=get(handles.edit4,'String');
0087
0088
0089 if ~isempty(evalin('base',['whos([''' nom '''])'] ))
0090 choice = questdlg('Selected name is used, do you want to overwrite?', 'Attention', 'Yes','No','No');
0091 switch choice
0092 case 'Yes'
0093
0094
0095
0096 inst=[nom '=DATA();'];evalin('base',inst);
0097
0098 temps = get(handles.edit1,'String');
0099 lots = get(handles.edit2,'String');
0100 vars = get(handles.edit3,'String');
0101 if get(handles.uipanel1,'SelectedObject') == handles.radiobutton1
0102
0103
0104 if get(handles.uipanel3,'SelectedObject') == handles.radiobutton4
0105
0106 inst = [nom '.setRawDataVW(double(' nomobj '),' vars ',' temps ',' lots ');'];
0107 evalin('base',inst);
0108 else
0109
0110 inst = [nom '.setRawDataBW(double(' nomobj '),' vars ',' temps ',' lots ');'];
0111 evalin('base',inst);
0112 end
0113 else
0114
0115 inst = [nom '.setRawData(double(' nomobj '));'];
0116 evalin('base',inst);
0117 end
0118
0119
0120 close('Menu_Crear_Dades');
0121
0122 Update_Caller();
0123 uiwait(warndlg('Object class field is empty!','Attention!'));
0124 Menu_Editar_Dades2;
0125
0126 case 'No'
0127
0128 end
0129 else
0130
0131
0132 inst=[nom '=DATA();'];evalin('base',inst);
0133
0134
0135 temps = get(handles.edit1,'String');
0136 lots = get(handles.edit2,'String');
0137 vars = get(handles.edit3,'String');
0138 if get(handles.uipanel1,'SelectedObject') == handles.radiobutton1
0139
0140
0141 if get(handles.uipanel3,'SelectedObject') == handles.radiobutton4
0142
0143 inst = [nom '.setRawDataVW(double(' nomobj '),' vars ',' temps ',' lots ');'];
0144 evalin('base',inst);
0145 else
0146
0147 inst = [nom '.setRawDataBW(double(' nomobj '),' vars ',' temps ',' lots ');'];
0148 evalin('base',inst);
0149 end
0150 else
0151
0152 inst = [nom '.setRawData(double(' nomobj '));'];
0153 evalin('base',inst);
0154 end
0155
0156 close('Menu_Crear_Dades');
0157
0158 Update_Caller();
0159 uiwait(warndlg('Object class field is empty!','Attention!'));
0160 Menu_Editar_Dades2;
0161 end
0162
0163 function uipanel3_SelectionChangeFcn(hObject, eventdata, handles)
0164 listbox1_Callback(hObject, eventdata, handles);
0165
0166 function uipanel1_SelectionChangeFcn(~, eventdata, handles)
0167 switch get(eventdata.NewValue,'Tag')
0168 case 'radiobutton1'
0169
0170
0171
0172
0173 x=evalin('base','whos();');
0174 list=[];
0175 for i=1:length(x)
0176 if x(i).size(1) > 1 && evalin('base',['isnumeric(' x(i).name() ');']) && x(i).size(2) > 1 && length(x(i).size) == 2
0177 list=[list; {x(i).name()}];
0178 end
0179 end
0180 if isempty(list)
0181 list={'No data'};
0182 set(handles.uipanel4,'visible','off')
0183 else
0184 set(handles.uipanel4,'visible','on')
0185 end
0186 set(handles.listbox1,'String',list);
0187
0188
0189 set(handles.uipanel3,'visible','on');
0190 set(handles.edit1,'Enable','on');
0191 set(handles.edit2,'Enable','on');
0192 set(handles.edit3,'Enable','on');
0193
0194 set(handles.pushbutton2,'visible','off');
0195 set(handles.pushbutton2,'Enable','off');
0196
0197 set(handles.text12,'visible','on');
0198 set(handles.text13,'visible','on');
0199 set(handles.text14,'visible','on');
0200
0201 case 'radiobutton2'
0202
0203
0204
0205
0206 x=evalin('base','whos();');
0207 list=[];
0208 for i=1:length(x)
0209 if length(x(i).size) == 3 && evalin('base',['isnumeric(' x(i).name() ');']) && x(i).size(1) > 1 && x(i).size(2) > 1 && x(i).size(3) > 1
0210 list=[list; {x(i).name()}];
0211 end
0212 end
0213 if isempty(list)
0214 list={'No data'};
0215 set(handles.uipanel4,'visible','off')
0216 else
0217 set(handles.uipanel4,'visible','on')
0218 end
0219 set(handles.listbox1,'String',list);
0220
0221
0222 set(handles.uipanel3,'visible','off');
0223 set(handles.edit1,'Enable','off');
0224 set(handles.edit2,'Enable','off');
0225 set(handles.edit3,'Enable','off');
0226
0227 set(handles.text12,'visible','off');
0228 set(handles.text13,'visible','off');
0229 set(handles.text14,'visible','off');
0230
0231 set(handles.pushbutton2,'visible','on');
0232 set(handles.pushbutton2,'Enable','off');
0233
0234 otherwise
0235
0236 end
0237 set(handles.listbox1,'value',1);
0238 set(handles.text7,'String','No selected object!');
0239 set(handles.text8,'String','No selected object!');
0240 set(handles.edit1,'String','');
0241 set(handles.edit2,'String','');
0242 set(handles.edit3,'String','');
0243
0244 function pushbutton2_Callback(hObject, eventdata, handles)
0245
0246 answer = inputdlg('Whe need a permutation vector [ dim1 dim2 dim3 ]:', 'Permutation vector');
0247 if ~isempty(answer)
0248 nom=get(handles.listbox1,'String');
0249 nom=nom{get(handles.listbox1,'Value')};
0250 if ~strcmp(nom,'No data')
0251 ins = [nom ' = permute(' nom ',' answer{:} ');'];
0252 evalin('base',ins);
0253 listbox1_Callback(hObject, eventdata, handles);
0254 end
0255 end
0256
0257
0258
0259 function listbox1_CreateFcn(hObject, ~, ~)
0260 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0261 set(hObject,'BackgroundColor','white');
0262 end
0263 function edit4_Callback(~, ~, ~)
0264 function edit4_CreateFcn(hObject, ~, ~)
0265 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0266 set(hObject,'BackgroundColor','white');
0267 end
0268 function edit1_Callback(~, ~, ~)
0269 function edit1_CreateFcn(hObject, ~, ~)
0270 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0271 set(hObject,'BackgroundColor','white');
0272 end
0273 function edit2_Callback(~, ~, ~)
0274 function edit2_CreateFcn(hObject, ~, ~)
0275 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0276 set(hObject,'BackgroundColor','white');
0277 end
0278 function edit3_Callback(~, ~, ~)
0279 function edit3_CreateFcn(hObject, ~, ~)
0280 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0281 set(hObject,'BackgroundColor','white');
0282 end
0283 function varargout = Menu_Crear_Dades_OutputFcn(~, ~, handles)
0284 varargout{1} = handles.output;