1.3. More examples

1.3.1. Button, status

This example shows nicely how you can make different views and navigate with them. Every view is embedded in a function which can be called with a click event on the button. We also have a choice element an we will see how we can use it in several views.

the code:

	    < 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);
		
		}		
		
	    ?>
	    
include the library:
		require_once('ippfp/ippfp.php');
	    
call this function to start:
		$ippfp->run();
	    
create a choice element:
		$myChoice = $ippfp->createChoice("",array(1 => "Dresden", 2 => "Prague", 3 => "San Jose"),"myChoice");
	    
start(), create a view:
	    	function start($value = null){

		    global $ippfp;
		    global $myChoice;

		    $myView = $ippfp->createView("my view");
	    
insert the choice element:
	    	$myView->insert($myChoice);
	    
create and insert a button:
		    $myView->insert($ippfp->createButton("finish","","","myButton");
	    
process:
		    $ippfp->process($myView);
	    
finish():
	    	function finish($value = null){

		    global $ippfp;
		    global $myChoice;
		    
		    $myView = $ippfp->createView("my second view");
	    
Insert the currently value into the view (it will be converted automatically into a label element):
		    $myView->insert($myChoice->getValue());
	    
process:
		    $ippfp->process($myView);
	    

1.3.2. Several buttons, case differentiation

In this example we will see how we can use several buttons to call the same view with different values.

the code:

	    < 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_name");
		    $myView->insert($ippfp->createButton("start", "2", "", "button_2_name");

		    $myView->insert($ippfp->createLabel($value);

		    $ippfp->process($myView);
		    
		}
	
	    ?>
	    
create two buttons, the second attribute could be an additional value which can be accessed in the called view:
		    $myView->insert($ippfp->createButton("start", "1", "", "button_1");
		    $myView->insert($ippfp->createButton("start", "2", "", "button_2");
	    
Readout the values. If we press button 1 the value will be 1, similar to button 2 and 2. Values will be given as function value.
		function start($value){
		    ...
	    	    $myView->insert($value);
		    ...
		}