<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>A Place for John on the Web &#187; Wicket</title>
	<atom:link href="http://www.siberian.org/category/wicket/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.siberian.org</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sun, 21 Mar 2010 14:51:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ajax Wizards in Wicket</title>
		<link>http://www.siberian.org/2009/10/29/ajax-wizards-in-wicket/</link>
		<comments>http://www.siberian.org/2009/10/29/ajax-wizards-in-wicket/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 03:42:00 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software Projects]]></category>
		<category><![CDATA[Wicket]]></category>

		<guid isPermaLink="false">http://www.siberian.org/?p=174</guid>
		<description><![CDATA[Lately I&#8217;ve found that Wicket + Ajax == Very nice. More then nice its turns out its just a lot easier to build sites using Ajax and Wicket then it is to do it otherwise. Last night I found myself wanting to place a wizard into an entirely Ajax driven site. Luckily Google pointed me [...]]]></description>
			<content:encoded><![CDATA[<p>Lately I&#8217;ve found that Wicket + Ajax == Very nice. More then nice its turns out its just a lot easier to build sites using Ajax and Wicket then it is to do it otherwise. Last night I found myself wanting to place a wizard into an entirely Ajax driven site. Luckily Google pointed me to the answer in this thread: <a href="http://www.nabble.com/Is-there-an-ajax-WizardButton-to-use-in-a-wizard-inside-a-ModalWindow--td15978434.html" target="_blank">Ajax Wizard Button in Modal Window</a>.</p>
<p>In the spirit of duplicating information all over the internet I&#8217;ll paste my copy/paste implementation of the presented solution. It works well!</p>
<p>Step 1: Create the AjaxWizardButton class</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="co2">import org.apache.wicket.ajax.AjaxRequestTarget;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import org.apache.wicket.ajax.markup.html.form.AjaxButton;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import org.apache.wicket.extensions.wizard.IWizard;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import org.apache.wicket.extensions.wizard.IWizardModel;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="co2">import org.apache.wicket.markup.html.form.Form;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import org.apache.wicket.model.ResourceModel;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">public</span> <span class="kw2">abstract</span> <span class="kw2">class</span> AjaxWizardButton <span class="kw2">extends</span> AjaxButton <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">private</span> <span class="kw2">static</span> <span class="kw2">final</span> <span class="kw4">long</span> serialVersionUID = 1L;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">private</span> <span class="kw2">final</span> IWizard wizard;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">public</span> AjaxWizardButton<span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> id, IWizard wizard, <span class="kw2">final</span> Form form,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> labelResourceKey<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">super</span><span class="br0">&#40;</span>id, form<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">this</span>.<span class="me1">setLabel</span><span class="br0">&#40;</span><span class="kw2">new</span> ResourceModel<span class="br0">&#40;</span>labelResourceKey<span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">this</span>.<span class="me1">wizard</span> = wizard;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">public</span> AjaxWizardButton<span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> id, IWizard wizard, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> labelResourceKey<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">this</span><span class="br0">&#40;</span>id, wizard, <span class="kw2">null</span>, labelResourceKey<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">protected</span> <span class="kw2">final</span> IWizard getWizard<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">return</span> wizard;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">protected</span> <span class="kw2">final</span> IWizardModel getWizardModel<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">return</span> getWizard<span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">getWizardModel</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">protected</span> <span class="kw2">final</span> <span class="kw4">void</span> onSubmit<span class="br0">&#40;</span>AjaxRequestTarget target, Form form<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; onClick<span class="br0">&#40;</span>target, form<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">protected</span> <span class="kw2">abstract</span> <span class="kw4">void</span> onClick<span class="br0">&#40;</span>AjaxRequestTarget target, Form form<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>Step 2: Create the buttonbar that will wrap these buttons and override the native buttonbar built into the Wizard.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import org.apache.wicket.ajax.AjaxRequestTarget;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import org.apache.wicket.extensions.wizard.IWizardModel;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="co2">import org.apache.wicket.extensions.wizard.IWizardStep;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import org.apache.wicket.extensions.wizard.Wizard;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import org.apache.wicket.extensions.wizard.WizardButtonBar;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import org.apache.wicket.markup.html.form.Form;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2"><span class="kw2">public</span> <span class="kw2">class</span> AjaxWizardButtonBar <span class="kw2">extends</span> WizardButtonBar <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">private</span> <span class="kw2">static</span> <span class="kw2">final</span> <span class="kw4">long</span> serialVersionUID = 1L;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">public</span> AjaxWizardButtonBar<span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> id, <span class="kw2">final</span> Wizard wizard<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">super</span><span class="br0">&#40;</span>id, wizard<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; addOrReplace<span class="br0">&#40;</span><span class="kw2">new</span> AjaxWizardButton<span class="br0">&#40;</span><span class="st0">&quot;next&quot;</span>, wizard, <span class="st0">&quot;next&quot;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @Override</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">protected</span> <span class="kw4">void</span> onClick<span class="br0">&#40;</span>AjaxRequestTarget target, Form form<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IWizardModel wizardModel = getWizardModel<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IWizardStep step = wizardModel.<span class="me1">getActiveStep</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// let the step apply any state</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; step.<span class="me1">applyState</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// if the step completed after applying the state, move the</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// model onward</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>step.<span class="me1">isComplete</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; wizardModel.<span class="me1">next</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; error<span class="br0">&#40;</span>getLocalizer<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .<span class="me1">getString</span><span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;org.apache.wicket.extensions.wizard.NextButton.step.did.not.complete&quot;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">this</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; target.<span class="me1">addComponent</span><span class="br0">&#40;</span>wizard<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">public</span> <span class="kw2">final</span> <span class="kw4">boolean</span> isEnabled<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">return</span> getWizardModel<span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">isNextAvailable</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; addOrReplace<span class="br0">&#40;</span><span class="kw2">new</span> AjaxWizardButton<span class="br0">&#40;</span><span class="st0">&quot;previous&quot;</span>, wizard, <span class="st0">&quot;prev&quot;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">protected</span> <span class="kw4">void</span> onClick<span class="br0">&#40;</span>AjaxRequestTarget target, Form form<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; getWizardModel<span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">previous</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; target.<span class="me1">addComponent</span><span class="br0">&#40;</span>wizard<span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">public</span> <span class="kw2">final</span> <span class="kw4">boolean</span> isEnabled<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">return</span> getWizardModel<span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">isPreviousAvailable</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p>Step 3: Alter your wizard html markup so you can override the native buttonbar</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&lt;html xmlns:wicket&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;wicket:panel&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;div&gt;
</div>
</li>
<li class="li2">
<div class="de2">&lt;form wicket:id=&quot;form&quot; class=&quot;wicketExtensionsWizardForm&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&lt;span wicket:id=&quot;overview&quot;&gt;&lt;/span&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;span wicket:id=&quot;header&quot;&gt;&lt;/span&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&lt;div wicket:id=&quot;view&quot;&gt;&lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&lt;span wicket:id=&quot;feedback&quot;&gt;&lt;/span&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;div class=&quot;buttons&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;span wicket:id=&quot;buttons&quot;&gt;&lt;/span&gt;
</div>
</li>
<li class="li2">
<div class="de2">&lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;/form&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;/div&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;/wicket:panel&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;/html&gt;
</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
</ol>
</div>
<p>Step 4: Set your wizard markup output ID so that you can target it with Ajax calls</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">theWizard.<span class="me1">setOutputMarkupId</span><span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p>Step 5: Override the buttonbar call in your wizard class</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">protected</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AComponent+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Component</span></a> newButtonBar<span class="br0">&#40;</span>java.<span class="me1">lang</span>.<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> id<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">return</span> <span class="kw2">new</span> AjaxWizardButtonBar<span class="br0">&#40;</span>id, <span class="kw2">this</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
</ol>
</div>
<p>Step 6: Bask in the glow of warm Ajax.</p>
<p>Pretty simple but the impact is fantastic. Using this code I was able to Ajaxify my wizard in well under 10 minutes.</p>
<p>Thanks Wicket!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.siberian.org/2009/10/29/ajax-wizards-in-wicket/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Customizing Wicket Wizard Markup</title>
		<link>http://www.siberian.org/2009/06/24/customizing-wicket-wizard-markup/</link>
		<comments>http://www.siberian.org/2009/06/24/customizing-wicket-wizard-markup/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 08:04:23 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Software Projects]]></category>
		<category><![CDATA[Wicket]]></category>

		<guid isPermaLink="false">http://www.siberian.org/?p=77</guid>
		<description><![CDATA[Apache Wicket provides an interesting out of the box component called a 'Wizard' that does just what you'd expect it to, create an easy to use Wizard workflow that you can insert into your page. The base markup that comes with the wizard is 'adequate' in that 'it works' but its complex table based structure is at odds with modern CSS based markup making it difficult to adapt at times. Luckily its totally and completely customizable (as all good Wicket Things are)..]]></description>
			<content:encoded><![CDATA[<p><strong>Overview</strong></p>
<p style="text-align: center;"><a href="http://wicket.apache.org/"></a></p>
<p style="text-align: left;"><a href="http://wicket.apache.org/">Apache Wicke</a>t provides an interesting out of the box component called a &#8216;Wizard&#8217; that does just what you&#8217;d expect it to, create an easy to use Wizard workflow that you can insert into your page. It provides next, previous and cancel buttons as well as tracking the state between steps and enabling the &#8216;Finish&#8217; button when appropriate. You can see the genericwizard in action here : <a href="http://www.wicket-library.com/wicket-examples/wizard/">http://www.wicket-library.com/wicket-examples/wizard/</a></p>
<p>The base markup that comes with the wizard is &#8216;adequate&#8217; in that &#8216;it works&#8217; but its complex table based structure is at odds with modern CSS based markup making it difficult to adapt at times. Luckily  (ok, by design..) its totally and completely customizable (as all good Wicket Things are) however doing so is a bit obtuse and generally left as an exercise for the reader. Here is a step by step for how you customize the look/feel of your wizard in Wicket. I won&#8217;t be explaining the base case, the link above details that. This tutorial won&#8217;t go &#8220;all the way&#8221;, if you really want to customize to the &#8216;nth degree its easy enough once you understand how the basics work.</p>
<p>When in doubt, download the wicket source and follow the bouncing ball, thats all I did. This quick tutorial also touches on how to customize a few other pieces of the Wizard process but the core of it is demonstrated in the first section.</p>
<p>You can download my Quickstart here: <a href="http://www.siberian.org/wp-content/uploads/2009/06/wizard-quickstart.zip">wizard-quickstart</a>.zip</p>
<p><strong>Create A Wizard without tables!</strong></p>
<p>Lets create a Table-less Wizard! A Wizard is basically a Panel that extends &#8216;Wizard&#8217;, lets call ours &#8220;YourCustomWizard&#8221; and build out its base methods, assign it a model and add a few steps. In the Real World your steps are probably going to be dynamic. If you want a quick tutorial on that let me know but its pretty easy to get through.  Note that the HTML on the right has NO TABLES. You are now in control of your own CSS destiny.</p>
<p>Put simply (thanks Nathan!) &#8220;To override the default markup, make a markup file using the same basename as your custom Wizard class (e.g., &#8220;YourCustomWizard.html&#8221;) with the following wicket:id attributes: <em><strong>form</strong></em>, <em><strong>overview</strong></em>, <em><strong>header</strong></em>, <em><strong>view</strong></em>, <em><strong>feedback</strong></em> and <em><strong>buttons</strong></em>. With that knowledge you can stop reading. Continue on for code samples.</p>
<p>Your welcome. NOTE: The Old Fat Wizard is the html that ships with the Wicket source.</p>
<p><span style="font-size: x-small;">(/src/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/Wizard.html)</span></p>
<table border="0">
<tbody>
<tr>
<td>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">package</span> wicket.quickstart;</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; min-height: 15px; padding: 0px; margin: 0px; border: 0px initial initial;">
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">import</span> wicket.Component;</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">import</span> wicket.extensions.wizard.Wizard;</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">import</span> wicket.extensions.wizard.WizardModel;</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; min-height: 15px; padding: 0px; margin: 0px; border: 0px initial initial;">
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">public</span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">class</span> <span style="text-decoration: underline;">YourCustomWizard</span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">extends</span> Wizard {</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f5f; padding: 0px; margin: 0px; border: 0px initial initial;">/*</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f5f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> * Create a wizard with a default model</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f5f; padding: 0px; margin: 0px; border: 0px initial initial;">* and three custom steps. Each step</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f5f; padding: 0px; margin: 0px; border: 0px initial initial;">* is a form with some default data</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f5f; padding: 0px; margin: 0px; border: 0px initial initial;">* in the model for example purpose.</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f5f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> */</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">public</span> YourCustomWizard(String id){</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">super</span>(id);</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> WizardModel model = <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">new</span> WizardModel();</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> YourObject theObj = <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">new</span> YourObject();</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> theObj.setElementdescription(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;">&#8220;First item&#8221;</span>);</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> theObj.setElementlabel(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;">&#8220;Label me&#8221;</span>);</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> theObj.setElementvalue(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;">&#8220;my value&#8221;</span>);</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; min-height: 15px; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> YourObject theObj2 = <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">new</span> YourObject();</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> theObj2.setElementdescription(</span>&#8220;Second item&#8221;<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;">);</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> theObj2.setElementlabel(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;">&#8220;Label me2&#8243;</span>);</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> theObj2.setElementvalue(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;">&#8220;my value2&#8243;</span>);</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; min-height: 15px; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> YourObject theObj3 = <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">new</span> YourObject();</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> theObj3.setElementdescription(</span>&#8220;Third item&#8221;<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;">);</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> theObj3.setElementlabel(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;">&#8220;Label me3&#8243;</span>);</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> theObj3.setElementvalue(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;">&#8220;my value3&#8243;</span>);</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; min-height: 15px; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> model.add(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">new</span> YourWizardStep(theObj));</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> model.add(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">new</span> YourWizardStep(theObj2));</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> model.add(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">new</span> YourWizardStep(theObj3));</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> init(model);</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>}</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f5fbf; padding: 0px; margin: 0px; border: 0px initial initial;">/**</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f5fbf; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> </span>*<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>On<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>finish.</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f5fbf; padding: 0px; margin: 0px; border: 0px initial initial;">*</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f5fbf; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> </span>*<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>Put<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>any<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>specific<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>logic<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>you<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>want<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>when<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>the<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f5fbf; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> </span>*<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>user<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>hits<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>the<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>&#8220;finish&#8221;<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>button<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>eventually</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f5fbf; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> </span>*<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>Here<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>we<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>print<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>to<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>error<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>log<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>and<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>send<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>them</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f5fbf; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> </span>*<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>to<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>the<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>home<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>page.</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f5fbf; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> </span>*<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>Normally<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>used<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>for<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>saving<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>unclean<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>objects<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f5fbf; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> </span>*<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>to<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>database<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>if<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>you<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>did<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>not<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>do<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>it<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>in<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>the<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>WizardStep</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f5fbf; padding: 0px; margin: 0px; border: 0px initial initial;">*/</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #646464; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> </span>@Override</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">public</span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">void</span> onFinish() {</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> System.<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #0000c0; padding: 0px; margin: 0px; border: 0px initial initial;">err</span>.println(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;">&#8220;DONE WITH THE WIZ!&#8221;</span>);</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> setResponsePage(Index.<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">class</span>);</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> }</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f5fbf; padding: 0px; margin: 0px; border: 0px initial initial;">/**</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f5fbf; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> </span>*<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>On<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>cancel.</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f5fbf; padding: 0px; margin: 0px; border: 0px initial initial;">*</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f5fbf; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> </span>*<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>Put<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>your<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>cancel<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>logic<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>in<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>for<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>when<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>users<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f5fbf; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> </span>*<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>hit<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>the<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>&#8216;Cancel&#8217;<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>button.</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f5fbf; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> </span>*<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>I<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>send<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>them<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>to<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>the<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>home<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>page</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f5fbf; padding: 0px; margin: 0px; border: 0px initial initial;">*/</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #646464; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> </span>@Override</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">public</span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">void</span> onCancel() {</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> setResponsePage(Index.<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">class</span>);</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> }</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; min-height: 15px; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">protected </span>Component newButtonBar(java.lang.String id){</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">return</span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">new</span> ButtonBarPanel(id, <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">this</span>);</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> }</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">protected </span>Component newOverviewBar(java.lang.String id){</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">return</span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">new</span> OverviewPanel(id);</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;">}</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; min-height: 15px; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;">}</p>
</td>
<td>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;"><strong><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;">The New Lean And Mean Wizard </span></strong></span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;"><strong><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;">(YourCustomWizard.html)</span></strong></span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;"><strong> </strong></span></p>
<p><strong><br />
</strong></p>
<p><strong> </strong></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="text-decoration: underline;">&lt;</span><span style="text-decoration: underline;">wicket:panel</span><span style="text-decoration: underline;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;</span>div<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">form</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span><span style="text-decoration: underline;">wicket:id</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;">=</span>&#8220;form&#8221;<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f007f; padding: 0px; margin: 0px; border: 0px initial initial;">class</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;">=</span>&#8220;wicketExtensionsWizardForm&#8221;<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">span</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span><span style="text-decoration: underline;">wicket:id</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;">=</span>&#8220;overview&#8221;<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;&lt;/</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">span</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #7f007f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">span</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span><span style="text-decoration: underline;">wicket:id</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;">=</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;">&#8220;header&#8221;</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;&lt;/</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">span</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #7f007f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">div</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span><span style="text-decoration: underline;">wicket:id</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;">=</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;">&#8220;view&#8221;</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;&lt;/</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">div</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">span</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span><span style="text-decoration: underline;">wicket:id</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;">=</span>&#8220;feedback&#8221;<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;&lt;/</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">span</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">div</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f007f; padding: 0px; margin: 0px; border: 0px initial initial;">class</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;">=</span>&#8220;buttons&#8221;<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">span</span> <span style="text-decoration: underline;">wicket:id</span>=<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;">&#8220;buttons&#8221;</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;&lt;/</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">span</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;/</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">div</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;/</span>form<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;/</span>div<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;/</span>wicket:panel<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;"> </span></p>
<p style="font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f7f; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><strong><span style="color: #000000;">The Old Fat Wizard </span></strong></p>
<p style="font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f7f; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><strong><span style="color: #000000;">(Wizard.html)</span></strong></p>
<p style="font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f7f; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="text-decoration: underline;">&lt;</span><span style="text-decoration: underline;">wicket:panel</span><span style="text-decoration: underline;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">div</span><span style="color: #000000;"> </span><span style="color: #7f007f;">class</span><span style="color: #000000;">=</span>&#8220;wicketExtensionsWizard&#8221;<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">form</span><span style="color: #3f7f7f;"><span style="color: #000000;"> </span></span><span style="text-decoration: underline;">wicket:id</span><span style="color: #000000;">=</span>&#8220;form&#8221;<span style="color: #000000;"> </span><span style="color: #7f007f;">class</span><span style="color: #000000;">=</span>&#8220;wicketExtensionsWizardForm&#8221;<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #000000;"> </span><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">table</span><span style="color: #000000;"> </span><span style="color: #7f007f;">class</span><span style="color: #000000;">=</span>&#8220;wicketExtensionsWizardOuterTable&#8221;<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">tr</span><span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #7f007f;"><span style="color: #000000;"> </span><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">td</span><span style="color: #000000;"> </span>valign<span style="color: #000000;">=</span><span style="color: #2a00ff;">&#8220;top&#8221;</span><span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">span</span><span style="color: #000000;"> </span><span style="text-decoration: underline;">wicket:id</span><span style="color: #000000;">=</span>&#8220;overview&#8221;<span style="color: #008080;">&gt;&lt;/</span><span style="color: #3f7f7f;">span</span><span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #008080;">&lt;/</span><span style="color: #3f7f7f;">td</span><span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #7f007f;"><span style="color: #000000;"> </span><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">td</span><span style="color: #000000;"> </span>valign<span style="color: #000000;">=</span><span style="color: #2a00ff;">&#8220;top&#8221;</span><span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #000000;"> </span><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">table</span><span style="color: #000000;"> </span><span style="color: #7f007f;">class</span><span style="color: #000000;">=</span>&#8220;wicketExtensionsWizardInnerTable&#8221;<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #000000;"> </span><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">tr</span><span style="color: #000000;"> </span><span style="color: #7f007f;">class</span><span style="color: #000000;">=</span>&#8220;wicketExtensionsWizardHeaderRow&#8221;<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #000000;"> </span><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">td</span><span style="color: #000000;"> </span><span style="color: #7f007f;">valign</span><span style="color: #000000;">=</span>&#8220;top&#8221;<span style="color: #000000;"> </span><span style="color: #7f007f;">class</span><span style="color: #000000;">=</span>&#8220;wicketExtensionsWizardHeader&#8221;<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">span</span><span style="color: #000000;"> </span><span style="text-decoration: underline;">wicket:id</span><span style="color: #000000;">=</span>&#8220;header&#8221;<span style="color: #008080;">&gt;&lt;/</span><span style="color: #3f7f7f;">span</span><span style="color: #008080;">&gt;&lt;/</span><span style="color: #3f7f7f;">td</span><span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #008080;">&lt;/</span><span style="color: #3f7f7f;">tr</span><span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #000000;"> </span><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">tr</span><span style="color: #000000;"> </span><span style="color: #7f007f;">class</span><span style="color: #000000;">=</span>&#8220;wicketExtensionsWizardViewRow&#8221;<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #000000;"> </span><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">td</span><span style="color: #000000;"> </span><span style="color: #7f007f;">valign</span><span style="color: #000000;">=</span>&#8220;top&#8221;<span style="color: #000000;"> </span><span style="color: #7f007f;">class</span><span style="color: #000000;">=</span>&#8220;wicketExtensionsWizardView&#8221;<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">div</span><span style="color: #3f7f7f;"><span style="color: #000000;"> </span></span><span style="text-decoration: underline;">wicket:id</span><span style="color: #000000;">=</span>&#8220;view&#8221;<span style="color: #000000;"> </span><span style="color: #7f007f;">class</span><span style="color: #000000;">=</span>&#8220;wicketExtensionsWizardViewInner&#8221;<span style="color: #008080;">&gt;&lt;/</span><span style="color: #3f7f7f;">div</span><span style="color: #008080;">&gt;&lt;/</span><span style="color: #3f7f7f;">td</span><span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #008080;">&lt;/</span><span style="color: #3f7f7f;">tr</span><span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #000000;"> </span><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">tr</span><span style="color: #000000;"> </span><span style="color: #7f007f;">class</span><span style="color: #000000;">=</span>&#8220;wicketExtensionsWizardFeedbackRow&#8221;<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #000000;"> </span><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">td</span><span style="color: #000000;"> </span><span style="color: #7f007f;">valign</span><span style="color: #000000;">=</span>&#8220;top&#8221;<span style="color: #000000;"> </span><span style="color: #7f007f;">class</span><span style="color: #000000;">=</span>&#8220;wicketExtensionsWizardFeedback&#8221;<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">span</span><span style="color: #000000;"> </span><span style="text-decoration: underline;">wicket:id</span><span style="color: #000000;">=</span>&#8220;feedback&#8221;<span style="color: #008080;">&gt;&lt;/</span><span style="color: #3f7f7f;">span</span><span style="color: #008080;">&gt;&lt;/</span><span style="color: #3f7f7f;">td</span><span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #008080;">&lt;/</span><span style="color: #3f7f7f;">tr</span><span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #000000;"> </span><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">tr</span><span style="color: #000000;"> </span><span style="color: #7f007f;">class</span><span style="color: #000000;">=</span>&#8220;wicketExtensionsWizardButtonBarRow&#8221;<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #000000;"> </span><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">td</span><span style="color: #000000;"> </span><span style="color: #7f007f;">valign</span><span style="color: #000000;">=</span>&#8220;top&#8221;<span style="color: #000000;"> </span><span style="color: #7f007f;">class</span><span style="color: #000000;">=</span>&#8220;wicketExtensionsWizardButtonBar&#8221;<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">span</span><span style="color: #000000;"> </span><span style="text-decoration: underline;">wicket:id</span><span style="color: #000000;">=</span>&#8220;buttons&#8221;<span style="color: #008080;">&gt;&lt;/</span><span style="color: #3f7f7f;">span</span><span style="color: #008080;">&gt;&lt;/</span><span style="color: #3f7f7f;">td</span><span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #008080;">&lt;/</span><span style="color: #3f7f7f;">tr</span><span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3f7f7f;"><span style="color: #000000;"> </span><span style="color: #008080;">&lt;/</span>table<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #008080;">&lt;/</span><span style="color: #3f7f7f;">td</span><span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #008080;"><span style="color: #000000;"> </span>&lt;/<span style="color: #3f7f7f;">tr</span>&gt;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3f7f7f;"><span style="color: #000000;"> </span><span style="color: #008080;">&lt;/</span>table<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3f7f7f;"><span style="color: #008080;">&lt;/</span>form<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3f7f7f;"><span style="color: #008080;">&lt;/</span>div<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3f7f7f;"><span style="color: #008080;">&lt;/</span>wicket:panel<span style="color: #008080;">&gt;</span></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="color: #000000;"><strong> </strong></span></p>
<p><strong><br />
</strong></p>
<p><strong> </strong></td>
</tr>
</tbody>
</table>
<p>Now that you have the base system of Custom Wizardry in place lets look at some more components you can customize.</p>
<p><span style="color: #7f0055;"> </span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><strong>What&#8217;s in a Wizard Step?</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><strong><span style="font-family: Georgia; font-weight: normal; font-size: 13px; line-height: 19px; ">Lets first look at our example step &#8220;YourWizardStep()&#8221;. In our case this is a panel that extends the WizardStep class with a nice form that collects &#8216;elementvalue&#8217; and displays two fields, &#8216;elementlabel&#8217; and &#8216;elementdescription&#8217;. Its important to stop for a second and understand that I am using the same class for *all* of my wizard steps. You are not bound by this, you can create a multitude of wizard steps and add them to your wizard as you see fit. Your Wizard can do things like branch steps based on the previous set, force users to stay on a step and you can even embed a full wizard within a step for some Wizard On Wizard action.</span></strong></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><strong><span style="font-family: Georgia; font-weight: normal; font-size: 13px; line-height: 19px; "> </span></strong></p>
<p><strong><br />
</strong></p>
<p><strong> </strong></p>
<table border="0">
<tbody>
<tr>
<td>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">package</span> wicket.quickstart;</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; min-height: 15px; padding: 0px; margin: 0px; border: 0px initial initial;">
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">import</span> wicket.extensions.wizard.WizardStep;</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">import</span> wicket.markup.html.basic.Label;</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">import</span> wicket.markup.html.form.TextField;</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">import</span> wicket.model.CompoundPropertyModel;</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">import</span> wicket.model.PropertyModel;</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; min-height: 15px; padding: 0px; margin: 0px; border: 0px initial initial;">
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">public</span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">class</span> <span style="text-decoration: underline;">YourWizardStep</span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">extends</span> WizardStep {</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">public</span> YourWizardStep(YourObject object1){</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> setModel(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">new</span> CompoundPropertyModel(object1));</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> add(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">new</span> Label(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;">&#8220;elementlabel&#8221;</span>));</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> add(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">new</span> Label(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;">&#8220;elementdescription&#8221;</span>).setEscapeModelStrings(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">false</span>));</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>TextField theField = <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">new</span> TextField(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;">&#8220;elementvalue&#8221;</span>,<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">new</span> PropertyModel(object1, <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;">&#8220;elementvalue&#8221;</span>));</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> theField.setRequired(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">true</span>);</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> add(theField);</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> }</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f5f; padding: 0px; margin: 0px; border: 0px initial initial;">/*</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f5f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> *  This is called when the next button i clicked,</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f5f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> *  I assume you want to use your for for data gathering..</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f5f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> *  Normally you&#8217;d save the object the the database</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f5f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> *  Or just leave it in memory and save it in the Wizard onFinish()</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f5f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> */</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">public</span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">void</span> applyState(){</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> System.<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #0000c0; padding: 0px; margin: 0px; border: 0px initial initial;">err</span>.println(<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;">&#8220;Applying state!&#8221;</span>);</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f5f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> setComplete(</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f0055; padding: 0px; margin: 0px; border: 0px initial initial;">true</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;">); </span>// Set this step as done, you should put custom logic here</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; white-space: pre; padding: 0px; margin: 0px; border: 0px initial initial;"> </span> }</p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;">}</p>
</td>
<td>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #7f007f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">html</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span>xmlns:wicket<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;</span>wicket:panel<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;</span>fieldset<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">legend</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">span</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f007f; padding: 0px; margin: 0px; border: 0px initial initial;">wicket:id</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;">=</span>&#8220;elementlabel&#8221;<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;&lt;/</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">span</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;/</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">legend</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">span</span> <span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f007f; padding: 0px; margin: 0px; border: 0px initial initial;">wicket:id</span>=<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;">&#8220;elementdescription&#8221;</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span>[Element Description]<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;/</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">span</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">br</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">/&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #2a00ff; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;">input</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f007f; padding: 0px; margin: 0px; border: 0px initial initial;">type</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;">=</span>text<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;"> </span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #7f007f; padding: 0px; margin: 0px; border: 0px initial initial;">wicket:id</span><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #000000; padding: 0px; margin: 0px; border: 0px initial initial;">=</span>&#8220;elementvalue&#8221;<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;/</span>fieldset<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;/</span>wicket:panel<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
<p style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; text-align: justify; font: normal normal normal 11px/normal Monaco; color: #3f7f7f; padding: 0px; margin: 0px; border: 0px initial initial;"><span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&lt;/</span>html<span style="font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: #008080; padding: 0px; margin: 0px; border: 0px initial initial;">&gt;</span></p>
</td>
</tr>
</tbody>
</table>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="font-family: Georgia; color: #7f0055; font-size: small;"><span> </span></span></p>
<p><strong>Add an Overview</strong></p>
<p>The overview is just a bit of markup that is placed in the element named &#8216;overview&#8217;. Nominally this is used to give the user an &#8216;overview&#8217; of what this wizard is all about etc.  This is pretty vanilla but we are nothing if not complete.</p>
<table border="0">
<tbody>
<tr>
<td>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #7f0055;">package</span> wicket.quickstart;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #7f0055;">import</span> wicket.markup.html.panel.Panel;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3f7f5f;">/*</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3f7f5f;">* The Overview panel is displayed in the Overview <span style="text-decoration: underline;">div</span> automatically.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3f7f5f;">* It serves no special purposes other then for the default wizard</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3f7f5f;">* to display common information across pages.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3f7f5f;">*/</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #7f0055;">public</span> <span style="color: #7f0055;">class</span> <span style="text-decoration: underline;">OverviewPanel</span> <span style="color: #7f0055;">extends</span> Panel {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="white-space: pre;"> </span><span style="color: #7f0055;">public</span> OverviewPanel(String id){</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="white-space: pre;"> </span><span style="color: #7f0055;">super</span>(id);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px;"><span style="white-space: pre;"> </span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="white-space: pre;"> </span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;">}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px;">
</td>
<td>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #7f007f;"><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">html</span><span style="color: #000000;"> </span>xmlns:wicket<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3f7f7f;"><span style="color: #008080;">&lt;</span>wicket:panel<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;">Overview Panel</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3f7f7f;"><span style="color: #008080;">&lt;/</span>wicket:panel<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3f7f7f;"><span style="color: #008080;">&lt;/</span>html<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px;">
</td>
</tr>
</tbody>
</table>
<p><strong>Pressing My Buttons</strong></p>
<p>The other thing developers usually want to customize are the buttons. You may need to add custom classes in order to Prettify them, you might want to use images. Buttons always need some help. The Wizard by default places buttons in a wicket element  component with the id &#8216;buttons&#8217;. To create your own ButtonBar you just need to &#8230; wait for it .. extend Panel and make sure you have some specific markup in the page to indicate to wicket what element to attach its actions to.</p>
<table border="0">
<tbody>
<tr>
<td>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #7f0055;">package</span> wicket.quickstart;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #7f0055;">import</span> wicket.extensions.wizard.CancelButton;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #7f0055;">import</span> wicket.extensions.wizard.FinishButton;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #7f0055;">import</span> wicket.extensions.wizard.NextButton;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #7f0055;">import</span> wicket.extensions.wizard.PreviousButton;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #7f0055;">import</span> wicket.extensions.wizard.Wizard;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #7f0055;">import</span> wicket.markup.html.panel.Panel;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #7f0055;">public</span> <span style="color: #7f0055;">class</span> <span style="text-decoration: underline;">ButtonBarPanel</span> <span style="color: #7f0055;">extends</span> Panel {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="white-space: pre;"> </span><span style="color: #7f0055;">public</span> ButtonBarPanel(String id, Wizard wizard){</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="white-space: pre;"> </span><span style="color: #7f0055;">super</span>(id);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;">add(<span style="color: #7f0055;">new</span> PreviousButton(<span style="color: #2a00ff;">&#8220;previous&#8221;</span>, wizard));</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;">add(<span style="color: #7f0055;">new</span> NextButton(<span style="color: #2a00ff;">&#8220;next&#8221;</span>, wizard));</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;">add(<span style="color: #7f0055;">new</span> YourLastButton(<span style="color: #2a00ff;">&#8220;last&#8221;</span>, wizard));</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;">add(<span style="color: #7f0055;">new</span> CancelButton(<span style="color: #2a00ff;">&#8220;cancel&#8221;</span>, wizard));</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;">add(<span style="color: #7f0055;">new</span> FinishButton(<span style="color: #2a00ff;">&#8220;finish&#8221;</span>, wizard));</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="white-space: pre;"> </span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;">}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px;">
</td>
<td>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3f7f7f;"><span style="text-decoration: underline;">&lt;</span><span style="text-decoration: underline;">wicket:panel</span><span style="text-decoration: underline;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3f7f7f;"><span style="color: #008080;">&lt;</span>div<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #000000;"> </span><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">input</span><span style="color: #000000;"> </span><span style="text-decoration: underline;">wicket:id</span><span style="color: #000000;">=</span>&#8220;previous&#8221;<span style="color: #000000;"> </span><span style="color: #7f007f;">type</span><span style="color: #000000;">=</span>&#8220;submit&#8221;<span style="color: #000000;"> </span><span style="color: #7f007f;">value</span><span style="color: #000000;">=</span>&#8220;previous&#8221;<span style="color: #000000;"> </span><span style="color: #008080;">/&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #000000;"> </span><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">input</span><span style="color: #000000;"> </span><span style="text-decoration: underline;">wicket:id</span><span style="color: #000000;">=</span>&#8220;next&#8221;<span style="color: #000000;"> </span><span style="color: #7f007f;">type</span><span style="color: #000000;">=</span>&#8220;submit&#8221;<span style="color: #000000;"> </span><span style="color: #7f007f;">value</span><span style="color: #000000;">=</span>&#8220;next&#8221;<span style="color: #000000;"> </span><span style="color: #008080;">/&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #000000;"> </span><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">input</span><span style="color: #000000;"> </span><span style="text-decoration: underline;">wicket:id</span><span style="color: #000000;">=</span>&#8220;last&#8221;<span style="color: #000000;"> </span><span style="color: #7f007f;">type</span><span style="color: #000000;">=</span>&#8220;submit&#8221;<span style="color: #000000;"> </span><span style="color: #7f007f;">value</span><span style="color: #000000;">=</span>&#8220;last&#8221;<span style="color: #000000;"> </span><span style="color: #008080;">/&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #000000;"> </span><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">input</span><span style="color: #000000;"> </span><span style="text-decoration: underline;">wicket:id</span><span style="color: #000000;">=</span>&#8220;cancel&#8221;<span style="color: #000000;"> </span><span style="color: #7f007f;">type</span><span style="color: #000000;">=</span>&#8220;submit&#8221;<span style="color: #000000;"> </span><span style="color: #7f007f;">value</span><span style="color: #000000;">=</span>&#8220;cancel&#8221;<span style="color: #000000;"> </span><span style="color: #008080;">/&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #000000;"> </span><span style="color: #008080;">&lt;</span><span style="color: #3f7f7f;">input</span><span style="color: #000000;"> </span><span style="text-decoration: underline;">wicket:id</span><span style="color: #000000;">=</span>&#8220;finish&#8221;<span style="color: #000000;"> </span><span style="color: #7f007f;">type</span><span style="color: #000000;">=</span>&#8220;submit&#8221;<span style="color: #000000;"> </span><span style="color: #7f007f;">value</span><span style="color: #000000;">=</span>&#8220;finish&#8221;<span style="color: #000000;"> </span><span style="color: #008080;">/&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3f7f7f;"><span style="color: #008080;">&lt;/</span>div<span style="color: #008080;">&gt;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3f7f7f;"><span style="color: #008080;">&lt;/</span>wicket:panel<span style="color: #008080;">&gt;</span></p>
<div style="text-align: justify;"><span style="font-family: Monaco; color: #008080; font-size: small;"><span style="line-height: normal;"></p>
<p></span></span></div>
</td>
</tr>
</tbody>
</table>
<p>Easy! However if you look closely you will notice that One Of These Buttons is doing his own thing. We are attaching a button called &#8216;YourLastButton&#8217; to the wicket element &#8216;last&#8217;. This is a custom button implementation as an example of what can be done. Note that you are not controlling the view of a button, just the controller. You&#8217;d do this if you wanted to add some customer behavior to a button or override one of the methods like isEnabled(). The most general case is to add an update workflow to the onClick() that updates the model somehow.</p>
<table border="0">
<tbody>
<tr>
<td>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">jfdpackage wicket.quickstart;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">import wicket.extensions.wizard.IWizard;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">import wicket.extensions.wizard.IWizardModel;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">import wicket.extensions.wizard.WizardButton;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">public class YourLastButton extends WizardButton</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>private static final long serialVersionUID = 1L;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>public YourLastButton(String id, IWizard wizard)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>super(id, wizard, &#8220;org.apache.wicket.extensions.wizard.last&#8221;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>public final boolean isEnabled()</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>return getWizardModel().isLastAvailable();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>public final boolean isVisible()</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>return getWizardModel().isLastVisible();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>public final void onClick()</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>IWizardModel wizardModel = getWizardModel();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>wizardModel.getActiveStep().applyState();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>wizardModel.lastStep();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2353px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<p><span style="font-family: Monaco; font-size: 11px;"><span style="color: #7f0055;">package</span> wicket.quickstart;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #7f0055;">import</span> wicket.extensions.wizard.IWizard;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #7f0055;">import</span> wicket.extensions.wizard.IWizardModel;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #7f0055;">import</span> wicket.extensions.wizard.WizardButton;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="color: #7f0055;">public</span> <span style="color: #7f0055;">class</span> YourLastButton <span style="color: #7f0055;">extends</span> WizardButton {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #7f0055;"><span style="color: #000000;"><span style="white-space: pre;"> </span></span>private<span style="color: #000000;"> </span>static<span style="color: #000000;"> </span>final<span style="color: #000000;"> </span>long<span style="color: #000000;"> </span><span style="color: #0000c0;">serialVersionUID</span><span style="color: #000000;"> = 1L;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="white-space: pre;"> </span><span style="color: #7f0055;">public</span> YourLastButton(String id, IWizard wizard) {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2a00ff;"><span style="color: #000000;"><span style="white-space: pre;"> </span></span><span style="color: #7f0055;">super</span><span style="color: #000000;">(id, wizard, </span>&#8220;org.apache.wicket.extensions.wizard.last&#8221;<span style="color: #000000;">);</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="white-space: pre;"> </span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #7f0055;"><span style="color: #000000;"><span style="white-space: pre;"> </span></span>public<span style="color: #000000;"> </span>final<span style="color: #000000;"> </span>boolean<span style="color: #000000;"> isEnabled() {</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="white-space: pre;"> </span><span style="color: #7f0055;">return</span> getWizardModel().isLastAvailable();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="white-space: pre;"> </span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #7f0055;"><span style="color: #000000;"><span style="white-space: pre;"> </span></span>public<span style="color: #000000;"> </span>final<span style="color: #000000;"> </span>boolean<span style="color: #000000;"> isVisible() {</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="white-space: pre;"> </span><span style="color: #7f0055;">return</span> getWizardModel().isLastVisible();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="white-space: pre;"> </span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="white-space: pre;"> </span><span style="color: #7f0055;">public</span> <span style="color: #7f0055;">final</span> <span style="color: #7f0055;">void</span> onClick() {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="white-space: pre;"> </span>IWizardModel wizardModel = getWizardModel();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="white-space: pre;"> </span>wizardModel.getActiveStep().applyState();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="white-space: pre;"> </span>wizardModel.lastStep();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;"><span style="white-space: pre;"> </span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco;">}</p>
<div><span style="font-family: Monaco; font-size: small;"><span></p>
<p></span></span></div>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></td>
<td></td>
</tr>
</tbody>
</table>
<p><strong>Summary</strong></p>
<p>This is a basic introduction on how to implement your own Wizard markup in place of the mark-up that the wizard puts out. I had to get through this on a project because throwing the default table based layout into my pages was causing some serious issues. By creating my own extended Wizard classes I was able to totally customize the look/feel of the wizard and ensure pixel perfect design. In my case I needed to use <a title="NiceForms" href="http://www.emblematiq.com/projects/niceforms/" target="_blank">NiceForms</a> which I highly recommend. Particularly since you can now Customize Your Wicket Wizard..</p>
<p>You can do more with Wizards, much more. This tutorial is not meant to be comprehensive. Check out the <a title="WizardAPI" href="http://www.wicketframework.org/wicket-extensions/apidocs/wicket/extensions/wizard/package-summary.html">Wizard API</a> for a total rundown on what can be sub-classed. Take a look at the DynamicWizardStep and other classes, they really open the power of the Wizard. Also refer to the source for the base implementations. Open Source is an invaluable resource so Read The Source. The Wizard code is short and easy to understand since it uses the common Wicket constructs (panels etc). Don&#8217;t be intimidated.</p>
<p>Now, Go Forth And Wizardify.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.siberian.org/2009/06/24/customizing-wicket-wizard-markup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
