function selupdatestufen
%   This software is protected by german copyright and international treaties.             
%   Copyright 2004 Markus Junghöfer & Peter Peyk. All Rights Reserved.                     
%                                                                                          
%   THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE        
%   NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO,    
%   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE    
%   OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
%   TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT,       
%   INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE      
%   OR DOCUMENTATION.                                                                      
global faktorstring stufenvec aktiverfaktor zielmat cellstr
faktorstufenedit=findobj('tag','stufenedit');
faktorstufenmenu=findobj('tag','faktorauswahl');
cell1auswahl=findobj('tag','cell1auswahl');
cell2auswahl=findobj('tag','cell2auswahl');
anzahlfaktoren=size(faktorstring);

%faktorauswahlmenu updaten
if isstr(get(faktorstufenedit,'string'))
    anzahlstufen=str2num(get(faktorstufenedit,'string'));
    stufenvec(aktiverfaktor,1)=anzahlstufen;
else
    anzahlstufen=get(faktorstufenedit,'string');
    stufenvec(aktiverfaktor,1)=anzahlstufen;
end
widindex=findstr(faktorstring{aktiverfaktor},'_');
if length(widindex)>0
    for k=1:length(widindex),
    faktorstring{aktiverfaktor}(widindex(k):widindex(k)+1)=[];
    end
end
faktorstring{aktiverfaktor}=strrep(faktorstring{aktiverfaktor},...
num2str(aktiverfaktor),[num2str(aktiverfaktor),'_',num2str(stufenvec(aktiverfaktor,1))]);
set(faktorstufenmenu,'string',faktorstring);





%cellmenus updaten
cellanzahl=1;
zielmat=[];
stufenindices=find(stufenvec~=0);
cellhelp=[];;
for j=1:length(stufenindices),
  cellanzahl=cellanzahl*stufenvec(stufenindices(j));
  zielmat=[zielmat,stufenvec(j)];
end
    
    
    
    if ~isempty(zielmat)
        if length(zielmat)>1
            cellhelp=linspace(1,cellanzahl,cellanzahl);
            cellmat=reshape(cellhelp,zielmat);
        elseif length(zielmat)<2
            cellmat=linspace(1,cellanzahl,cellanzahl);;
        end
    end
    
    evalstring='koords1(k)';
    for j=2:length(stufenindices)
        evalstring=[evalstring,',koords',num2str(j),'(k)'];
    end
    cellstr=cell(1);
    'koords2(k)';
    for k=1:cellanzahl
        indevalstring=['[',evalstring,']=ind2sub(size(cellmat),find(cellmat==k));'];
        cellevalstring=['cellstr{k}=[',char(39),'cell ',char(39),',num2str([',evalstring,'])];'];
        eval(indevalstring);
        eval(cellevalstring);
    end
    
    
set(cell1auswahl,'String',cellstr);
set(cell2auswahl,'String',cellstr);
    

    
return


