You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2018/04/10 21:16:43 UTC

[4/5] wicket git commit: WICKET-6541 override onConfigure instead of isVisible/isEnabled

WICKET-6541 override onConfigure instead of isVisible/isEnabled


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/401daa25
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/401daa25
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/401daa25

Branch: refs/heads/master
Commit: 401daa25183c93e2e8b99f8b4e3dbe4189a69dc1
Parents: 35822e3
Author: Sven Meier <sv...@apache.org>
Authored: Fri Mar 2 13:58:49 2018 +0100
Committer: Sven Meier <sv...@apache.org>
Committed: Tue Apr 10 22:00:54 2018 +0200

----------------------------------------------------------------------
 .../wicket/extensions/wizard/CancelButton.java  | 22 ++++-------
 .../wicket/extensions/wizard/FinishButton.java  | 13 ++++---
 .../wicket/extensions/wizard/IWizardModel.java  | 40 +++++++++++++++-----
 .../wicket/extensions/wizard/LastButton.java    | 21 ++++------
 .../wicket/extensions/wizard/NextButton.java    | 12 +++---
 .../extensions/wizard/PreviousButton.java       | 13 ++++---
 .../wicket/extensions/wizard/WizardButton.java  | 19 +++++++++-
 .../wizard/dynamic/IDynamicWizardStep.java      |  3 +-
 8 files changed, 84 insertions(+), 59 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/401daa25/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/CancelButton.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/CancelButton.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/CancelButton.java
index 7830190..64386fc 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/CancelButton.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/CancelButton.java
@@ -16,6 +16,8 @@
  */
 package org.apache.wicket.extensions.wizard;
 
+import org.apache.wicket.model.ResourceModel;
+
 /**
  * Models a cancel button in the wizard. When pressed, it calls {@link Wizard#onCancel()} which
  * should do the real work.
@@ -36,26 +38,16 @@ public class CancelButton extends WizardButton
 	 */
 	public CancelButton(final String id, final IWizard wizard)
 	{
-		super(id, wizard, "org.apache.wicket.extensions.wizard.cancel");
+		super(id, wizard, new ResourceModel("org.apache.wicket.extensions.wizard.cancel"));
 		setDefaultFormProcessing(false);
 	}
 
-	/**
-	 * @see org.apache.wicket.Component#isEnabled()
-	 */
-	@Override
-	public final boolean isEnabled()
-	{
-		return true;
-	}
-
-	/**
-	 * @see org.apache.wicket.Component#isVisible()
-	 */
 	@Override
-	public final boolean isVisible()
+	protected void onConfigure()
 	{
-		return getWizardModel().isCancelVisible() && super.isVisible();
+		super.onConfigure();
+		
+		setVisible(getWizardModel().isCancelVisible());
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/401daa25/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/FinishButton.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/FinishButton.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/FinishButton.java
index 7cf29d1..4f403a3 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/FinishButton.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/FinishButton.java
@@ -16,6 +16,8 @@
  */
 package org.apache.wicket.extensions.wizard;
 
+import org.apache.wicket.model.ResourceModel;
+
 /**
  * Models a cancel button in the wizard. When pressed, it calls {@link IWizardStep#applyState()} on
  * the active wizard step, and then {@link Wizard#onFinish()} on the wizard.
@@ -36,16 +38,15 @@ public class FinishButton extends WizardButton
 	 */
 	public FinishButton(final String id, final IWizard wizard)
 	{
-		super(id, wizard, "org.apache.wicket.extensions.wizard.finish");
+		super(id, wizard, new ResourceModel("org.apache.wicket.extensions.wizard.finish"));
 	}
 
-	/**
-	 * @see org.apache.wicket.Component#isEnabled()
-	 */
 	@Override
-	public boolean isEnabled()
+	protected void onConfigure()
 	{
-		return getWizardModel().isFinishAvailable() && super.isEnabled();
+		super.onConfigure();
+
+		setEnabled(getWizardModel().isFinishAvailable());
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/401daa25/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/IWizardModel.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/IWizardModel.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/IWizardModel.java
index ca0bb68..a66c1e8 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/IWizardModel.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/IWizardModel.java
@@ -83,14 +83,30 @@ public interface IWizardModel extends IClusterable
 	 * Gets whether the cancel button should be displayed.
 	 * 
 	 * @return True if the cancel button should be displayed
+	 * 
+	 * @see #cancel()
 	 */
 	boolean isCancelVisible();
 
 	/**
+	 * Gets whether the last button should be displayed. This method should only return true if the
+	 * {@link #isLastAvailable} will return true at any point. Returning false will prevent the last
+	 * button from appearing on the wizard at all.
+	 * 
+	 * @return True if the last button should be displayed, False otherwise.
+
+	 * @see #isLastAvailable()
+	 * @see #last()
+	 */
+	boolean isLastVisible();
+
+	/**
 	 * Checks if the last button should be enabled.
 	 * 
 	 * @return <tt>true</tt> if the last button should be enabled, <tt>false</tt> otherwise.
-	 * @see #isLastVisible
+	 * 
+	 * @see #isLastVisible()
+	 * @see #last()
 	 */
 	boolean isLastAvailable();
 
@@ -104,18 +120,11 @@ public interface IWizardModel extends IClusterable
 	boolean isLastStep(IWizardStep step);
 
 	/**
-	 * Gets whether the last button should be displayed. This method should only return true if the
-	 * {@link #isLastAvailable} will return true at any point. Returning false will prevent the last
-	 * button from appearing on the wizard at all.
-	 * 
-	 * @return True if the last button should be displayed, False otherwise.
-	 */
-	boolean isLastVisible();
-
-	/**
 	 * Gets whether the next button should be enabled.
 	 * 
 	 * @return True if the next button should be enabled, false otherwise.
+	 * 
+	 * @see #next()
 	 */
 	boolean isNextAvailable();
 
@@ -123,6 +132,8 @@ public interface IWizardModel extends IClusterable
 	 * Gets whether the previous button should be enabled.
 	 * 
 	 * @return True if the previous button should be enabled, false otherwise.
+	 * 
+	 * @see #previous()
 	 */
 	boolean isPreviousAvailable();
 	
@@ -134,6 +145,8 @@ public interface IWizardModel extends IClusterable
 	 * @see #isLastStep(IWizardStep)
 	 * 
 	 * @return True if the finish button should be enabled, false otherwise.
+	 * 
+	 * @see #finish()
 	 */
 	default boolean isFinishAvailable() {
 		return isLastStep(getActiveStep());
@@ -144,6 +157,9 @@ public interface IWizardModel extends IClusterable
 	 * {@link #isLastAvailable} returns <tt>true</tt>. Implementors should notify
 	 * {@link IWizardModelListener listeners} through calling
 	 * {@link IWizardModelListener#onActiveStepChanged(IWizardStep)}.
+	 * 
+	 * @see #isLastVisible()
+	 * @see #isLastAvailable()
 	 */
 	void last();
 
@@ -152,6 +168,8 @@ public interface IWizardModel extends IClusterable
 	 * {@link #isNextAvailable} returns <tt>true</tt>. Implementors should notify
 	 * {@link IWizardModelListener listeners} through calling
 	 * {@link IWizardModelListener#onActiveStepChanged(IWizardStep)}.
+	 * 
+	 * @see #isNextAvailable()
 	 */
 	void next();
 
@@ -160,6 +178,8 @@ public interface IWizardModel extends IClusterable
 	 * {@link #isPreviousAvailable} returns <tt>true</tt>. Implementors should notify
 	 * {@link IWizardModelListener listeners} through calling
 	 * {@link IWizardModelListener#onActiveStepChanged(IWizardStep)}.
+	 * 
+	 * @see #isPreviousAvailable()
 	 */
 	void previous();
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/401daa25/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/LastButton.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/LastButton.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/LastButton.java
index 5fad4d4..fbda834 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/LastButton.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/LastButton.java
@@ -16,6 +16,8 @@
  */
 package org.apache.wicket.extensions.wizard;
 
+import org.apache.wicket.model.ResourceModel;
+
 /**
  * Models a 'last' button in the wizard. When pressed, it calls {@link IWizardStep#applyState()} on
  * the active wizard step, and then moves to the last step in the model with
@@ -37,25 +39,16 @@ public class LastButton extends WizardButton
 	 */
 	public LastButton(final String id, final IWizard wizard)
 	{
-		super(id, wizard, "org.apache.wicket.extensions.wizard.last");
+		super(id, wizard, new ResourceModel("org.apache.wicket.extensions.wizard.last"));
 	}
 
-	/**
-	 * @see org.apache.wicket.Component#isEnabled()
-	 */
 	@Override
-	public boolean isEnabled()
+	protected void onConfigure()
 	{
-		return getWizardModel().isLastAvailable() && super.isEnabled();
-	}
+		super.onConfigure();
 
-	/**
-	 * @see org.apache.wicket.Component#isVisible()
-	 */
-	@Override
-	public boolean isVisible()
-	{
-		return getWizardModel().isLastVisible() && super.isVisible();
+		setVisible(getWizardModel().isLastVisible());
+		setEnabled(getWizardModel().isLastAvailable());
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/401daa25/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/NextButton.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/NextButton.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/NextButton.java
index 6237242..cdd2d69 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/NextButton.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/NextButton.java
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.extensions.wizard;
 
+import org.apache.wicket.model.ResourceModel;
 
 /**
  * Models a next button in the wizard. When pressed, it calls {@link IWizardStep#applyState()} on
@@ -36,16 +37,15 @@ public class NextButton extends WizardButton
 	 */
 	public NextButton(final String id, final IWizard wizard)
 	{
-		super(id, wizard, "org.apache.wicket.extensions.wizard.next");
+		super(id, wizard, new ResourceModel("org.apache.wicket.extensions.wizard.next"));
 	}
 
-	/**
-	 * @see org.apache.wicket.Component#isEnabled()
-	 */
 	@Override
-	public boolean isEnabled()
+	protected void onConfigure()
 	{
-		return super.isEnabled() && getWizardModel().isNextAvailable();
+		super.onConfigure();
+
+		setEnabled(getWizardModel().isNextAvailable());
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/401daa25/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/PreviousButton.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/PreviousButton.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/PreviousButton.java
index cf801f2..69be43b 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/PreviousButton.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/PreviousButton.java
@@ -16,6 +16,8 @@
  */
 package org.apache.wicket.extensions.wizard;
 
+import org.apache.wicket.model.ResourceModel;
+
 /**
  * Models a previous button in the wizard. When pressed, it moves the wizard state to the previous
  * step of the model by calling {@link IWizardModel#previous() previous} on the wizard's model.
@@ -36,17 +38,16 @@ public class PreviousButton extends WizardButton
 	 */
 	public PreviousButton(final String id, final IWizard wizard)
 	{
-		super(id, wizard, "org.apache.wicket.extensions.wizard.previous");
+		super(id, wizard, new ResourceModel("org.apache.wicket.extensions.wizard.previous"));
 		setDefaultFormProcessing(false);
 	}
 
-	/**
-	 * @see org.apache.wicket.Component#isEnabled()
-	 */
 	@Override
-	public boolean isEnabled()
+	protected void onConfigure()
 	{
-		return getWizardModel().isPreviousAvailable() && super.isEnabled();
+		super.onConfigure();
+		
+		setEnabled(getWizardModel().isPreviousAvailable());
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/401daa25/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/WizardButton.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/WizardButton.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/WizardButton.java
index fe21518..61f2109 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/WizardButton.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/WizardButton.java
@@ -17,6 +17,7 @@
 package org.apache.wicket.extensions.wizard;
 
 import org.apache.wicket.markup.html.form.Button;
+import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.ResourceModel;
 
 /**
@@ -48,9 +49,25 @@ public abstract class WizardButton extends Button
 	 * @param labelResourceKey
 	 *            The resource key of the button's label
 	 */
+	@Deprecated
 	public WizardButton(final String id, final IWizard wizard, final String labelResourceKey)
 	{
-		super(id, new ResourceModel(labelResourceKey));
+		this(id, wizard, new ResourceModel(labelResourceKey));
+	}
+
+	/**
+	 * Construct.
+	 * 
+	 * @param id
+	 *            The component id
+	 * @param wizard
+	 *            The wizard
+	 * @param labelResourceKey
+	 *            The resource key of the button's label
+	 */
+	public WizardButton(final String id, final IWizard wizard, final IModel<String> label)
+	{
+		super(id, label);
 		this.wizard = wizard;
 	}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/401daa25/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/dynamic/IDynamicWizardStep.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/dynamic/IDynamicWizardStep.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/dynamic/IDynamicWizardStep.java
index fa6d3e8..94cacde 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/dynamic/IDynamicWizardStep.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/dynamic/IDynamicWizardStep.java
@@ -37,7 +37,8 @@ public interface IDynamicWizardStep extends IWizardStep
 	 * Checks if the last button should be enabled.
 	 * 
 	 * @return <tt>true</tt> if the last button should be enabled, <tt>false</tt> otherwise.
-	 * @see IWizardModel#isLastVisible
+	 * 
+	 * @see IWizardModel#isLastAvailable()
 	 */
 	boolean isLastAvailable();