function [sys,x0,str,ts]=animScankopf(t,x,u,flag,NewStrVal)

%Graphik initialisieren
    switch flag
        case 0,
            [sys,x0,str,ts]=mdlInitializeSizes;
      
        case 2,
            sys=mdlUpdate(t,x,u);
        
    end
end

function [sys,x0,str,ts]=mdlInitializeSizes

x0=[]; str=[]; ts=[];

fh=figure( ...
      'Name','test', ...
      'NumberTitle','off', ...
      'Units','normalized',...
      'BackingStore','off');
        %figure initialization
        
        %set(gcf,'units','normalized','Name','scankopf animation')
        uimenu('label','&Fenster schliessen','callback','close')
        %set(gca,'position',[.4 .1 .5 .8])
  
        %=================================================================
        %Simulation parameters
        pbh_s1 = uicontrol(fh,'style','pushbutton','string','Simulate',...
               'units','normalized','position',[.02 .8 .2 .1],...
               'callback',@pbh_s1_callback);
        pbh_s2 = uicontrol(fh,'style','pushbutton','string','stop',...
               'units','normalized','position',[.02 .6 .2 .1],...
               'callback',@pbh_s2_callback);
        th_s1 = uicontrol(fh,'style','text','string','bone thickness slider',...
               'units','normalized','position',[.02 .51 .2 .04]);
        sh_s1 = uicontrol(fh,'style','slider','Max',12,'Min',0,'Value',5,...
               'units','normalized','position',[.02 .4 .2 .1],...
               'callback',@sh_s1_callback);
        eth_s1 = uicontrol(fh,'style','edit','string',num2str(get(sh_s1,'Value')),...
               'units','normalized','position',[.02 .2 .2 .1],...
               'callback',@eth_s1_callback);
              
        
        %================================================================
        %Komponenten
        %gewebe
         frh_k1 = uicontrol(fh,'BackgroundColor','red','style','frame',...
               'units','normalized','position',[.3 0 .4 .05]);
        %knochen
         frh_k2 = uicontrol(fh,'BackgroundColor','white','style','frame',...
               'units','normalized','position',[.3 .05 .4 .1]);
         %scankopf
         frh_k3 = uicontrol(fh,'BackgroundColor','black','style','frame',...
               'units','normalized','position',[.35 .85 .3 .1]);
         frh_k3 = uicontrol(fh,'BackgroundColor','black','style','frame',...
               'units','normalized','position',[.4 .75 .2 .1]);
        
        %==================================================================
        %Simulations results
        frh_r1 = uicontrol(fh,'style','frame','string','',...
               'units','normalized','position',[.78 .8 .2 .1]);
        frh_r2 = uicontrol(fh,'style','frame','string','',...
               'units','normalized','position',[.78 .6 .2 .1]);
        th_r1 = uicontrol(fh,'style','text','string','elpased time',...
               'units','normalized','position',[.78 .51 .2 .04]);
        eth_r1 = uicontrol(fh,'style','edit','string','current deaph',...
               'units','normalized','position',[.78 .31 .2 .04]);
        eth_r2 = uicontrol(fh,'style','edit','string','',...
               'units','normalized','position',[.78 .4 .2 .1]);
        eth_r3 = uicontrol(fh,'style','edit','string','',...
               'units','normalized','position',[.78 .2 .2 .1]);
    function sh_s1_callback(hObject, eventdata)
        % hObject    handle to BonesThicknessSlider (see GCBO)
        % eventdata  reserved - to be defined in a future version of MATLAB
        % handles    structure with handles and user data (see GUIDATA)

        % Hints: get(hObject,'Value') returns position of slider
        % Get the new value for the Kf Gain from the slider
            %previous_val = val;
            NewVal = get(hObject,'Value');
            %set(eth_s1,'String',num2str(val));
            % Set the value of the BonesTicknessValue to the new value set by slider
            set(eth_s1,'String',NewVal)
            assignin('base','do',NewVal);
            % Set the Gain parameter of the Constant Gain Block to the new value
            set_param('scankopf/Gain','Gain',num2str(NewVal));
    end
    function pbh_s1_callback(hObject,eventdata)
        %user_string = get(hObject,'String')
        set_param(gcs, 'SimulationCommand', 'start');
    end
    function  pbh_s2_callback(hObject,eventdata)
        set_param(gcs, 'SimulationCommand', 'stop');
    end
    function eth_s1_callback(hObject, eventdata)
        Val = str2double(get(hObject,'String'));
        set(sh_s1,'Value',Val)
    end

           
      sizes = simsizes;
      sizes.NumContStates  = 0;
      sizes.NumDiscStates  = 0;
      sizes.NumOutputs     = 2;
      sizes.NumInputs      = 3;
      sizes.DirFeedthrough = 1;
      sys = simsizes(sizes);
      
      
end
function sys=mdlUpdate(t,x,u)

sys = [];
end