function varargout = Progress_bar(varargin)
% PROGRESS_BAR M-file for Progress_bar.fig
%      PROGRESS_BAR, by itself, creates a new PROGRESS_BAR or raises the existing
%      singleton*.
%
%      H = PROGRESS_BAR returns the handle to a new PROGRESS_BAR or the handle to
%      the existing singleton*.
%
%      PROGRESS_BAR('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in PROGRESS_BAR.M with the given input arguments.
%
%      PROGRESS_BAR('Property','Value',...) creates a new PROGRESS_BAR or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before Progress_bar_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to Progress_bar_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help Progress_bar

% Last Modified by GUIDE v2.5 22-Aug-2013 14:23:54

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @Progress_bar_OpeningFcn, ...
                   'gui_OutputFcn',  @Progress_bar_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
end

% --- Executes just before Progress_bar is made visible.
function Progress_bar_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to Progress_bar (see VARARGIN)

% Choose default command line output for Progress_bar
handles.output = hObject;

input = varargin{1};

handles.whichtrial = input.whichtrial;
handles.totaltrials = input.totaltrials;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes Progress_bar wait for user response (see UIRESUME)
% uiwait(handles.figure1);
end

% --- Outputs from this function are returned to the command line.
function varargout = Progress_bar_OutputFcn(hObject, eventdata, handles) 
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
% 

try
    abort = num2str(handles.abort);
catch
    abort = 0;
end
varargout{1} = abort;

x = (handles.whichtrial/handles.totaltrials)*100;
line([0 x],[0 0],'LineWidth',40);
xlim([0 100])
text(x,0,[num2str(ceil(x)) '%'],'BackgroundColor',[1 1 1]);

end

% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

handles.abort = get(handles.pushbutton1,'String');
guidata(hObject,handles);

close Progress_bar

end