1.3. Weitere Beispiele

1.3.1. Button, Zustände

Dieses Beispiel zeigt sehr schön, wie im Programm verschiedene Views erzeugt und zwischen diesen navigiert werden kann. Jedes view ist dazu in eine Funktion eingebettet, welche durch eine Aktion des Button-Elements aufgerufen werden kann. Eine Auswahlliste wird erzeugt und gezeigt, wie diese in verschiedenen Views verwendet werden kann.

Das Programm:

	    < php
		require_once('ippfp/ippfp.php');
		$ippfp->run();
		
		$myChoice = $ippfp->createChoice("",
		    array(1 => "Dresden", 2 => "Prague", 3 => "San Jose"),"myChoice");
		
		function start($value = null){

		    global $ippfp;
		    global $myChoice;

		    $myView = $ippfp->createView("my view");
		
		    $myView->insert($myChoice);
		    $myView->insert($ippfp->createButton("finish","","myButton");

		    $ippfp->process($myView);

		}

		function finish($value = null){

		    global $ippfp;
		    global $myChoice;

		    $myView = $ippfp->createView("my second view");

		    $myView->insert($myChoice->getValue());

		    $ippfp->process($myView);
		
		}		
		
	    ?>
	    
Einbinden der Bibliothek:
		require_once('ippfp/ippfp.php');
	    
Aufrufen der Funktion:
		$status();
	    
Anlegen eines Choice-Elements:
		$myChoice = $ippfp->createChoice("",array(1 => "Dresden", 2 => "Prague", 3 => "San Jose"),"myChoice");
	    
Die start()-Funktion, Erzeugen eines View:
	    	function start($value = null){

		    global $ippfp;
		    global $myChoice;

		    $myView = $ippfp->createView("my view");
	    
Einfügen der Auswahlliste:
	    	$myView->insert($myChoice);
	    
Erzeugen und Einfügen eines Buttons:
		    $myView->insert($ippfp->createButton("finish","","myButton");
	    
Ausführung des View:
		    $ippfp->process($myView);
	    
Die finish()-Funktion:
	    	function finish($value = null){

		    global $ippfp;
		    global $myChoice;
		    
		    $myView = $ippfp->createView("my second view");
	    
Einfügen des aktuellen Wertes in das View, der Wert wird automatisch in ein Label-Element umgewandelt:
		    $myView->insert($myChoice->getValue());
	    
Ausführung des View:
		    $ippfp->process($myView);
	    

1.3.2. mehrere Button, Fallunterscheidung

Dieses Beispiel zeigt wie verschiedene Button, die dieselbe Funktion ansteuern, unterschieden werden können.

Das Programm:

	    < php
		require_once('ippfp/ippfp.php');
		$ippfp->run();

		function start($value){
		    global $ippfp;

		    $myView = $ippfp->createView("my view");

		    $myView->insert($ippfp->createButton("start", "1", "", "button_1");
		    $myView->insert($ippfp->createButton("start", "2", "", "button_2");

		    $myView->insert($value);

		    $ippfp->process($myView);

		}
	
	    ?>
	    
Erzeugen 2er Button, als 2. Argument können sie einen Wert erhalten welcher dann ausgelesen werden kann:
		    $myView->insert($ippfp->createButton("start", "1", "", "button_1");
		    $myView->insert($ippfp->createButton("start", "2", "", "button_2");
	    
Auslesen des Wertes, wurde Button 1 gedrückt, liegt der Wert auf 1, bei Button 2 auf 2.
		function start($value){
		    ...	    
	    	    $myView->insert($value);
		    ...
		}