<?xml version="1.0" encoding="Windows-1255" ?><Component name="Wizard" id="core.lib:Wizard" sort="24" urn="core.lib:Wizard.htm" toc="\"><Summary>The wizard framework control enables the user to create wizard
	control in a descriptive way via Xml.</Summary><Remarks>&lt;p&gt;A wizard let users to perform tasks that otherwise be more complicated and take longer.
		Wizard offers:&lt;/p&gt;
		&lt;ul&gt;&lt;li&gt;Simplification when the steps for completing a task are very complex. &lt;/li&gt;&lt;li&gt;Support when expertise is required. &lt;/li&gt;&lt;li&gt;Mental relief when the user has to pay attention to large number of associated factors. &lt;/li&gt;&lt;/ul&gt;
		&lt;p&gt;A wizard accomplishes these goals by:&lt;/p&gt;
		&lt;ul&gt;&lt;li&gt;Dividing the task to into just a few logical steps. &lt;/li&gt;&lt;li&gt;Offering the user sensible defaults values for selection. &lt;/li&gt;&lt;li&gt;Making decision for the user so they can only perform the task in the order of the specified steps. &lt;/li&gt;&lt;/ul&gt;
		&lt;h2&gt;Activating the wizard&lt;/h2&gt;
		&lt;p&gt;The wizard framework is activated by executing the MODAL global function.&lt;/p&gt;
		&lt;pre&gt;MODAL('core.lib.wizard.htm',{src:'com.sap.mypackage:myWizardPage.xml',...});&lt;/pre&gt;
		&lt;p&gt;The parameters for the wizard page are:&lt;/p&gt;
		&lt;table class=&quot;VERT&quot;&gt;&lt;tr&gt;&lt;td class=&quot;H V&quot;&gt;Param name &lt;/td&gt;&lt;td class=H&gt;Type &lt;/td&gt;&lt;td class=H&gt;Description &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;src &lt;/td&gt;&lt;td&gt;String &lt;/td&gt;&lt;td&gt;(required) Url for wizard definition file. &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;width &lt;/td&gt;&lt;td&gt;Integer &lt;/td&gt;&lt;td&gt;The width of the wizard window. &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;height &lt;/td&gt;&lt;td&gt;Integer &lt;/td&gt;&lt;td&gt;The height of the wizard window. &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;title &lt;/td&gt;&lt;td&gt;String &lt;/td&gt;&lt;td&gt;The title of the wizard window. &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

		&lt;h2&gt;Implementation Issues&lt;/h2&gt;
			&lt;p&gt;You can access the wizard methods and properties by the $WIZ prefix.&lt;/p&gt;
			&lt;p&gt;In order to implement a wizard you should follow this steps: &lt;/p&gt;
			&lt;ul&gt;&lt;li&gt;Define the wizard pages and the navigation between them, see the next section for the xml definition of a wizard xml. &lt;/li&gt;&lt;li&gt;For each wizard page implement an appropriate smartform editor in xml format(see &lt;q ref=&quot;core.lib:smartform&quot;&gt;smartform&lt;/q&gt; for How To define an editor in xml format). &lt;/li&gt;&lt;li&gt;When opening the wizard (via MODAL global functions ) add to the MODAL the src param pointing to the	wizard page. &lt;/li&gt;&lt;/ul&gt;
			&lt;p&gt;The finish page is the default next page of all the pages that don’t have any NEXTPAGE tag
			attached to them, The finish page collects all the data from the pages the user has navigated in.
			This action is done automatically if you follow the next steps:&lt;/p&gt;
			&lt;ul&gt;&lt;li&gt;In the smartform xml file, you add a child element called ‘showInSummary’ with the value &lt;code&gt;true&lt;/code&gt; to any editor element. &lt;/li&gt;&lt;li&gt;If the id of the editor element is also a property of the data object of the page. &lt;/li&gt;&lt;/ul&gt;
			&lt;h2&gt;Data binding &lt;/h2&gt;
			&lt;p&gt;Every page has it’s own data object, you can define that data object
			in a declarative way via the xml(for details please see the structure of
			wizard xml file). This data object is attached automatically to the data
			property of the smartform, this enables for data binding of the smartform
			to operate correctly on page data object. Please note , that for the data
			binding to operate the id of the editor element should be identical for
			the property name of the data. &lt;/p&gt;
			&lt;p&gt;For example:&lt;/p&gt;
			&lt;pre&gt;
For the following editor definition:
&amp;lt;editor&amp;gt;
	.
	.
	.
	&amp;lt;GROUP&amp;gt;
		.
		&amp;lt;check id=&amp;quot;test&amp;quot;&amp;gt;
			.
			.
		&amp;lt;/check&amp;gt;
	&amp;lt;/GROUP&amp;gt;
	.
	.
&amp;lt;/editor&amp;gt;
There should be a corresponding page definition:
&amp;lt;PAGE&amp;gt;
	&amp;lt;DATA&amp;gt;
		&amp;lt;test&amp;gt;true&amp;lt;/test&amp;gt;
	&amp;lt;/DATA&amp;gt;
	.
	.
	.
&amp;lt;/PAGE&amp;gt;

			&lt;/pre&gt;


		&lt;h2&gt;Error handling &lt;/h2&gt;
			&lt;p&gt;Error handling could be done by the following steps:&lt;/p&gt;
			&lt;ul&gt;&lt;li&gt;Gather one or more errors by executing the &lt;code&gt;$WIZ.addError('error&lt;/code&gt; description') method. &lt;/li&gt;&lt;li&gt;Exit from the current trail by executing the &lt;code&gt;$WIZ.abort()&lt;/code&gt; method. &lt;/li&gt;&lt;/ul&gt;
		&lt;h2&gt;Wizard page definition (XML format)&lt;/h2&gt;

		&lt;pre&gt;
&amp;lt;WIZARD&amp;gt;
?	&amp;lt;CALLBACKS&amp;gt;	#Define the callback for the wizard
?		&amp;lt;onStart/&amp;gt;	#Define a callback function that will be called
				at the start up of the wizard
?		&amp;lt;onFinish/&amp;gt;	#Define a callback function that will be called
				at the ending of the wizard
?		&amp;lt;onCancel/&amp;gt;	#Define a callback function that will be called
				when the user press the cancel button
	&amp;lt;/CALLBACKS&amp;gt;
	&amp;lt;PAGE id=&amp;quot;1&amp;quot;&amp;gt;	#Define the wizard page
		&amp;lt;PROPERTIES&amp;gt;
			&amp;lt;title/&amp;gt;	#Title of the page
			&amp;lt;src/&amp;gt;	#A url for smartform editor in xml format,
				see &lt;q ref=&quot;core.lib:smartform&quot;&gt;smartform&lt;/q&gt;.

?			&amp;lt;description/&amp;gt;	#Description for the page.
		&amp;lt;/PROPERTIES&amp;gt;
		&amp;lt;DATA&amp;gt;	#Define the page data structure.
			&amp;lt;child1/&amp;gt;	#Child tag name represent the data item name ,
			and the value of the child represent the
						# default value of the date item
		&amp;lt;/DATA&amp;gt;
?		&amp;lt;CALLBACKS&amp;gt;	#Define callback functions for the page.
?			&amp;lt;onExit/&amp;gt;
?			&amp;lt;onEnter/&amp;gt;
?			&amp;lt;onEnterBack/&amp;gt;
?			&amp;lt;onExitBack/&amp;gt;
		&amp;lt;/CALLBACKS&amp;gt;
*		&amp;lt;NEXTPAGE id=&amp;quot;2&amp;quot; default=&amp;quot;[true|false]&amp;quot;/&amp;gt;
				#Declare the next pages for the current
				page, default attribute is optional
				and if absent then the first next page
				is the default page.
	&amp;lt;/PAGE&amp;gt;
&amp;lt;/WIZARD&amp;gt;

		&lt;/pre&gt;</Remarks><Copyright>(c) SAP AG 2003-2006. All rights reserved.</Copyright>
<Topics>
<Structure name="WIZARD_PAGE" group="I. Structures" sortGroup="true" id="core.lib:Wizard!WIZARD_PAGE" sort="41" seq="0000"><Summary>Defines a wizard page.</Summary><Remarks>&lt;h2&gt;Wizard page properties&lt;/h2&gt;
    &lt;table class=&quot;BOTH&quot;&gt;&lt;tr&gt;&lt;td class=&quot;H V&quot;&gt;Category &lt;/td&gt;&lt;td class=H&gt;Type &lt;/td&gt;&lt;td class=H&gt;Description &lt;/td&gt;&lt;td class=H&gt;Datatype &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;src &lt;/td&gt;&lt;td&gt;STR &lt;/td&gt;&lt;td&gt;Gets the url for the xml editor page &lt;/td&gt;&lt;td&gt;String &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;id &lt;/td&gt;&lt;td&gt;STR &lt;/td&gt;&lt;td&gt;Gets the uniq id of the page &lt;/td&gt;&lt;td&gt;String &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;title &lt;/td&gt;&lt;td&gt;STR &lt;/td&gt;&lt;td&gt;Gets the title of the page &lt;/td&gt;&lt;td&gt;String &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;description &lt;/td&gt;&lt;td&gt;STR &lt;/td&gt;&lt;td&gt;Gets the description of the Page &lt;/td&gt;&lt;td&gt;String &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;data &lt;/td&gt;&lt;td&gt;Object &lt;/td&gt;&lt;td&gt;Gets or sets the data object of the page &lt;/td&gt;&lt;td&gt;Varient &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
   &lt;h2&gt;Wizard page methods&lt;/h2&gt;
	    &lt;table class=&quot;BOTH&quot;&gt;&lt;tr&gt;&lt;td class=&quot;H V&quot;&gt;Category &lt;/td&gt;&lt;td class=H&gt;Type &lt;/td&gt;&lt;td class=H&gt;Description &lt;/td&gt;&lt;td class=H&gt;Datatype &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;getEditor() &lt;/td&gt;&lt;td&gt;&lt;q ref=&quot;core.env:KitEditors!EDITOR_DEF&quot;&gt;EDITOR_DEF&lt;/q&gt; &lt;/td&gt;&lt;td&gt;Gets a reference to the attached smartform editor of the page &lt;/td&gt;&lt;td&gt;N.A. &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=V&gt;&amp;nbsp; &lt;/td&gt;&lt;td&gt;&amp;nbsp; &lt;/td&gt;&lt;td&gt;&amp;nbsp; &lt;/td&gt;&lt;td&gt;&amp;nbsp; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</Remarks></Structure>
<Property name="btnBack" type="lib:button" typeRef="&lt;q ref=&quot;core.lib:button&quot;&gt;button&lt;/q&gt;" access="RW" sortGroup="true" scope="public" id="core.lib:Wizard!btnBack" sort="34" group="Properties" seq="0001"><Summary>Gets the back button.</Summary></Property>
<Property name="btnCancel" type="lib:button" typeRef="&lt;q ref=&quot;core.lib:button&quot;&gt;button&lt;/q&gt;" access="RW" sortGroup="true" scope="public" id="core.lib:Wizard!btnCancel" sort="34" group="Properties" seq="0002"><Summary>Gets the cancel button.</Summary></Property>
<Property name="btnFinish" type="lib:button" typeRef="&lt;q ref=&quot;core.lib:button&quot;&gt;button&lt;/q&gt;" access="RW" sortGroup="true" scope="public" id="core.lib:Wizard!btnFinish" sort="34" group="Properties" seq="0003"><Summary>Gets the finish button.</Summary></Property>
<Property name="btnNext" type="lib:button" typeRef="&lt;q ref=&quot;core.lib:button&quot;&gt;button&lt;/q&gt;" access="RW" sortGroup="true" scope="public" id="core.lib:Wizard!btnNext" sort="34" group="Properties" seq="0004"><Summary>Gets the next button.</Summary></Property>
<Property name="finishPageId" access="RW" sortGroup="true" scope="public" id="core.lib:Wizard!finishPageId" sort="34" group="Properties" seq="0005"><Summary>Gets the Finish Page Id.</Summary></Property>
<Method name="abort" sortGroup="true" scope="public" id="core.lib:Wizard!abort" sort="35" group="Methods" seq="0006"><Summary>Aborts the current trail.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;abort&lt;/b&gt;(&lt;i&gt;desc&lt;/i&gt;) &amp;rarr; void"><Param name="desc" type="String">The reason that caused the abort action. This message will be displayed to the user.</Param></Parameters><Return></Return><Remarks>Please make sure that this method is not encapsulates inside
	try catch block.</Remarks></Method>
<Method name="addError" sortGroup="true" scope="public" id="core.lib:Wizard!addError" sort="35" group="Methods" seq="0007"><Summary>Adds an error to the controller stack.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;addError&lt;/b&gt;(&lt;i&gt;errorMsg&lt;/i&gt;) &amp;rarr; void"><Param name="errorMsg" type="String">The error message to add.</Param></Parameters><Return></Return><Remarks>To print and reset the stack
	of the Controller use the printErrors method.</Remarks></Method>
<Method name="disableButtons" sortGroup="true" scope="public" id="core.lib:Wizard!disableButtons" sort="35" group="Methods" seq="0008"><Summary>Disables The Next, Back and Finish buttons.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;disableButtons&lt;/b&gt;() &amp;rarr; void"></Parameters><Return></Return></Method>
<Method name="enableButtons" sortGroup="true" scope="public" id="core.lib:Wizard!enableButtons" sort="35" group="Methods" seq="0009"><Summary>Enables The Next, Back and Finish buttons.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;enableButtons&lt;/b&gt;() &amp;rarr; void"></Parameters><Return></Return></Method>
<Method name="getAllPages" sortGroup="true" scope="public" id="core.lib:Wizard!getAllPages" sort="35" group="Methods" seq="0010"><Summary>Gets a collection of all the pages in the wizard.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getAllPages&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.lib:Wizard!WIZARD_PAGE&quot;&gt;WIZARD_PAGE&lt;/q&gt;{id}"></Parameters><Return type="WIZARD_PAGE{id}" typeRef="&lt;q ref=&quot;core.lib:Wizard!WIZARD_PAGE&quot;&gt;WIZARD_PAGE&lt;/q&gt;{id}">Return a collection  of all the pages of the wizard.</Return></Method>
<Method name="getCurrentPage" sortGroup="true" scope="public" id="core.lib:Wizard!getCurrentPage" sort="35" group="Methods" seq="0011"><Summary>Gets the current page.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getCurrentPage&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.lib:Wizard!WIZARD_PAGE&quot;&gt;WIZARD_PAGE&lt;/q&gt;"></Parameters><Return type="WIZARD_PAGE" typeRef="&lt;q ref=&quot;core.lib:Wizard!WIZARD_PAGE&quot;&gt;WIZARD_PAGE&lt;/q&gt;">Return the current page.</Return></Method>
<Method name="getErrors" sortGroup="true" scope="public" id="core.lib:Wizard!getErrors" sort="35" group="Methods" seq="0012"><Summary>Gets an array of all the registered errors in the wizard.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getErrors&lt;/b&gt;() &amp;rarr; String[]"></Parameters><Return type="String[]">An array of errors description.</Return></Method>
<Method name="getSmartform" sortGroup="true" scope="public" id="core.lib:Wizard!getSmartform" sort="35" group="Methods" seq="0013"><Summary>Gets the main smartform.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getSmartform&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.lib:SmartForm&quot;&gt;SmartForm&lt;/q&gt;"></Parameters><Return type="lib:SmartForm" typeRef="&lt;q ref=&quot;core.lib:SmartForm&quot;&gt;SmartForm&lt;/q&gt;">A reference to the smartform defined in the wizard.</Return></Method>
<Method name="getTrailPages" sortGroup="true" scope="public" id="core.lib:Wizard!getTrailPages" sort="35" group="Methods" seq="0014"><Summary>Gets an array of all the pages, which the user has navigated
	through.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getTrailPages&lt;/b&gt;() &amp;rarr; &lt;q ref=&quot;core.lib:Wizard!WIZARD_PAGE&quot;&gt;WIZARD_PAGE&lt;/q&gt;[]"></Parameters><Return type="WIZARD_PAGE[]" typeRef="&lt;q ref=&quot;core.lib:Wizard!WIZARD_PAGE&quot;&gt;WIZARD_PAGE&lt;/q&gt;[]">An array of &lt;q ref=&quot;core.lib:Wizard!WIZARD_PAGE&quot;&gt;WIZARD_PAGE&lt;/q&gt; objects.</Return></Method>
<Method name="getWizardData" sortGroup="true" scope="public" id="core.lib:Wizard!getWizardData" sort="35" group="Methods" seq="0015"><Summary>Gets a collection of all the data from the pages the user has navigated
	through, this collection reflects all the data from the data property of the
	pages.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getWizardData&lt;/b&gt;() &amp;rarr; {}"></Parameters><Return type="{}">Returns a property value collection of all
	the pages the user has been.</Return><Remarks>If the same property is declared in several pages then
	only the value that the last page that assigned that value will be shown.</Remarks></Method>
<Method name="printErrors" sortGroup="true" scope="public" id="core.lib:Wizard!printErrors" sort="35" group="Methods" seq="0016"><Summary>Prints all the errors that were added by the addError method.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;printErrors&lt;/b&gt;() &amp;rarr; void"></Parameters><Return></Return></Method>
<Method name="setNextPageId" sortGroup="true" scope="public" id="core.lib:Wizard!setNextPageId" sort="35" group="Methods" seq="0017"><Summary>Assigns the next page for the trail.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;setNextPageId&lt;/b&gt;(&lt;i&gt;id&lt;/i&gt;) &amp;rarr; void"><Param name="id" type="String">The ID of the page to go to next.</Param></Parameters><Return></Return></Method>
</Topics>
</Component>