|
128 | 128 | set(handles.text_upper,'String',handles.settings.labUpper);
|
129 | 129 | axMin = handles.settings.axMin;
|
130 | 130 | axMax = handles.settings.axMax;
|
131 |
| - axMidpt = axMin + (axMax - axMin)/2; |
| 131 | + axStart = handles.settings.axStart; |
132 | 132 | set(handles.slider, ...
|
133 | 133 | 'SliderStep',[1/40,1/20], ...
|
134 |
| - 'Min',axMin,'Max',axMax,'Value',axMidpt); |
| 134 | + 'Min',axMin,'Max',axMax,'Value',axStart); |
135 | 135 | % Initialize rating axis
|
136 | 136 | axes(handles.axis_rating);
|
137 | 137 | set(handles.axis_rating,'XLim',[0,100],'YLim',[0,100]);
|
@@ -282,18 +282,40 @@ function menu_axislab_Callback(hObject,~)
|
282 | 282 | function menu_axisnum_Callback(hObject,~)
|
283 | 283 | handles = guidata(hObject);
|
284 | 284 | settings = handles.settings;
|
285 |
| - prompt = {'Axis Minimum Value:','Axis Maximum Value:','Number of Axis Steps:'}; |
286 |
| - defaultans = {num2str(settings.axMin),num2str(settings.axMax),num2str(settings.axSteps)}; |
| 285 | + prompt = {'Axis Minimum Value:','Axis Maximum Value:','Number of Axis Steps:','Axis Starting Value:'}; |
| 286 | + defaultans = {num2str(settings.axMin),num2str(settings.axMax),num2str(settings.axSteps),num2str(settings.axStart)}; |
287 | 287 | numbers = inputdlg(prompt,'',1,defaultans);
|
288 | 288 | if ~isempty(numbers)
|
289 | 289 | settings.axMin = str2double(numbers{1});
|
290 | 290 | settings.axMax = str2double(numbers{2});
|
291 | 291 | settings.axSteps = str2double(numbers{3});
|
| 292 | + settings.axStart = str2double(numbers{4}); |
| 293 | + if any(isnan([settings.axMin, settings.axMax, settings.axSteps, settings.axStart])) |
| 294 | + warndlg('All values must be entered as numbers.', 'Warning'); |
| 295 | + return; |
| 296 | + end |
| 297 | + if settings.axMax <= settings.axMin |
| 298 | + warndlg('Axis Maximum Value must be greater than Axis Minimum Value.', 'Warning'); |
| 299 | + return; |
| 300 | + end |
| 301 | + if settings.axMax <= settings.axMin |
| 302 | + warndlg('Axis Maximum Value must be greater than Axis Minimum Value.', 'Warning'); |
| 303 | + return; |
| 304 | + end |
| 305 | + if settings.axStart < settings.axMin || settings.axStart > settings.axMax |
| 306 | + warndlg('Axis Start must be between then Axis Minimum and Axis Maximum Values.', 'Warning'); |
| 307 | + return; |
| 308 | + end |
292 | 309 | set(handles.axis_rating, ...
|
293 | 310 | 'YLim',[settings.axMin,settings.axMax], ...
|
294 | 311 | 'YTick',round(linspace(settings.axMin,settings.axMax,settings.axSteps),2));
|
295 | 312 | set(handles.plot_patch,'YData',[settings.axMin settings.axMin settings.axMax settings.axMax]);
|
296 |
| - setpref('carma',{'axMin','axMax','axSteps'},{settings.axMin,settings.axMax,settings.axSteps}); |
| 313 | + set(handles.slider, ... |
| 314 | + 'SliderStep',[1/40,1/20], ... |
| 315 | + 'Min',settings.axMin, ... |
| 316 | + 'Max',settings.axMax, ... |
| 317 | + 'Value',settings.axStart); |
| 318 | + setpref('carma',{'axMin','axMax','axSteps','axStart'},{settings.axMin,settings.axMax,settings.axSteps,settings.axStart}); |
297 | 319 | handles.settings = settings;
|
298 | 320 | guidata(handles.figure_collect,handles);
|
299 | 321 | end
|
@@ -442,7 +464,7 @@ function menu_defaultdir_Callback(hObject,~)
|
442 | 464 |
|
443 | 465 | function menu_about_Callback(~,~)
|
444 | 466 | global version;
|
445 |
| - msgbox(sprintf('CARMA version %.2f\nJeffrey M Girard (c) 2014-2018\nhttp://carma.jmgirard.com\nGNU General Public License v3',version),'About','Help'); |
| 467 | + msgbox(sprintf('CARMA version %.2f\nJeffrey M Girard (c) 2014-2019\nhttp://carma.jmgirard.com\nGNU General Public License v3',version),'About','Help'); |
446 | 468 | end
|
447 | 469 |
|
448 | 470 | % ===============================================================================
|
|
0 commit comments