www.gusucode.com > wavelet工具箱matlab源码程序 > wavelet/wavelet/wtbxexport.m
function varargout = wtbxexport(varargin) % WTBXEXPORT MATLAB file for wtbxexport.fig % Last Modified by GUIDE v2.5 22-Jun-2009 17:14:45 % % M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 01-Mar-2007. % Last Revision 17-May-2012. % Copyright 1995-2012 The MathWorks, Inc. % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @wtbxexport_OpeningFcn, ... 'gui_OutputFcn', @wtbxexport_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT %-------------------------------------------------------------------------- % --- Executes just before wtbxexport is made visible. function wtbxexport_OpeningFcn(hObject, eventdata, handles, varargin) % Choose default command line output for wtbxexport handles.output = hObject; % Update handles structure guidata(hObject, handles); % Initialisation Init_Tool(hObject,eventdata,handles,varargin{:}); % UIWAIT makes wtbxexport wait for user response (see UIRESUME) uiwait(handles.figure1); %-------------------------------------------------------------------------- % --- Outputs from this function are returned to the command line. function varargout = wtbxexport_OutputFcn(hObject,eventdata,handles) %#ok<INUSD> % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = []; %-------------------------------------------------------------------------- function lst_VAR_Callback(hObject,eventdata,handles) %#ok<INUSL,DEFNU> lst = get(hObject,'String'); val = get(hObject,'Value'); if isequal(val,2) , val = 1; end varName = lst{val}; set(handles.edi_VAR,'String',varName); %-------------------------------------------------------------------------- function Pus_OK_Callback(hObject,eventdata,handles) %#ok<INUSL,DEFNU> Verify_and_Export_Var(hObject,gcbf,handles) %-------------------------------------------------------------------------- function Verify_and_Export_Var(hObject,fig,handles) %#ok<INUSL> name_VAR = get(handles.edi_VAR,'String'); if isempty(name_VAR) , return; end if iscell(name_VAR) name_VAR = name_VAR{1}; if isempty(name_VAR) , return; end end % Verify the name of the variable OK_Var = true; lst_STR = get(handles.lst_VAR,'String'); idx = find(strcmp(name_VAR,lst_STR)); call_DLG = ~isempty(idx) && ~isequal(idx,1); if call_DLG Str_Yes = getWavMSG('Wavelet:commongui:Str_Yes'); Str_No = getWavMSG('Wavelet:commongui:Str_No'); ButtonName = questdlg(... getWavMSG('Wavelet:moreMSGRF:QUEST_Replace_VAR',name_VAR), ... getWavMSG('Wavelet:moreMSGRF:Replace_VAR'),Str_Yes,Str_No,Str_No); switch ButtonName, case Str_No OK_Var = false; % To reset the dialog and prompt again, % uncomment the 3 next lines and comment the 4th. name_VAR = get(handles.edi_VAR,'UserData'); if iscell(name_VAR) , name_VAR = name_VAR{1}; end set(handles.edi_VAR,'String',name_VAR); % close(fig) % The dialog is closed. case Str_Yes end end % Export to the workspace. if OK_Var Var_VALUE = wtbxappdata('get',fig,'Var_VALUE'); if isequal(name_VAR,getWavMSG('Wavelet:moreMSGRF:Curr_Part')) name_VAR = 'Curr_Part'; end assignin('base',name_VAR,Var_VALUE) close(fig) end %-------------------------------------------------------------------------- function Pus_CAN_Callback(hObject,eventdata,handles) %#ok<INUSD,DEFNU> close(gcbf) %-------------------------------------------------------------------------- function edi_VAR_Callback(hObject,eventdata,handles) %#ok<DEFNU,INUSD> % Verify_and_Export_Var(hObject,gcbf,handles) %-------------------------------------------------------------------------- function Init_Tool(hObject,eventdata,handles,varargin) %#ok<INUSL> % Set WindowStyle modal. wtranslate(mfilename,hObject) set(hObject,'WindowStyle','modal') % Check variables on Workspace. workspace_vars = evalin('base','whos'); num_of_vars = length(workspace_vars); var_Names = cell(1,num_of_vars); for k=1:num_of_vars , var_Names{k} = workspace_vars(k).name; end % Set new variable name. name_DEF = {'my_VAR'}; name_VAR = ''; titleSTR = getWavMSG('Wavelet:commongui:Lab_Export'); nbIN = length(varargin)-1; for k = 2:2:nbIN argNAM = varargin{k}; argVAL = varargin{k+1}; switch argNAM case 'name' , name_VAR = {argVAL}; case 'title' , titleSTR = [titleSTR ' - ' argVAL]; %#ok<AGROW> end end if isempty(name_VAR) , name_VAR = name_DEF; end var_Names = [name_VAR , '-----------------' , var_Names]; % Verify new name. idx = 0; nameUSED = any(strcmp(var_Names,name_VAR)); while nameUSED idx = idx + 1; name_VAR = {['my_VAR_' int2str(idx)]}; nameUSED = any(strcmp(var_Names,name_VAR)); end set(handles.edi_VAR,'String',name_VAR,'UserData',name_VAR); set(handles.lst_VAR,'String',var_Names); set(hObject,'Name',titleSTR); % Store new variable value. wtbxappdata('set',hObject,'Var_VALUE',varargin{1}); %--------------------------------------------------------------------------