Hi Patrick,
usually a wizard has an overview on the left side:
http://en.wikipedia.org/wiki/Wizard_%28software%29
Regards
Sven
On 02/10/2014 10:04 AM, Patrick Davids wrote:
Hi Paul,
thanx a lot for your detailed answer. :-)
Helped much, but my primary question was, why the overviewbar is on the
left hand side, not on the top.
Possibly the header is what I am looking for, showing the current step
information(?).
But then, I still do not know, what the overviewbar was originally meant
for.
Patrick :-)
Am 08.02.2014 19:36, schrieb Paul Bors:
Find the panel you want to modify, say the WizardButtonBar and extend it:
public class MyWizardButtonBar extends WizardButtonBar {
private static final long serialVersionUID = 1L;
public MyWizardButtonBar(String id, Wizard wizard, final boolean
finishOnAnyStep) {
super(id, wizard);
addOrReplace(new MyFinishButton("finish", wizard) {
private static final long serialVersionUID = 1L;
@Override
public boolean isEnabled() {
return (super.isEnabled() || finishOnAnyStep);
}
});
}
}
Then change its HTML to whatever you want, ie MyWizardButtonBar.html I have
as:
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
<div align="right">
<input wicket:id="previous" type="submit"
class="toolbox-form-submit" value="[Previous]" />
<input wicket:id="next" type="submit"
class="toolbox-form-submit" value="[Next]" />
<input wicket:id="last" type="submit"
class="toolbox-form-submit" value="[Last]" />
<input wicket:id="cancel" type="submit"
class="toolbox-form-submit" value="[Cancel]" />
<input wicket:id="finish" type="submit"
class="toolbox-form-submit" value="[Finish]" />
</div>
</wicket:panel>
</html>
Finally, extend the Wizard itself and override the factory method you need
changed:
public class MyWizard extends Wizard {
...
@Override
protected Component newButtonBar(String id) {
return new MyWizardButtonBar(id, this, finishOnAnyStep());
}
...
}
Then change the Wizard's HTML as you please but preserve the Wicket
component tree hirarachy.
Something like this:
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
<form wicket:id="form">
<table class="wicketExtensionsWizardOuterTable">
<tr>
<td valign="top">
<span wicket:id="overview">[[Overview]]</span>
</td>
<td valign="top">
<table class="wicketExtensionsWizardInnerTable">
<tr class="wicketExtensionsWizardHeaderRow">
<td valign="top"
class="wicketExtensionsWizardHeader"><span
wicket:id="header">[[Header]]</span></td>
</tr>
<tr class="wicketExtensionsWizardViewRow">
<td valign="top"
class="wicketExtensionsWizardView"><div wicket:id="view"
class="wicketExtensionsWizardViewInner">[[View]]</div></td>
</tr>
<tr class="wicketExtensionsWizardFeedbackRow">
<td valign="top"
class="wicketExtensionsWizardFeedback"><span
wicket:id="feedback">[[Feeback]]</span></td>
</tr>
<tr class="wicketExtensionsWizardButtonBarRow">
<td valign="top"
class="wicketExtensionsWizardButtonBar"><span
wicket:id="buttons">[[Buttons]]</span></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</wicket:panel>
</html>
On a side note, I didn't like the default of the Finish button so I changed
that too:
public class MyFinishButton extends WizardButton {
private static final long serialVersionUID = 1L;
public MyFinishButton(String id, IWizard wizard) {
super(id, wizard, "org.apache.wicket.extensions.wizard.finish");
}
/**
* @see org.apache.wicket.Component#isEnabled()
*/
public boolean isEnabled() {
IWizardStep activeStep = getWizardModel().getActiveStep();
return (activeStep != null &&
getWizardModel().isLastStep(activeStep));
}
/**
* @see org.apache.wicket.extensions.wizard.WizardButton#onClick()
*/
public final void onClick() {
IWizardModel wizardModel = getWizardModel();
IWizardStep step = wizardModel.getActiveStep();
// let the step apply any state
step.applyState();
// if the step completed after applying the state, notify the wizard
if(step.isComplete()) {
getWizardModel().finish();
} else {
error(getLocalizer().getString(
"org.apache.wicket.extensions.wizard.FinishButton.step.did.not.complete",
this)
);
}
}
}
On Fri, Feb 7, 2014 at 9:04 AM, Patrick Davids <patrick.dav...@nubologic.com
wrote:
Hi all,
did someone already noticed, a custom overriden overview-bar of wickets
wizzard is displayed in a <td> left of the Step contents ?
I thought it would be on the top...
Or did I misunderstood the meaning of the overview bar?
Is it meant as kind of menu?!
kind regards
Patrick
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org