change varplotlines

function change_varplotlines

global vars handles

h = get(handles.varplot, ‘UserData’);
if(h.ptr >=50)
h.cachexdata = [];
h.cacheydata = [];
h.cachecnt = 3;
set(handles.varplot, ‘userdata’, h);
end
set(h.lines(1),’YData’,vars.varplotdata(get(handles.v1button,’Value’),1:end));
set(h.lines(2),’YData’,vars.varplotdata(get(handles.v2button,’Value’),1:end));
set(h.lines(3),’YData’,vars.varplotdata(get(handles.v3button,’Value’),1:end));

% setting the high and low values

[v1top,v1bot] = rangestring(get(handles.v1button,’Value’));
set(handles.v1toptext,’String’,v1top)
set(handles.v1bottomtext,’String’,v1bot)

[v2top,v2bot] = rangestring(get(handles.v2button,’Value’));
set(handles.v2toptext,’String’,v2top)
set(handles.v2bottomtext,’String’,v2bot)

[v3top,v3bot] = rangestring(get(handles.v3button,’Value’));
set(handles.v3toptext,’String’,v3top)
set(handles.v3bottomtext,’String’,v3bot)

% set the y-axis tick labels

if ~isempty(v1top)
yaxtop = v1top; yaxbot = v1bot;
elseif ~isempty(v2top)
yaxtop = v2top; yaxbot = v2bot;
else
yaxtop = v3top; yaxbot = v3bot;
end

if (isempty(v1top) | strcmp(v1top,yaxtop)) & …
(isempty(v2top) | strcmp(v2top,yaxtop)) & …
(isempty(v3top) | strcmp(v3top,yaxtop))
set(handles.varplot,’YTickLabel’,{yaxbot,yaxtop})
else
set(handles.varplot,’YTickLabel’,{‘Low’,’High’})
end

% Since backing store is turned off, lines aren’t redrawn automatically.
% Twiddle Xlimits to force redrawing.
xl = get(handles.varplot,’Xlim’);
set(handles.varplot,’Xlim’,[-10 -5])
set(handles.varplot,’Xlim’,xl)

% re-do the axis labels

labels = get(handles.v1button,’String’);

set(handles.v1axislabel,’String’,labels{get(handles.v1button’,’Value’)})
set(handles.v2axislabel,’String’,labels{get(handles.v2button’,’Value’)})
set(handles.v3axislabel,’String’,labels{get(handles.v3button’,’Value’)})

for h = [handles.v1axislabel handles.v2axislabel handles.v3axislabel]
if strcmp(get(h,’String’),’blank’)
set(h,’Visible’,’off’)
else
set(h,’Visible’,’on’)
end
end

% re-compute the cursor display if cursor is visible

if strcmp(get(handles.cursor,’visible’),’on’)
userdata = get(handles.cursor, ‘userdata’);
reset_cursor_values(userdata.line_id, userdata.index);
end

u = get(handles.varplot,’UserData’);

drawnow

return

%%%%%%%%%%%%%%%%

function [top,bot] = rangestring(varno)
switch varno
case {1, 2, 3, 9, 10}
top = ‘1’;
bot = ‘0’;
case {4, 5, 11}
top = ‘0.75 uA’;
bot = ‘-0.75 uA’;
case {6, 7, 12}
top = ’30 uS’;
bot = ‘0 uS’;
case {8}
top = ‘0.05 uA’;
bot = ‘-0.05 uA’;
otherwise
top = ”;
bot = ”;
end