diff --git a/src/gui_estimation.m b/src/gui_estimation.m index 0a481310b460d47f6f0a15923a981dd316f46d4a..a7a8ffd0b6814100c37902759ef9ef1672dd1d3e 100644 --- a/src/gui_estimation.m +++ b/src/gui_estimation.m @@ -38,7 +38,7 @@ gui_size = gui_tools.get_gui_elements_size(tabId); do_not_check_all_results = 0; -% --- PANELS ------------------------------------- +% Panels handles.uipanelResults = uipanel( ... 'Parent', tabId, ... 'Tag', 'uipanelVars', 'BackgroundColor', special_color,... @@ -62,7 +62,7 @@ handles.uipanelComm = uipanel( ... 'Units', 'normalized', 'Position', [0.01 0.09 0.98 0.09], ... 'Title', 'Current command options:'); -% --- STATIC TEXT ------------------------------------- +% Text uicontrol( ... 'Parent', tabId, 'Tag', 'text7', ... 'Style', 'text', 'BackgroundColor', bg_color,... @@ -79,7 +79,6 @@ uicontrol( ... 'String', 'Select endogenous variables that will be used in estimation:', ... 'HorizontalAlignment', 'left'); - if ~isfield(model_settings, 'estimation') model_settings.estimation = struct(); end @@ -102,8 +101,7 @@ handles.estimation = uicontrol( ... 'TooltipString', comm_str, ... 'HorizontalAlignment', 'left'); - -% --- PUSHBUTTONS ------------------------------------- +% Buttons handles.pushbuttonEstimation = uicontrol( ... 'Parent', tabId, ... 'Tag', 'pushbuttonSimulation', ... @@ -156,19 +154,18 @@ handles.pushbuttonCommandDefinition = uicontrol( ... 'Callback', @pushbuttonCommandDefinition_Callback); function uipanelResults_CreateFcn() - results = dynare_gui_.est_results; - - names = fieldnames(results); - num_groups = size(names,1); - current_result = 1; - maxDisplayed = 12; + results = dynare_gui_.est_results; + names = fieldnames(results); + num_groups = size(names,1); + current_result = 1; + maxDisplayed = 12; - % Create tabs - handles.result_tab_group = uitabgroup(handles.uipanelResults,'Position',[0 0 1 1]); + % Create tabs + handles.result_tab_group = uitabgroup(handles.uipanelResults,'Position',[0 0 1 1]); - for iii = 1:num_groups - create_tab(iii, names{iii}); - end + for iii = 1:num_groups + create_tab(iii, names{iii}); + end function create_tab(num,group_name) new_tab = uitab(handles.result_tab_group, 'Title',group_name , 'UserData', num); @@ -186,11 +183,14 @@ handles.pushbuttonCommandDefinition = uicontrol( ... % Create slider if numTabResults > maxDisplayed - sld = uicontrol('Style', 'slider',... + uicontrol('Style', 'slider',... 'Parent', tabs_panel, ... - 'Min',0,'Max',numTabResults - maxDisplayed,'Value',numTabResults - maxDisplayed ,... - 'Units','normalized','Position',[0.968 0 .03 1],... - 'Callback', {@scrollPanel_Callback,num,numTabResults} ); + 'Min', 0, ... + 'Max', numTabResults - maxDisplayed, ... + 'Value', numTabResults - maxDisplayed , ... + 'Units', 'normalized', ... + 'Position', [0.968 0 .03 1], ... + 'Callback', {@scrollPanel_Callback,num,numTabResults}); end for ii = 1:numTabResults @@ -208,24 +208,23 @@ handles.pushbuttonCommandDefinition = uicontrol( ... 'BackgroundColor', special_color,... 'Visible', visible,... 'Callback',{@checkbox_Callback,group{ii,3}} ); - handles.results(current_result)= handles.tab_results(num, ii); + handles.results(current_result) = handles.tab_results(num, ii); current_result = current_result + 1; %all results on all tabs end handles.num_results=current_result-1; - function checkbox_Callback(hObject, callbackdata, comm_option) + function checkbox_Callback(hObject, ~, comm_option) if isempty(comm_option) return end - value = get(hObject, 'Value'); - num_options = size(comm_option,2); - if isfield(model_settings,'estimation') + num_options = size(comm_option, 2); + if isfield(model_settings, 'estimation') user_options = model_settings.estimation; else user_options = struct(); end - if value + if hObject.Value for i = 1:num_options option_value = comm_option(i).option; indx = findstr(comm_option(i).option, '.'); @@ -267,9 +266,8 @@ handles.pushbuttonCommandDefinition = uicontrol( ... model_settings.estimation = user_options; comm_str = gui_tools.command_string('estimation', user_options); - - set(handles.estimation, 'String', comm_str); - set(handles.estimation, 'TooltipString', comm_str); + handles.estimation.String = comm_str; + handles.estimation.TooltipString = comm_str; if ~do_not_check_all_results check_all_result_option(); @@ -284,13 +282,13 @@ handles.pushbuttonCommandDefinition = uicontrol( ... end function scrollPanel_Callback(hObject, ~, tab_index, num_results) - move = num_results - maxDisplayed - floor(get(hObject, 'Value')); + move = num_results - maxDisplayed - floor(hObject.Value); for iiii = 1:num_results if iiii <= move || iiii > move+maxDisplayed - set(handles.tab_results(tab_index, iiii), 'Visible', 'off'); + handles.tab_results(tab_index, iiii).Visible = 'off'; else - set(handles.tab_results(tab_index, iiii), 'Visible', 'on'); - set(handles.tab_results(tab_index, iiii), 'Position', [3 top_position-(iiii-move)*2 60 2]); + handles.tab_results(tab_index, iiii).Visible = 'on'; + handles.tab_results(tab_index, iiii).Position = [3 top_position-(iiii-move)*2 60 2]; end end end @@ -337,7 +335,7 @@ handles.pushbuttonCommandDefinition = uicontrol( ... end jj = jj+1; end - set(handles.tab_results(num,ii), 'Value', selected); + handles.tab_results(num,ii).Value = selected; ii = ii+1; end end @@ -345,11 +343,6 @@ handles.pushbuttonCommandDefinition = uicontrol( ... end function pushbuttonEstimation_Callback(hObject, ~) - if ~any([handles.endoTable.Data{:, 1}]) - gui_tools.show_warning('Please select variables'); - uicontrol(hObject); - return - end handles.pushbuttonResults.Enable = 'off'; old_options = options_; old_oo = oo_; @@ -394,12 +387,12 @@ handles.pushbuttonCommandDefinition = uicontrol( ... function pushbuttonReset_Callback(~, ~) handles.endoTable.Data(:, 1) = {false}; for ii = 1:handles.num_results - set(handles.results(ii),'Value',0); + handles.results(ii).Value = 0; end model_settings.estimation = struct(); comm_str = gui_tools.command_string('estimation', model_settings.estimation); - set(handles.estimation, 'String', comm_str); - set(handles.estimation, 'TooltipString', comm_str); + handles.estimation.String = comm_str; + handles.estimation.TooltipString = comm_str; end function pushbuttonCommandDefinition_Callback(~, ~) @@ -425,7 +418,7 @@ handles.pushbuttonCommandDefinition = uicontrol( ... handles.estimation.String = comm_str; handles.estimation.TooltipString = comm_str; check_all_result_option(); - gui_tools.project_log_entry('Defined command estimation',comm_str); + gui_tools.project_log_entry('Defined command estimation', comm_str); catch ME gui_tools.show_error('Error in defining estimation command', ME, 'basic'); model_settings.estimation = old_comm;