input metauml;
beginfig(1);
	% Klassen
	Class.Dialog("Dialog")
		("zTitel", "zNachricht")
		("+Dialog(pTitel, pNachricht)", "+nachricht()", "+setzeNachricht(pNachricht)", "+setzeTitel(pTitel)", "+titel()", "+zeige()");
	
	Class.EingabeDialog("EingabeDialog")
		("zErgebnis")
		("+EingabeDialog(pTitel, pNachricht)", "+ergenis()");
		
	Class.PasswortDialog("PasswortDialog")
		()
		("+PasswortDialog(pTitel, pNachricht)");
		
	Class.EntscheidungsDialog("EntscheidungsDialog")
		("zErgebnis", "zText1 = 'Ja'", "zText2 = 'Nein'", "zText3 = 'Vielleicht'", "zZeigeDrei = False")
		("+EntscheidungsDialog(pTitel, pNachricht)", "+ergebnis()", "+text1()", "+text2()", "+text3()", "+dreiTaster()", "+setzeDreiTaster(pDreiTaster)", "+setzeText1(pText)", "+setzeText2(pText)", "+setzeText3(pText)");
	
	% Modul
	Package.Dialoge("Dialoge")(Dialog, EingabeDialog, PasswortDialog, EntscheidungsDialog);
	
	% Objekte anordnen	
	topToBottom(30)(Dialog, EingabeDialog);	
	topToBottom(30)(EingabeDialog, PasswortDialog);
	leftToRight(30)(EingabeDialog, EntscheidungsDialog);
	
	% Objekte zeichnen	
	drawObjects(Dialog, EingabeDialog, PasswortDialog, EntscheidungsDialog, Dialoge);
	
	% Assoziatonen
	clink(realization)(EingabeDialog, Dialog);
	clink(realization)(PasswortDialog, EingabeDialog);
	clink(realization)(EntscheidungsDialog, Dialog);

endfig;
end

