Skip to content

Commit

Permalink
Added version check, scrolling in protocol window, removed bug in ScR…
Browse files Browse the repository at this point in the history
…emoveWaveform
  • Loading branch information
hmogensen committed Jan 26, 2015
1 parent a3254d4 commit fbbfc23
Show file tree
Hide file tree
Showing 8 changed files with 48 additions and 15 deletions.
2 changes: 1 addition & 1 deletion GuiFigure.m
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ function close_request(obj)
function window = get_window(obj)
if isempty(obj.window) || ~ishandle(obj.window)
obj.window = figure();
set(obj.window,'ResizeFcn',@(~,~) obj.resize_window(),...
set(obj.window,'SizeChangedFcn',@(~,~) obj.resize_window(),...
'CloseRequestFcn',@(~,~) obj.close_request());
end
window = obj.window;
Expand Down
9 changes: 9 additions & 0 deletions functions/sc_version_check.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
function success = sc_version_check
desired_version = '8.4';
v = ver('Matlab');
success = str2double(v.Version)>=str2double(desired_version);
if ~success
msgbox(sprintf(...
'You are using Matlab version %s. You need to update to version %s.\n',...
v.Version,desired_version));
end
25 changes: 23 additions & 2 deletions panelcomponents/@SequenceOptions/SequenceOptions.m
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,9 @@ function show_protocol(obj)
panel = uipanel('Parent',fig);
mgr = ScLayoutManager(panel);
mgr.newline(20);
mgr.add(sc_ctrl('pushbutton','Scroll down',@(~,~) scroll_down(fig,panel)),100);
mgr.add(sc_ctrl('pushbutton','Scroll up',@(~,~) scroll_up(fig,panel)),100);
mgr.newline(20);
mgr.add(sc_ctrl('text',sprintf('File : %s',obj.file.tag),[],'fontweight','bold'),100);
mgr.newline(20);
mgr.add(sc_ctrl('text','Tag',[],'fontweight','bold'),100);
Expand All @@ -166,9 +169,27 @@ function show_protocol(obj)
mgr.add(sc_ctrl('text',sprintf('%i - %i',round(seq.tmin),round(seq.tmax))),100);
mgr.add(sc_ctrl('text',seq.comment,[],'Value',2),200);
end
mgr.newline(20);
mgr.add(sc_ctrl('pushbutton','Scroll down',@(~,~) scroll_down(fig,panel)),100);
mgr.add(sc_ctrl('pushbutton','Scroll up',@(~,~) scroll_up(fig,panel)),100);
setwidth(panel,400);
mgr.trim;
setheight(fig,getheight(panel)+10);
sety(panel,5);
set(fig,'SizeChangedFcn',@(~,~) size_changed_fcn(fig,panel));

function size_changed_fcn(fig,panel)
setx(panel,0);
sety(panel,getheight(fig)-getheight(panel));
end

function scroll_down(fig,panel)
windowheight = getheight(fig);
sety(panel,gety(panel)-.5*windowheight);
end

function scroll_up(fig,panel)
windowheight = getheight(fig);
sety(panel,gety(panel)+.5*windowheight);
end
end

function print_experiment_status(obj)
Expand Down
5 changes: 4 additions & 1 deletion sc.m
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,19 @@
%
% Copyright 2014 Neural Basis of Sensorimotor Control, Lund University
% [email protected]

if nargout, gui = []; end
addpath(genpath(fileparts(mfilename('fullpath'))));
if ~sc_version_check
return
end
github_url = 'https://github.com/Neural-basis-of-sensorimotor-control/matlab-analysis/releases';
% close(findobj('Tag','Main Figure'));
% if ~isempty(findobj('Tag','Main Figure'))
close all
if ~isempty(findall(0,'type','figure'))
return
end

args = varargin;

if exist('sc_config.txt','file') == 2
Expand Down
2 changes: 1 addition & 1 deletion sensorimotor/classes/ScRemoveWaveform.m
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ function calibrate(obj,v)
else
for k=1:numel(obj.stimpos)
pos = obj.stimpos(k) + (0:obj.width-1)';
v(pos) = v(pos) - f.*obj.v_median;%f.*obj.v_interpolated_median(2:end-1)';%
v(pos) = v(pos) - f.*obj.v_median';%f.*obj.v_interpolated_median(2:end-1)';%
end
end
end
Expand Down
6 changes: 3 additions & 3 deletions viewers/@SequenceViewer/SequenceViewer.m
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
end
methods (Static)
function str = version_str()
str = '>1.1.4';
str = '1.2';
end
end
properties (SetObservable)
Expand Down Expand Up @@ -172,7 +172,7 @@ function add_reset_panel(obj)
clf(obj.plot_window_pr,'reset');
set(obj.plot_window_pr,'ToolBar','None','MenuBar','none');
set(obj.plot_window_pr,'Color',[0 0 0]);
set(obj.plot_window_pr,'ResizeFcn',@(~,~) obj.resize_plot_window());
set(obj.plot_window_pr,'SizeChangedFcn',@(~,~) obj.resize_plot_window());
end
val = obj.plot_window_pr;
end
Expand All @@ -182,7 +182,7 @@ function add_reset_panel(obj)
function val = get.histogram_window(obj)
if isempty(obj.histogram_window_pr) || ~ishandle(obj.histogram_window_pr)
obj.histogram_window_pr = figure('Color',[0 0 0],...
'ResizeFcn',@(~,~) obj.resize_histogram_window);
'SizeChangedFcn',@(~,~) obj.resize_histogram_window);
if ~isempty(obj.histogram)
set(obj.histogram,'Parent',obj.histogram_window_pr);
if isempty(obj.histogram.ax) || ~ishandle(obj.histogram.ax)
Expand Down
12 changes: 6 additions & 6 deletions viewers/@SequenceViewer/enable_resize_fcn.m
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
function enable_resize_fcn(obj,enable)
if enable
set(obj.btn_window,'ResizeFcn',@(~,~) obj.resize_btn_window());
set(obj.plot_window,'ResizeFcn',@(~,~) obj.resize_plot_window());
set(obj.histogram_window,'ResizeFcn',@(~,~) obj.resize_histogram_window());
set(obj.btn_window,'SizeChangedFcn',@(~,~) obj.resize_btn_window());
set(obj.plot_window,'SizeChangedFcn',@(~,~) obj.resize_plot_window());
set(obj.histogram_window,'SizeChangedFcn',@(~,~) obj.resize_histogram_window());
else
set(obj.btn_window,'ResizeFcn',[]);
set(obj.plot_window,'ResizeFcn',[]);
set(obj.histogram_window,'ResizeFcn',[]);
set(obj.btn_window,'SizeChangedFcn',[]);
set(obj.plot_window,'SizeChangedFcn',[]);
set(obj.histogram_window,'SizeChangedFcn',[]);
end
end
2 changes: 1 addition & 1 deletion viewers/@WaveformViewer/create_new_waveform.m
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ function add_waveform_callback(~,~)
obj.main_signal.waveforms.add(waveform);
obj.waveform = waveform;
obj.has_unsaved_changes = true;
resize_fcn = get(obj.plot_window,'ResizeFcn');
resize_fcn = get(obj.plot_window,'SizeChangedFcn');
resize_fcn();
else
msgbox(['Waveform name must be non-empty and unique for '...
Expand Down

0 comments on commit fbbfc23

Please sign in to comment.