diff --git a/src/gui_close_project.m b/src/gui_close_project.m index a362d72aca38ecdea6d59c52e5b4505f85db3386..b94678ae147be6e2d1bdb7880f6473556b3b1231 100644 --- a/src/gui_close_project.m +++ b/src/gui_close_project.m @@ -28,16 +28,15 @@ function gui_close_project() % You should have received a copy of the GNU General Public License % along with Dynare. If not, see <http://www.gnu.org/licenses/>. -global project_info model_settings; -global M_ options_ oo_ estim_params_ bayestopt_ dataset_ dataset_info estimation_info ys0_ ex0_; +global project_info gui_tools.project_log_entry('Project Close',sprintf('project_name=%s; project_folder=%s',project_info.project_name,project_info.project_folder)); if project_info.modified - answer = questdlg(sprintf('Do you want to save changes to project %s?', project_info.project_name),'DynareGUI','Yes','No','Cancel','Yes'); - if strcmp(answer,'Yes') + answer = questdlg(['Do you want to save changes to project ' project_info.project_name '?'], 'DynareGUI', 'Yes', 'No', 'Cancel', 'Yes'); + if strcmp(answer, 'Yes') gui_tools.save_project(); - elseif strcmp(answer,'Cancel') + elseif strcmp(answer, 'Cancel') return end end @@ -45,52 +44,26 @@ end %close all opened tabs gui_tabs.close_all(); -project_info = struct(); -model_settings = struct(); -M_ = struct(); -options_ = struct(); -oo_ = struct(); - -if exist('estim_params_', 'var') == 1 - estim_params_ = struct(); -end -if exist('bayestopt_', 'var') == 1 - bayestopt_ = struct(); -end -if exist('dataset_', 'var') == 1 - dataset_ = struct(); -end -if exist('dataset_info', 'var') == 1 - dataset_info = struct(); -end -if exist('estimation_info', 'var') == 1 - estimation_info = struct(); -end -if exist('ys0_', 'var') == 1 - ys0_ = struct(); -end -if exist('ex0_', 'var') == 1 - ex0_ = struct(); -end - +clearvars -global +clear_persistent_variables(fileparts(which('dynare')), false) %disable menu options gui_set_menus(false); % remove appdata -if(~isempty(getappdata(0,'estimation'))) +if ~isempty(getappdata(0,'estimation')) rmappdata(0,'estimation'); end -if(~isempty(getappdata(0,'stoch_simul'))) +if ~isempty(getappdata(0,'stoch_simul')) rmappdata(0,'stoch_simul'); end -if(~isempty(getappdata(0,'estim_params'))) +if ~isempty(getappdata(0,'estim_params')) rmappdata(0,'estim_params'); end -if(~isempty(getappdata(0,'varobs'))) +if ~isempty(getappdata(0,'varobs')) rmappdata(0,'varobs'); end