Home > Codi > Command_window.m

Command_window

PURPOSE ^

Pantalla per executar comandes al terminal de matlab. Util especialment en

SYNOPSIS ^

function varargout = Command_window(varargin)

DESCRIPTION ^

Pantalla per executar comandes al terminal de matlab. Util especialment en
les versions compilades de la toolbox. 

Per invocar directament des de consola aquesta pantalla nomes cal
invocar-ne la funcio sense cap parametre extra:
Command_window();

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 function varargout = Command_window(varargin)
0002 %Pantalla per executar comandes al terminal de matlab. Util especialment en
0003 %les versions compilades de la toolbox.
0004 %
0005 %Per invocar directament des de consola aquesta pantalla nomes cal
0006 %invocar-ne la funcio sense cap parametre extra:
0007 %Command_window();
0008 %
0009 
0010 gui_Singleton = 1;
0011 gui_State = struct('gui_Name',       mfilename, ...
0012                    'gui_Singleton',  gui_Singleton, ...
0013                    'gui_OpeningFcn', @Command_window_OpeningFcn, ...
0014                    'gui_OutputFcn',  @Command_window_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 Command_window_OpeningFcn(hObject, ~, handles, varargin)
0028 %output function !
0029 handles.output = hObject;
0030 handles=menu(handles);
0031 guidata(hObject, handles);
0032 
0033 x=evalc('evalin(''base'',''whos()'')');
0034 if isempty(x)
0035     x={''};
0036 else
0037     x=textscan(x,'%s','Delimiter','\n');
0038 end
0039 set(handles.listbox2,'String',x{1});
0040 set(handles.listbox2,'Value',length(get(handles.listbox2,'String')));
0041 
0042 function varargout = Command_window_OutputFcn(~, ~, handles) 
0043 varargout{1} = handles.output;
0044 
0045 function listbox1_Callback(~, ~, ~)
0046 
0047 function listbox1_CreateFcn(hObject, ~, ~)
0048 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0049     set(hObject,'BackgroundColor','white');
0050 end
0051 
0052 function edit1_Callback(~, ~, handles)
0053 try
0054     if strcmp(get(handles.edit1,'String'),'clc') || strcmp(get(handles.edit1,'String'),'clc;')
0055          set(handles.listbox1,'String',[])
0056     else
0057         x=evalc('evalin(''base'',get(handles.edit1,''String''))');
0058         anterior=get(handles.listbox1,'String');
0059         if isempty(x)
0060             x={''};
0061         else
0062             x=textscan(x,'%s','Delimiter','\n');
0063             
0064         end
0065         set(handles.listbox1,'String',[anterior; {['>>' get(handles.edit1,'String')]}; x{1}(2:(length(x{1})-1))]);
0066         set(handles.listbox1,'Value',length(get(handles.listbox1,'String')));
0067         Update_Caller();
0068     end
0069 catch err
0070     %mostrem l'error
0071     anterior=get(handles.listbox1,'String');
0072 
0073     if isempty(anterior)
0074         set(handles.listbox1,'String',[ {};'>>' get(handles.edit1,'String') ;'??? ' err.message]);%x{1}]);
0075     else
0076         set(handles.listbox1,'String',[anterior; '>>' get(handles.edit1,'String') ;'??? ' err.message]);%x{1}]);
0077     end
0078     set(handles.listbox1,'Value',length(get(handles.listbox1,'String')));
0079     
0080 end
0081 
0082 function edit1_CreateFcn(hObject, ~, ~)
0083 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0084     set(hObject,'BackgroundColor','white');
0085 end
0086 
0087 function listbox2_Callback(~, ~, ~)
0088 
0089 function listbox2_CreateFcn(hObject, ~, ~)
0090 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
0091     set(hObject,'BackgroundColor','white');
0092 end
0093 
0094 function figure1_ResizeFcn(hObject, ~, handles)
0095 pos=get(hObject,'Position');
0096 set(handles.listbox1,'Position',[1 4 pos(3)*0.75-1 pos(4)-5]);
0097 set(handles.listbox2,'Position',[pos(3)*0.75+1 4 pos(3)*0.25-2 pos(4)-5]);
0098 set(handles.edit1,'Position',[1 1 pos(3)-2 2]);
0099 
0100 function Update(hObject, ~, handles)
0101 handles.output = hObject;
0102 handles=menu(handles);
0103 guidata(hObject, handles);
0104 
0105 x=evalc('evalin(''base'',''whos()'')');
0106 if isempty(x)
0107     x={''};
0108 else
0109     x=textscan(x,'%s','Delimiter','\n');
0110 end
0111 set(handles.listbox2,'String',x{1});
0112 set(handles.listbox2,'Value',length(get(handles.listbox2,'String')));
0113 
0114 function Comanda(hObject,eventdata,handles,inst)
0115 %funció per rebre comandes des de l'exterior. inst es un string
0116 %corresponent a la comanda que volen evaluar.
0117 
0118 set(handles.edit1,'String',inst);%posem la instruccio que volem evaluar
0119 edit1_Callback(hObject, eventdata, handles);%la evaluem!

Generated on Wed 12-Sep-2012 13:03:54 by m2html © 2005