0001 function varargout = Menu_Editar_Dades2(varargin)
0002
0003
0004
0005
0006
0007
0008
0009 gui_Singleton = 1;
0010 gui_State = struct('gui_Name', mfilename, ...
0011 'gui_Singleton', gui_Singleton, ...
0012 'gui_OpeningFcn', @Menu_Editar_Dades2_OpeningFcn, ...
0013 'gui_OutputFcn', @Menu_Editar_Dades2_OutputFcn, ...
0014 'gui_LayoutFcn', [] , ...
0015 'gui_Callback', []);
0016 if nargin && ischar(varargin{1})
0017 gui_State.gui_Callback = str2func(varargin{1});
0018 end
0019
0020 if nargout
0021 [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
0022 else
0023 gui_mainfcn(gui_State, varargin{:});
0024 end
0025
0026 function Menu_Editar_Dades2_OpeningFcn(hObject, eventdata, handles, varargin)
0027
0028
0029
0030
0031 handles.output = hObject;
0032 guidata(hObject, handles);
0033
0034
0035 x=evalin('base','whos();');
0036 list=[];
0037 for i=1:length(x)
0038 if strcmp(x(i).class,'DATA') ~=0
0039 list=[list; {x(i).name}];
0040 end
0041 end
0042
0043 if isempty(list)
0044 list={'No DATA object in Workspace'};
0045 end
0046
0047 set(handles.popupmenu1,'String',list);
0048
0049
0050 set(handles.uitable1,'Visible','off');
0051 set(handles.uitable2,'Visible','off');
0052 set(handles.uitable3,'Visible','off');
0053
0054 set(handles.pushbutton1,'Visible','off');
0055 set(handles.pushbutton2,'Visible','off');
0056 set(handles.pushbutton3,'Visible','off');
0057 set(handles.pushbutton4,'Visible','off');
0058 set(handles.pushbutton5,'Visible','off');
0059
0060 set(handles.edit1,'Visible','off');
0061 set(handles.text1,'Visible','off');
0062 set(handles.text2,'Visible','off');
0063 set(handles.text3,'Visible','off');
0064
0065 if ~isempty(varargin)
0066 ind =max(strcmp(list,varargin{1})' .* (1:length(list)));
0067 if(ind ~= 0)
0068 set(handles.popupmenu1,'value', ind);
0069 popupmenu1_Callback(hObject,eventdata,handles);
0070 end
0071 end
0072
0073 function varargout = Menu_Editar_Dades2_OutputFcn(~, ~, handles)
0074 varargout{1} = handles.output;
0075
0076 function popupmenu1_Callback(~, ~, handles)
0077
0078 nom=get(handles.popupmenu1,'String');
0079 nom=nom{get(handles.popupmenu1,'Value')};
0080 if ~strcmp(nom,'No DATA object in Workspace')
0081
0082
0083
0084
0085
0086 aux = evalin('base',[nom '.copy();']);
0087
0088 nlots=aux.getBatchCount();
0089
0090 if ~isempty(aux.getClass())
0091 set(handles.uitable1,'Data',aux.getClass());
0092 else
0093 set(handles.uitable1,'Data',zeros(1,nlots));
0094 end
0095 x=get(handles.uitable1,'Data');
0096 x = num2cell(x);
0097
0098 if ~isempty(aux.getBatchLabel)
0099 x ={x{:} ;aux.getBatchLabel{:}}';
0100 else
0101 a=repmat({''},1,nlots);
0102 x ={x{:} ; a{:}}';
0103 end
0104 set(handles.uitable1,'Data',x)
0105 set(handles.uitable1,'Visible','on');
0106 set(handles.uitable1,'ColumnEditable',true(1,2));
0107
0108 if ~isempty(aux.getVariableLabel)
0109 set(handles.uitable2,'Data',aux.getVariableLabel);
0110 set(handles.uitable2,'ColumnEditable',true(1,length(aux.getVariableLabel)));
0111 set(handles.uitable2,'Visible','on');
0112 else
0113 set(handles.uitable2,'Data',repmat({''},1,size(aux.getRawData3D,2)));
0114 set(handles.uitable2,'ColumnEditable',true(1,size(aux.getRawData3D,2)));
0115 set(handles.uitable2,'Visible','on');
0116 end
0117
0118 a= aux.getStagesDurations;
0119 if isempty(a)
0120 set(handles.uitable3,'Data',{'',0})
0121 set(handles.uitable3,'Visible','on');
0122 set(handles.uitable3,'ColumnEditable',true(1,2));
0123 else
0124 set(handles.uitable3,'Data',a)
0125 x=get(handles.uitable3,'Data');
0126 x = num2cell(x);
0127 x ={aux.getStages{:} ; x{:} }';
0128 set(handles.uitable3,'Data',x)
0129 set(handles.uitable2,'ColumnEditable',true(1,2));
0130 set(handles.uitable3,'Visible','on');
0131 end
0132 set(handles.edit1,'String',aux.getName);
0133
0134 set(handles.pushbutton5,'Visible','on');
0135 set(handles.pushbutton4,'Visible','on');
0136 set(handles.pushbutton3,'Visible','on');
0137 set(handles.pushbutton2,'Visible','on');
0138 set(handles.pushbutton1,'Visible','on');
0139 set(handles.edit1,'Visible','on');
0140 set(handles.text1,'Visible','on');
0141 set(handles.text2,'Visible','on');
0142 set(handles.text3,'Visible','on');
0143
0144 set(handles.uitable1,'ColumnFormat',{'numeric', 'char'});
0145 end
0146
0147 function popupmenu1_CreateFcn(hObject, ~, ~)
0148 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0149 set(hObject,'BackgroundColor','white');
0150 end
0151
0152 function pushbutton1_Callback(hObject, ~, handles)
0153
0154 nom=get(handles.popupmenu1,'String');
0155 nom=nom{get(handles.popupmenu1,'Value')};
0156
0157 try
0158 evalin('base', [nom '.setName(''' get(handles.edit1,'String') ''');'])
0159
0160 aux=get(handles.uitable1,'Data');
0161
0162 evalin('base', [nom '.setClass([' num2str([aux{:,1}]) ']);']);
0163
0164 assignin('base','var_Temp_aux',aux(:,2));
0165
0166 evalin('base', [nom '.setBatchLabel(var_Temp_aux);']);
0167
0168 assignin('base','var_Temp_aux', get(handles.uitable2,'Data'));
0169 evalin('base',[nom '.setVariableLabel(var_Temp_aux);']);
0170
0171 assignin('base','var_Temp_aux',get(handles.uitable3,'Data'));
0172 evalin('base',[nom '.setStages(var_Temp_aux(:,1));']);
0173
0174 evalin('base',[nom '.setStagesDurations([var_Temp_aux{:,2}]);']);
0175
0176 evalin('base','clear var_Temp_aux;');
0177 close('Menu_Editar_Dades2')
0178 catch err
0179 errordlg(err.message,'Error');
0180 guidata(hObject, handles);
0181 end
0182
0183
0184 function pushbutton2_Callback(~, ~, handles)
0185 a=get(handles.uitable3,'Data');
0186 a(size(a,1)+1,1) = {''};
0187 a(size(a,1),2) = {0};
0188 set(handles.uitable3,'Data',a);
0189 set(handles.uitable2,'ColumnEditable',true(1,2));
0190
0191
0192
0193 function edit1_Callback(~, ~, ~)
0194 function edit1_CreateFcn(hObject, ~, ~)
0195 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0196 set(hObject,'BackgroundColor','white');
0197 end
0198
0199
0200 function pushbutton3_Callback(~, ~, handles)
0201
0202
0203 nom=get(handles.popupmenu1,'String');
0204 nom=nom{get(handles.popupmenu1,'Value')};
0205
0206
0207 num = evalin('base',[nom '.getRawData3D();']);
0208 num = size(num,3);
0209
0210 x=evalin('base','whos();');
0211 list={};
0212 for i=1:length(x)
0213
0214
0215 if evalin('base', ['isnumeric(' x(i).name ')'] ) && (x(i).size(1) == 1 || x(i).size(2) == 1) && (x(i).size(1) == num || x(i).size(2) == num)
0216 list={list{:}; x(i).name()};
0217 end
0218 end
0219
0220 if isempty(list)
0221 warndlg('No variable in Workspace with correct size.','Attention!');
0222 else
0223 num = listdlg('ListString',list,'SelectionMode','single','Name','Select','PromptString','select one variable:');
0224 if isempty(num)
0225 warndlg('No selected class vector!.','Attention!');
0226
0227 else
0228 data=get(handles.uitable1,'Data');
0229 valors = evalin('base', list{num});
0230 for i =1:length(valors)
0231 data{i,1} = valors(i);
0232 end
0233 set(handles.uitable1,'Data',data);
0234 end
0235 end
0236 function pushbutton4_Callback(~, ~, handles)
0237
0238
0239 nom=get(handles.popupmenu1,'String');
0240 nom=nom{get(handles.popupmenu1,'Value')};
0241
0242
0243 num = evalin('base',[nom '.getRawData3D();']);
0244 num = size(num,3);
0245
0246 x=evalin('base','whos();');
0247 list={};
0248 for i=1:length(x)
0249
0250
0251 if evalin('base', ['iscellstr(' x(i).name ')'] ) && (x(i).size(1) == 1 || x(i).size(2) == 1) && (x(i).size(1) == num || x(i).size(2) == num)
0252 list={list{:}; x(i).name()};
0253 end
0254 end
0255
0256 if isempty(list)
0257 warndlg('No variable in Workspace with correct size or class.','Attention!');
0258
0259 else
0260 num = listdlg('ListString',list,'SelectionMode','single','Name','Select','PromptString','Select one variable:');
0261 if isempty(num)
0262 warndlg('No vector for reference is selected!','Atention!');
0263
0264 else
0265 data=get(handles.uitable1,'Data');
0266 valors = evalin('base', list{num});
0267 for i =1:length(valors)
0268 data{i,2} = valors{i};
0269 end
0270 set(handles.uitable1,'Data',data);
0271 end
0272 end
0273
0274 function pushbutton5_Callback(~, ~, handles)
0275
0276
0277 nom=get(handles.popupmenu1,'String');
0278 nom=nom{get(handles.popupmenu1,'Value')};
0279
0280
0281 num = evalin('base',[nom '.getVariableCount();']);
0282
0283 x=evalin('base','whos();');
0284 list={};
0285 for i=1:length(x)
0286
0287
0288 if evalin('base', ['iscellstr(' x(i).name ')'] ) && (x(i).size(1) == 1 || x(i).size(2) == 1) && (x(i).size(1) == num || x(i).size(2) == num)
0289 list={list{:}; x(i).name()};
0290 end
0291 end
0292
0293 if isempty(list)
0294 warndlg('No variable in Workspace with correct size or class.','Attention!');
0295
0296 else
0297 num = listdlg('ListString',list,'SelectionMode','single','Name','Select','PromptString','select one variable:');
0298 if isempty(num)
0299 warndlg('No vector for names is selected!','Atention!');
0300
0301 else
0302
0303 valors = evalin('base', list{num});
0304
0305
0306
0307 set(handles.uitable2,'Data',valors);
0308 end
0309 end