function ltpdv_load_objects(varargin)

% Handles
myh     = varargin{1};
mainfig = varargin{end};

% Get filename from user
[filename, pathname] = uigetfile( ...
  {'*.mat', 'MATLAB MAT Files (*.mat)'; ...
  '*.xml', 'LTPDA XML Files (*.xml)'}, ...
  'Select a file');

if isequal(filename,0) || isequal(pathname,0)
  disp('Cancelled.')
else
  fname = fullfile(pathname, filename);
  
  % split filename up
  [pathstr, name, ext] = fileparts(fname);
  
  switch ext
    case '.mat'
      
      obj = load(fname);
      
    case '.xml'
      
      root_node = xmlread(filename);
      obj = utils.xml.xmlread(root_node);      

    otherwise
      error('### Unsupported file format.');
  end    
end

% Add this object to the list
objs = getappdata(mainfig, 'LTPDAobjects');
setappdata(mainfig, 'LTPDAobjects', [objs {obj}]);
% Refresh object list
ltpdv_refresh_object_list(mainfig);



% END