% 
%  GUI ohne GUIDE - Timer
%
function rawUhr()
  g1.seconds  = 0;

  g1.Figure = figure( 'name', 'Aufgabe: rawUhr',...
                  'menubar','none', 'numbertitle','off',...
                  'units','pixels', 'position',[200 600 300 300],... 
                  'closereq', @g1CloseReqFcn  );
  g1.Axes = axes( 'units','pix', 'position',[50 50 200 200] ); 
             
  g1.Timer = timer('Name','Timer', 'Period', 1, ...
                  'BusyMode', 'queue', 'StartDelay', 1,... 
                  'ExecutionMode', 'fixedrate',...
                  'TimerFcn', @g1LoopFnc );
                
  set( g1.Axes, 'XTick', [] ); 
  set( g1.Axes, 'YTick', [] ); 
  
  start( g1.Timer );     % Timer starten         
              
  
  function g1LoopFnc( varargin )
        cla;   % alte Zeichnung löschen       
        w = pi/2 - g1.seconds * pi / 30;   % Winkel zu Sekunden
        xPos = 50 * cos( w ); 
        yPos = 50 * sin( w );
                
        plot( [0 xPos], [0, yPos] )   % In Axes zeichnen  
        axis( [ -70 70 -70 70 ] )
        set( g1.Axes, 'XTick', [] ); 
        set( g1.Axes, 'YTick', [] ); 
        
        g1.seconds = g1.seconds + 1;  % Sekunden hochzählen 
  end

  function [] = g1CloseReqFcn( varargin ) 
    stop(g1.Timer)         % Timer stoppen 
    delete(g1.Timer)       % Timer löschen 
    delete(varargin{1})    % figure schließen      
  end    

end              
              