You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: GraphTheory.m
    path of file: ./repos/EEGapp/EEGapp/Graph Theory
    
    the code of the file until where you have to start completion: function varargout = GraphTheory(varargin)
% GRAPHTHEORY MATLAB code for GraphTheory.fig
%      GRAPHTHEORY, by itself, creates a new GRAPHTHEORY or raises the existing
%      singleton*.
%
%      H = GRAPHTHEORY returns the handle to a new GRAPHTHEORY or the handle to
%      the existing singleton*.
%
%      GRAPHTHEORY('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in GRAPHTHEORY.M with the given input arguments.
%
%      GRAPHTHEORY('Property','Value',...) creates a new GRAPHTHEORY or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before GraphTheory_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to GraphTheory_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to r
    
function GraphTheory_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 GraphTheory (see VARARGIN)

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

% Update handles structure
guidata(hObject, handles);

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


% --- Outputs from this function are returned to the command line.
function varargout = GraphTheory_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
varargout{1} = handles.output;


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

%Get the input from the various checboxes or textfields
%and store them in variables
network_thresh = str2double(get(findobj('Tag','network_thresh'),'string'));
win = str2double(get(findobj('Tag','win'),'string'));

print_graph = get(findobj('Tag','print_graph'),'Value');
save_graph = get(findobj('Tag','save_graph'),'Value');

fullband_graph = get(findobj('Tag','full_band'),'Value');
delta_graph = get(findobj('Tag','delta_band'),'Value');
theta_graph = get(findobj('Tag','theta_band'),'Value');
alpha_graph = get(findobj('Tag','alpha_band'),'Value');
beta_graph = get(findobj('Tag','beta_band'),'Value');
gamma_graph = get(findobj('Tag','gamma_band'),'Value');

%Test for possible illegal inputs and output a warning
if print_graph == 0 && save_graph == 0
    textLabel = sprintf('You need to at least print or save the figures.');
    set(findobj('Tag','Output'), 'String',textLabel);
elseif size(network_thresh,1) > 1 || size(win,1) > 1 
    textLabel = sprintf('Please make sure all field contain only one number.');
    set(findobj('Tag','Output'), 'String',textLabel);
elseif isnan(network_thresh) || isnan(win)
    textLabel = sprintf('Please make sure all field are correctly filled.');
    set(findobj('Tag','Output'), 'String',textLabel);
elseif network_thresh > 100 || network_thresh < 1
    textLabel = sprintf('Please make sure the treshold is between 1 and 100.');
    set(findobj('Tag','Output'), 'String',textLabel);
elseif fullband_graph == 0 && delta_graph == 0 && theta_graph == 0 && alpha_graph == 0 ...
        && beta_graph == 0 && gamma_graph == 0
    textLabel = sprintf('Please select at least one of the bandpass for the filtering.');
    set(findobj('Tag','Output'), 'String',textLabel);
else
    %If no illegal input then everything is good and we can save and close
    %this window
    textLabel = sprintf('All good');
    set(findobj('Tag','Output'), 'String',textLabel);

    check_graph = get(findobj('Tag','check_graph'),'Value');
    
    graph_prp = struct('network_thresh',network_thresh/100,'win',win,...
    'full',fullband_graph,'delta',delta_graph,...
    'theta',theta_graph,'alpha',alpha_graph,...
    'beta',beta_graph,'gamma',gamma_graph,...
    'print',print_graph,'save',save_graph,'check',check_graph);
    assignin('base','graph_prp',graph_prp);

    assignin('base', 'all_good', 1);
    close
end