You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2013/07/01 09:20:35 UTC

[1/6] git commit: WICKET-5257 Make css class strings used in the framework configurable

Updated Branches:
  refs/heads/master a4bf277c9 -> 6c136bd63


WICKET-5257 Make css class strings used in the framework configurable


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

Branch: refs/heads/master
Commit: 2f87d0b4e0ad86d5900c39119cbc23c9cd74e3d6
Parents: 0d134f5
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Jun 27 16:10:04 2013 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Jun 27 16:10:04 2013 +0300

----------------------------------------------------------------------
 .../java/org/apache/wicket/Application.java     |  28 +++
 .../markup/html/form/AutoLabelResolver.java     |   9 +-
 .../markup/html/form/FormComponentLabel.java    |   9 +-
 .../markup/html/list/OddEvenListItem.java       |   8 +-
 .../wicket/markup/html/panel/FeedbackPanel.java |   2 +-
 .../wicket/markup/repeater/OddEvenItem.java     |   8 +-
 .../apache/wicket/settings/ICssSettings.java    |  76 ++++++++
 .../apache/wicket/settings/def/CssSettings.java | 186 ++++++++++++++++++
 .../data/sort/AjaxFallbackOrderByBorder.java    |  40 +---
 .../data/sort/AjaxFallbackOrderByLink.java      |  34 +---
 .../html/repeater/data/sort/OrderByBorder.java  |  29 +--
 .../html/repeater/data/sort/OrderByLink.java    | 193 ++-----------------
 .../markup/html/tabs/TabbedPanel.java           |   6 +-
 .../java/org/apache/wicket/jmx/CssSettings.java | 170 ++++++++++++++++
 .../org/apache/wicket/jmx/CssSettingsMBean.java |  26 +++
 .../java/org/apache/wicket/jmx/Initializer.java |   2 +
 16 files changed, 539 insertions(+), 287 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/2f87d0b4/wicket-core/src/main/java/org/apache/wicket/Application.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/Application.java b/wicket-core/src/main/java/org/apache/wicket/Application.java
index 5cbbdde..16989c6 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Application.java
+++ b/wicket-core/src/main/java/org/apache/wicket/Application.java
@@ -85,6 +85,7 @@ import org.apache.wicket.session.DefaultPageFactory;
 import org.apache.wicket.session.ISessionStore;
 import org.apache.wicket.session.ISessionStore.UnboundListener;
 import org.apache.wicket.settings.IApplicationSettings;
+import org.apache.wicket.settings.ICssSettings;
 import org.apache.wicket.settings.IDebugSettings;
 import org.apache.wicket.settings.IExceptionSettings;
 import org.apache.wicket.settings.IFrameworkSettings;
@@ -97,6 +98,7 @@ import org.apache.wicket.settings.IResourceSettings;
 import org.apache.wicket.settings.ISecuritySettings;
 import org.apache.wicket.settings.IStoreSettings;
 import org.apache.wicket.settings.def.ApplicationSettings;
+import org.apache.wicket.settings.def.CssSettings;
 import org.apache.wicket.settings.def.DebugSettings;
 import org.apache.wicket.settings.def.ExceptionSettings;
 import org.apache.wicket.settings.def.FrameworkSettings;
@@ -1039,6 +1041,9 @@ public abstract class Application implements UnboundListener, IEventSink
 	/** The Markup Settings */
 	private IMarkupSettings markupSettings;
 
+	/** The CSS Settings */
+	private ICssSettings cssSettings;
+
 	/** The Page Settings */
 	private IPageSettings pageSettings;
 
@@ -1239,6 +1244,29 @@ public abstract class Application implements UnboundListener, IEventSink
 		this.markupSettings = markupSettings;
 	}
 
+
+	/**
+	 * @return Application's CSS related settings
+	 */
+	public ICssSettings getCssSettings()
+	{
+		checkSettingsAvailable();
+		if (cssSettings == null)
+		{
+			cssSettings = new CssSettings();
+		}
+		return cssSettings;
+	}
+
+	/**
+	 * @param cssSettings
+	 */
+	public final void setCssSettings(final ICssSettings cssSettings)
+	{
+		this.cssSettings = cssSettings;
+	}
+
+
 	/**
 	 * @return Application's request logger related settings
 	 */

http://git-wip-us.apache.org/repos/asf/wicket/blob/2f87d0b4/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
index 562e6ed..f99cd94 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
@@ -23,6 +23,7 @@ import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupStream;
 import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
 import org.apache.wicket.markup.resolver.IComponentResolver;
+import org.apache.wicket.settings.ICssSettings;
 import org.apache.wicket.util.visit.IVisit;
 import org.apache.wicket.util.visit.IVisitor;
 import org.slf4j.Logger;
@@ -185,22 +186,24 @@ public class AutoLabelResolver implements IComponentResolver
 			super.onComponentTag(tag);
 			tag.put("for", component.getMarkupId());
 
+			ICssSettings cssSettings = getApplication().getCssSettings();
+
 			if (component instanceof FormComponent)
 			{
 				FormComponent<?> fc = (FormComponent<?>)component;
 				if (fc.isRequired())
 				{
-					tag.append("class", "required", " ");
+					tag.append("class", cssSettings.getRequiredCssClass(), " ");
 				}
 				if (!fc.isValid())
 				{
-					tag.append("class", "error", " ");
+					tag.append("class", cssSettings.getInvalidCssClass(), " ");
 				}
 			}
 
 			if (!component.isEnabledInHierarchy())
 			{
-				tag.append("class", "disabled", " ");
+				tag.append("class", cssSettings.getDisabledCssClass(), " ");
 			}
 		}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/2f87d0b4/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
index 59d34d9..c5ebd6f 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
@@ -19,6 +19,7 @@ package org.apache.wicket.markup.html.form;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.parser.XmlTag.TagType;
+import org.apache.wicket.settings.ICssSettings;
 import org.apache.wicket.util.lang.Args;
 
 /**
@@ -65,23 +66,25 @@ public class FormComponentLabel extends WebMarkupContainer
 
 		tag.put("for", formComponent.getMarkupId());
 
+		ICssSettings cssSettings = getApplication().getCssSettings();
+
 		if (formComponent instanceof FormComponent<?>)
 		{
 			FormComponent<?> fc = (FormComponent<?>) formComponent;
 
 			if (fc.isRequired())
 			{
-				tag.append("class", "required", " ");
+				tag.append("class", cssSettings.getRequiredCssClass(), " ");
 			}
 			if (fc.isValid() == false)
 			{
-				tag.append("class", "error", " ");
+				tag.append("class", cssSettings.getInvalidCssClass(), " ");
 			}
 		}
 
 		if (formComponent.isEnabledInHierarchy() == false)
 		{
-			tag.append("class", "disabled", " ");
+			tag.append("class", cssSettings.getDisabledCssClass(), " ");
 		}
 
 		// always transform the tag to <span></span> so even labels defined as <span/> render

http://git-wip-us.apache.org/repos/asf/wicket/blob/2f87d0b4/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java
index fe4b1b7..80db38e 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java
@@ -18,6 +18,7 @@ package org.apache.wicket.markup.html.list;
 
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.model.IModel;
+import org.apache.wicket.settings.ICssSettings;
 
 /**
  * ListItem that adds <code>class="odd"</code> or <code>class="even"</code> html attribute depending
@@ -30,9 +31,6 @@ public class OddEvenListItem<T> extends ListItem<T>
 {
 	private static final long serialVersionUID = 1L;
 
-	private static final String CLASS_EVEN = "even";
-	private static final String CLASS_ODD = "odd";
-
 	/**
 	 * Constructor
 	 * 
@@ -51,6 +49,8 @@ public class OddEvenListItem<T> extends ListItem<T>
 	protected void onComponentTag(ComponentTag tag)
 	{
 		super.onComponentTag(tag);
-		tag.append("class", (getIndex() % 2 == 0) ? CLASS_EVEN : CLASS_ODD, " ");
+
+		ICssSettings cssSettings = getApplication().getCssSettings();
+		tag.append("class", (getIndex() % 2 == 0) ? cssSettings.getEvenItemCssClass() : cssSettings.getOddItemCssClass(), " ");
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/2f87d0b4/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java
index 968a93c..2dba2a6 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java
@@ -291,7 +291,7 @@ public class FeedbackPanel extends Panel implements IFeedback
 	 */
 	protected String getCSSClass(final FeedbackMessage message)
 	{
-		return "feedbackPanel" + message.getLevelAsString();
+		return getApplication().getCssSettings().getFeedbackMessageCssClass(message);
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/2f87d0b4/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java
index 49f006f..5d828ec 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java
@@ -18,6 +18,7 @@ package org.apache.wicket.markup.repeater;
 
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.model.IModel;
+import org.apache.wicket.settings.ICssSettings;
 
 /**
  * Item that sets class="even" or class="odd" attributes based on its index
@@ -31,9 +32,6 @@ public class OddEvenItem<T> extends Item<T>
 {
 	private static final long serialVersionUID = 1L;
 
-	private static final String CLASS_EVEN = "even";
-	private static final String CLASS_ODD = "odd";
-
 	/**
 	 * Constructor
 	 * 
@@ -53,7 +51,9 @@ public class OddEvenItem<T> extends Item<T>
 	protected void onComponentTag(ComponentTag tag)
 	{
 		super.onComponentTag(tag);
-		tag.put("class", (getIndex() % 2 == 0) ? CLASS_EVEN : CLASS_ODD);
+
+		ICssSettings cssSettings = getApplication().getCssSettings();
+		tag.put("class", (getIndex() % 2 == 0) ? cssSettings.getEvenItemCssClass() : cssSettings.getOddItemCssClass());
 	}
 
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/2f87d0b4/wicket-core/src/main/java/org/apache/wicket/settings/ICssSettings.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/settings/ICssSettings.java b/wicket-core/src/main/java/org/apache/wicket/settings/ICssSettings.java
new file mode 100644
index 0000000..89f0f9f
--- /dev/null
+++ b/wicket-core/src/main/java/org/apache/wicket/settings/ICssSettings.java
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.settings;
+
+import org.apache.wicket.feedback.FeedbackMessage;
+
+/**
+ * Provides means to change the default CSS classes and styles used
+ * by the components in Wicket distribution.
+ */
+public interface ICssSettings
+{
+	/**
+	 *
+	 * @return
+	 */
+	String getSortOrderDownCssClass();
+
+	void setSortOrderDownCssClass(String cssClassName);
+
+	String getSortOrderUpCssClass();
+
+	void setSortOrderUpCssClass(String cssClassName);
+
+	String getSortOrderNoneCssClass();
+
+	void setSortOrderNoneCssClass(String cssClassName);
+
+	String getFeedbackMessageCssClass(FeedbackMessage message);
+
+	void setRequiredCssClass(String cssClassName);
+
+	String getRequiredCssClass();
+
+	void setInvalidCssClass(String cssClassName);
+
+	String getInvalidCssClass();
+
+	void setDisabledCssClass(String cssClassName);
+
+	String getDisabledCssClass();
+
+	void setOddItemCssClass(String cssClassName);
+
+	String getOddItemCssClass();
+
+	void setEvenItemCssClass(String cssClassName);
+
+	String getEvenItemCssClass();
+
+	void setTabbedPanelSelectedCssClass(String cssClassName);
+
+	String getTabbedPanelSelectedCssClass();
+
+	void setTabbedPanelLastCssClass(String cssClassName);
+
+	String getTabbedPanelLastCssClass();
+
+	void setTabbedPanelTabContainerCssClass(String cssClassName);
+
+	String getTabbedPanelTabContainerCssClass();
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/2f87d0b4/wicket-core/src/main/java/org/apache/wicket/settings/def/CssSettings.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/settings/def/CssSettings.java b/wicket-core/src/main/java/org/apache/wicket/settings/def/CssSettings.java
new file mode 100644
index 0000000..a92a8c5
--- /dev/null
+++ b/wicket-core/src/main/java/org/apache/wicket/settings/def/CssSettings.java
@@ -0,0 +1,186 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.settings.def;
+
+import org.apache.wicket.feedback.FeedbackMessage;
+import org.apache.wicket.settings.ICssSettings;
+
+/**
+ *
+ */
+public class CssSettings implements ICssSettings
+{
+	private String sortOrderDownCssClass = "wicket_orderDown";
+
+	private String sortOrderUpCssClass = "wicket_orderUp";
+
+	private String sortOrderNoneCssClass = "wicket_orderNone";
+
+	private String requiredCssClass = "required";
+
+	private String invalidCssClass = "error";
+
+	private String disabledCssClass = "disabled";
+
+	private String oddItemCssClass = "odd";
+
+	private String evenItemCssClass = "even";
+
+	private String tabbedPanelSelectedCssClass = "selected";
+
+	private String tabbedPanelLastCssClass = "last";
+
+	private String tabbedPanelTabContainerCssClass = "tab-row";
+
+	@Override
+	public String getSortOrderDownCssClass()
+	{
+		return sortOrderDownCssClass;
+	}
+
+	@Override
+	public void setSortOrderDownCssClass(String cssClassName)
+	{
+		this.sortOrderDownCssClass = cssClassName;
+	}
+
+	@Override
+	public String getSortOrderUpCssClass()
+	{
+		return sortOrderUpCssClass;
+	}
+
+	@Override
+	public void setSortOrderUpCssClass(String cssClassName)
+	{
+		this.sortOrderUpCssClass = cssClassName;
+	}
+
+	@Override
+	public String getSortOrderNoneCssClass()
+	{
+		return sortOrderNoneCssClass;
+	}
+
+	@Override
+	public void setSortOrderNoneCssClass(String cssClassName)
+	{
+		this.sortOrderNoneCssClass = cssClassName;
+	}
+
+	@Override
+	public String getFeedbackMessageCssClass(FeedbackMessage message)
+	{
+		return "feedbackPanel" + message.getLevelAsString();
+	}
+
+	@Override
+	public void setRequiredCssClass(String cssClassName)
+	{
+		this.requiredCssClass = cssClassName;
+	}
+
+	@Override
+	public String getRequiredCssClass()
+	{
+		return requiredCssClass;
+	}
+
+	@Override
+	public void setInvalidCssClass(String cssClassName)
+	{
+		this.invalidCssClass = cssClassName;
+	}
+
+	@Override
+	public String getInvalidCssClass()
+	{
+		return invalidCssClass;
+	}
+
+	@Override
+	public void setDisabledCssClass(String cssClassName)
+	{
+		this.disabledCssClass = cssClassName;
+	}
+
+	@Override
+	public String getDisabledCssClass()
+	{
+		return disabledCssClass;
+	}
+
+	@Override
+	public void setOddItemCssClass(String cssClassName)
+	{
+		this.oddItemCssClass = cssClassName;
+	}
+
+	@Override
+	public String getOddItemCssClass()
+	{
+		return oddItemCssClass;
+	}
+
+	@Override
+	public void setEvenItemCssClass(String cssClassName)
+	{
+		this.evenItemCssClass = cssClassName;
+	}
+
+	@Override
+	public String getEvenItemCssClass()
+	{
+		return evenItemCssClass;
+	}
+
+	@Override
+	public void setTabbedPanelSelectedCssClass(String cssClassName)
+	{
+		this.tabbedPanelSelectedCssClass = cssClassName;
+	}
+
+	@Override
+	public String getTabbedPanelSelectedCssClass()
+	{
+		return tabbedPanelSelectedCssClass;
+	}
+
+	@Override
+	public void setTabbedPanelLastCssClass(String cssClassName)
+	{
+		this.tabbedPanelLastCssClass = cssClassName;
+	}
+
+	@Override
+	public String getTabbedPanelLastCssClass()
+	{
+		return tabbedPanelLastCssClass;
+	}
+
+	@Override
+	public void setTabbedPanelTabContainerCssClass(String cssClassName)
+	{
+		this.tabbedPanelTabContainerCssClass = cssClassName;
+	}
+
+	@Override
+	public String getTabbedPanelTabContainerCssClass()
+	{
+		return tabbedPanelTabContainerCssClass;
+	}
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/2f87d0b4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java
index 7b2f9b2..7355b23 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByBorder.java
@@ -49,26 +49,9 @@ public abstract class AjaxFallbackOrderByBorder<S> extends Border
 	public AjaxFallbackOrderByBorder(final String id, final S sortProperty,
 		final ISortStateLocator<S> stateLocator)
 	{
-		this(id, sortProperty, stateLocator, new AjaxFallbackOrderByLink.DefaultCssProvider<S>(),
-			null);
+		this(id, sortProperty, stateLocator, null);
 	}
 
-
-	/**
-	 * Constructor
-	 * 
-	 * @param id
-	 * @param sortProperty
-	 * @param stateLocator
-	 * @param cssProvider
-	 */
-	public AjaxFallbackOrderByBorder(final String id, final S sortProperty,
-		final ISortStateLocator<S> stateLocator, final AjaxFallbackOrderByLink.ICssProvider<S> cssProvider)
-	{
-		this(id, sortProperty, stateLocator, cssProvider, null);
-	}
-
-
 	/**
 	 * Constructor
 	 * 
@@ -80,27 +63,9 @@ public abstract class AjaxFallbackOrderByBorder<S> extends Border
 	public AjaxFallbackOrderByBorder(final String id, final S sortProperty,
 		final ISortStateLocator<S> stateLocator, final IAjaxCallListener ajaxCallListener)
 	{
-		this(id, sortProperty, stateLocator, new AjaxFallbackOrderByLink.DefaultCssProvider<S>(),
-			ajaxCallListener);
-	}
-
-
-	/**
-	 * Constructor
-	 * 
-	 * @param id
-	 * @param sortProperty
-	 * @param stateLocator
-	 * @param cssProvider
-	 * @param ajaxCallListener
-	 */
-	public AjaxFallbackOrderByBorder(final String id, final S sortProperty,
-		final ISortStateLocator<S> stateLocator,
-		final AjaxFallbackOrderByLink.ICssProvider<S> cssProvider, final IAjaxCallListener ajaxCallListener)
-	{
 		super(id);
 		AjaxFallbackOrderByLink<S> link = new AjaxFallbackOrderByLink<S>("orderByLink", sortProperty,
-			stateLocator, cssProvider, ajaxCallListener)
+			stateLocator, ajaxCallListener)
 		{
 
 			private static final long serialVersionUID = 1L;
@@ -119,7 +84,6 @@ public abstract class AjaxFallbackOrderByBorder<S> extends Border
 			}
 		};
 		addToBorder(link);
-		add(new AjaxFallbackOrderByLink.CssModifier<>(link, cssProvider));
 		link.add(getBodyContainer());
 	}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/2f87d0b4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java
index 6d58ceb..8f8a02a 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/sort/AjaxFallbackOrderByLink.java
@@ -52,25 +52,11 @@ public abstract class AjaxFallbackOrderByLink<S> extends OrderByLink<S> implemen
 	 * @param id
 	 * @param sortProperty
 	 * @param stateLocator
-	 * @param cssProvider
-	 */
-	public AjaxFallbackOrderByLink(final String id, final S sortProperty,
-		final ISortStateLocator<S> stateLocator, final ICssProvider<S> cssProvider)
-	{
-		this(id, sortProperty, stateLocator, cssProvider, null);
-	}
-
-	/**
-	 * Constructor
-	 * 
-	 * @param id
-	 * @param sortProperty
-	 * @param stateLocator
 	 */
 	public AjaxFallbackOrderByLink(final String id, final S sortProperty,
 		final ISortStateLocator<S> stateLocator)
 	{
-		this(id, sortProperty, stateLocator, new DefaultCssProvider<S>(), null);
+		this(id, sortProperty, stateLocator, null);
 	}
 
 	/**
@@ -84,23 +70,7 @@ public abstract class AjaxFallbackOrderByLink<S> extends OrderByLink<S> implemen
 	public AjaxFallbackOrderByLink(final String id, final S sortProperty,
 		final ISortStateLocator<S> stateLocator, final IAjaxCallListener ajaxCallListener)
 	{
-		this(id, sortProperty, stateLocator, new DefaultCssProvider<S>(), ajaxCallListener);
-	}
-
-	/**
-	 * Constructor
-	 * 
-	 * @param id
-	 * @param sortProperty
-	 * @param stateLocator
-	 * @param cssProvider
-	 * @param ajaxCallListener
-	 */
-	public AjaxFallbackOrderByLink(final String id, final S sortProperty,
-		final ISortStateLocator<S> stateLocator, final ICssProvider<S> cssProvider,
-		final IAjaxCallListener ajaxCallListener)
-	{
-		super(id, sortProperty, stateLocator, cssProvider);
+		super(id, sortProperty, stateLocator);
 
 		this.ajaxCallListener = ajaxCallListener;
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/2f87d0b4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByBorder.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByBorder.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByBorder.java
index 0b2f5da..291221b 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByBorder.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByBorder.java
@@ -39,25 +39,21 @@ public class OrderByBorder<S> extends Border
 	/**
 	 * @param id
 	 *            see
-	 *            {@link OrderByLink#OrderByLink(java.lang.String, java.lang.Object, org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLocator, org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByLink.ICssProvider) }
+	 *            {@link OrderByLink#OrderByLink(java.lang.String, java.lang.Object, org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLocator) }
 	 * @param property
 	 *            see
-	 *            {@link OrderByLink#OrderByLink(java.lang.String, java.lang.Object, org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLocator, org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByLink.ICssProvider) }
+	 *            {@link OrderByLink#OrderByLink(java.lang.String, java.lang.Object, org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLocator) }
 	 * @param stateLocator
 	 *            see
-	 *            {@link OrderByLink#OrderByLink(java.lang.String, java.lang.Object, org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLocator, org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByLink.ICssProvider) }
-	 * @param cssProvider
-	 *            see
-	 *            {@link OrderByLink#OrderByLink(java.lang.String, java.lang.Object, org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLocator, org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByLink.ICssProvider) }
+	 *            {@link OrderByLink#OrderByLink(java.lang.String, java.lang.Object, org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLocator) }
 	 */
 	public OrderByBorder(final String id, final S property,
-		final ISortStateLocator<S> stateLocator, final OrderByLink.ICssProvider<S> cssProvider)
+		final ISortStateLocator<S> stateLocator)
 	{
 		super(id);
 
 		OrderByLink<S> link = newOrderByLink("orderByLink", property, stateLocator);
 		addToBorder(link);
-		add(new OrderByLink.CssModifier<>(link, cssProvider));
 		link.add(getBodyContainer());
 	}
 
@@ -75,8 +71,7 @@ public class OrderByBorder<S> extends Border
 	protected OrderByLink<S> newOrderByLink(final String id, final S property,
 		final ISortStateLocator<S> stateLocator)
 	{
-		return new OrderByLink<S>(id, property, stateLocator,
-			new OrderByLink.VoidCssProvider<S>())
+		return new OrderByLink<S>(id, property, stateLocator)
 		{
 			private static final long serialVersionUID = 1L;
 
@@ -96,18 +91,4 @@ public class OrderByBorder<S> extends Border
 		// noop
 	}
 
-	/**
-	 * @param id
-	 *            see {@link OrderByLink#OrderByLink(java.lang.String, java.lang.Object, org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLocator) }
-	 * @param property
-	 *            see {@link OrderByLink#OrderByLink(java.lang.String, java.lang.Object, org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLocator) }
-	 * @param stateLocator
-	 *            see {@link OrderByLink#OrderByLink(java.lang.String, java.lang.Object, org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLocator) }
-	 */
-	public OrderByBorder(final String id, final S property,
-		final ISortStateLocator<S> stateLocator)
-	{
-		this(id, property, stateLocator, new OrderByLink.DefaultCssProvider<S>());
-	}
-
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/2f87d0b4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
index ea6935d..e39e751 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
@@ -16,11 +16,9 @@
  */
 package org.apache.wicket.extensions.markup.html.repeater.data.sort;
 
-import org.apache.wicket.Component;
-import org.apache.wicket.behavior.Behavior;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.link.Link;
-import org.apache.wicket.util.io.IClusterable;
+import org.apache.wicket.settings.ICssSettings;
 import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.string.Strings;
 
@@ -48,25 +46,6 @@ public class OrderByLink<S> extends Link<Void>
 	 * 
 	 * @param id
 	 *            the component id of the link
-	 * @param sortProperty
-	 *            the name of the sortable sortProperty this link represents. this value will be
-	 *            used as parameter for sort state object methods. sort state object will be located
-	 *            via the stateLocator argument.
-	 * @param stateLocator
-	 *            locator used to locate sort state object that this will use to read/write state of
-	 *            sorted properties
-	 */
-	public OrderByLink(final String id, final S sortProperty,
-		final ISortStateLocator<S> stateLocator)
-	{
-		this(id, sortProperty, stateLocator, new DefaultCssProvider<S>());
-	}
-
-	/**
-	 * Constructor.
-	 * 
-	 * @param id
-	 *            the component id of the link
 	 * @param property
 	 *            the name of the sortable property this link represents. this value will be used as
 	 *            parameter for sort state object methods. sort state object will be located via the
@@ -74,23 +53,16 @@ public class OrderByLink<S> extends Link<Void>
 	 * @param stateLocator
 	 *            locator used to locate sort state object that this will use to read/write state of
 	 *            sorted properties
-	 * @param cssProvider
-	 *            CSS provider that will be used generate the value of class attribute for this link
-	 * 
-	 * @see OrderByLink.ICssProvider
-	 * 
+	 *
 	 */
-	public OrderByLink(final String id, final S property, final ISortStateLocator<S> stateLocator,
-		final ICssProvider<S> cssProvider)
+	public OrderByLink(final String id, final S property, final ISortStateLocator<S> stateLocator)
 	{
 		super(id);
 
-		Args.notNull(cssProvider, "cssProvider");
 		Args.notNull(property, "property");
 
 		this.property = property;
 		this.stateLocator = stateLocator;
-		add(new CssModifier<>(this, cssProvider));
 	}
 
 	/**
@@ -155,162 +127,33 @@ public class OrderByLink<S> extends Link<Void>
 		}
 	}
 
-	/**
-	 * Uses the specified ICssProvider to add css class attributes to the link.
-	 * 
-	 * @param <S>
-	 *            type of sort property
-	 * @author Igor Vaynberg ( ivaynberg )
-	 */
-	public static class CssModifier<S> extends Behavior
+	@Override
+	public void onComponentTag(final ComponentTag tag)
 	{
-		private static final long serialVersionUID = 1L;
-		private final OrderByLink<S> link;
-		private final ICssProvider<S> provider;
+		super.onComponentTag(tag);
 
-		/**
-		 * @param link
-		 *            the link this modifier is being added to
-		 * @param provider
-		 *            implementation of ICssProvider
-		 */
-		public CssModifier(final OrderByLink<S> link, final ICssProvider<S> provider)
-		{
-			this.link = link;
-			this.provider = provider;
-		}
+		final ISortState<S> sortState = stateLocator.getSortState();
 
-		@Override
-		public void onComponentTag(final Component component, final ComponentTag tag)
+		ICssSettings cssSettings = getApplication().getCssSettings();
+		SortOrder dir = sortState.getPropertySortOrder(property);
+		String cssClass;
+		if (dir == SortOrder.ASCENDING)
 		{
-			super.onComponentTag(component, tag);
-
-			final ISortState<S> sortState = link.stateLocator.getSortState();
-			String cssClass = provider.getClassAttributeValue(sortState, link.property);
-			if (!Strings.isEmpty(cssClass))
-			{
-				tag.append("class", cssClass, " ");
-			}
-
+			cssClass = cssSettings.getSortOrderUpCssClass();
 		}
-	}
-
-
-	/**
-	 * Interface used to generate values of css class attribute for the anchor tag If the generated
-	 * value is null class attribute will not be added
-	 * 
-	 * @author igor
-	 * @param <S>
-	 *            the type of the sort property
-	 */
-	public static interface ICssProvider<S> extends IClusterable
-	{
-		/**
-		 * @param state
-		 *            current sort state
-		 * @param sortProperty
-		 *            sort sortProperty represented by the {@link OrderByLink}
-		 * @return the value of the "class" attribute for the given sort state/sort sortProperty
-		 *         combination
-		 */
-		public String getClassAttributeValue(ISortState<S> state, S sortProperty);
-	}
-
-
-	/**
-	 * Easily constructible implementation of ICSSProvider
-	 * 
-	 * @param <S>
-	 *            the type of the sort property
-	 * 
-	 * @author Igor Vaynberg (ivaynberg)
-	 */
-	public static class CssProvider<S> implements ICssProvider<S>
-	{
-		private static final long serialVersionUID = 1L;
-
-		private final String ascending;
-
-		private final String descending;
-
-		private final String none;
-
-		/**
-		 * @param ascending
-		 *            css class when sorting is ascending
-		 * @param descending
-		 *            css class when sorting is descending
-		 * @param none
-		 *            css class when not sorted
-		 */
-		public CssProvider(final String ascending, final String descending, final String none)
+		else if (dir == SortOrder.DESCENDING)
 		{
-			this.ascending = ascending;
-			this.descending = descending;
-			this.none = none;
+			cssClass = cssSettings.getSortOrderDownCssClass();
 		}
-
-		@Override
-		public String getClassAttributeValue(final ISortState<S> state, final S sortProperty)
+		else
 		{
-			SortOrder dir = state.getPropertySortOrder(sortProperty);
-
-			if (dir == SortOrder.ASCENDING)
-			{
-				return ascending;
-			}
-			else if (dir == SortOrder.DESCENDING)
-			{
-				return descending;
-			}
-			else
-			{
-				return none;
-			}
+			cssClass = cssSettings.getSortOrderNoneCssClass();
 		}
-	}
 
-	/**
-	 * Convenience implementation of ICssProvider that always returns a null and so never adds a
-	 * class attribute
-	 * 
-	 * @param <S>
-	 *            the type of the sort property
-	 * @author Igor Vaynberg ( ivaynberg )
-	 */
-	public static class VoidCssProvider<S> extends CssProvider<S>
-	{
-		private static final long serialVersionUID = 1L;
-
-		/**
-		 * Construct.
-		 */
-		public VoidCssProvider()
+		if (!Strings.isEmpty(cssClass))
 		{
-			super("", "", "");
+			tag.append("class", cssClass, " ");
 		}
-	}
 
-	/**
-	 * Default implementation of ICssProvider
-	 * 
-	 * @param <S>
-	 *            the type of the sort property
-	 * 
-	 * @author Igor Vaynberg ( ivaynberg )
-	 */
-	public static class DefaultCssProvider<S> extends CssProvider<S>
-	{
-		private static final long serialVersionUID = 1L;
-
-		/**
-		 * Construct.
-		 */
-		public DefaultCssProvider()
-		{
-			super("wicket_orderUp", "wicket_orderDown", "wicket_orderNone");
-		}
 	}
-
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/2f87d0b4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
index 94cb909..cb40da8 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
@@ -272,7 +272,7 @@ public class TabbedPanel<T extends ITab> extends Panel
 	 */
 	protected String getTabContainerCssClass()
 	{
-		return "tab-row";
+		return getApplication().getCssSettings().getTabbedPanelTabContainerCssClass();
 	}
 
 	/**
@@ -281,7 +281,7 @@ public class TabbedPanel<T extends ITab> extends Panel
 	 */
 	protected String getLastTabCssClass()
 	{
-		return "last";
+		return getApplication().getCssSettings().getTabbedPanelLastCssClass();
 	}
 
 	/**
@@ -290,7 +290,7 @@ public class TabbedPanel<T extends ITab> extends Panel
 	 */
 	protected String getSelectedTabCssClass()
 	{
-		return "selected";
+		return getApplication().getCssSettings().getTabbedPanelSelectedCssClass();
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/2f87d0b4/wicket-jmx/src/main/java/org/apache/wicket/jmx/CssSettings.java
----------------------------------------------------------------------
diff --git a/wicket-jmx/src/main/java/org/apache/wicket/jmx/CssSettings.java b/wicket-jmx/src/main/java/org/apache/wicket/jmx/CssSettings.java
new file mode 100644
index 0000000..4db5187
--- /dev/null
+++ b/wicket-jmx/src/main/java/org/apache/wicket/jmx/CssSettings.java
@@ -0,0 +1,170 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.jmx;
+
+import org.apache.wicket.feedback.FeedbackMessage;
+
+/**
+ * Exposes Application CSS related functionality for JMX.
+ */
+public class CssSettings implements CssSettingsMBean
+{
+	private final org.apache.wicket.Application application;
+
+	public CssSettings(org.apache.wicket.Application application)
+	{
+		this.application = application;
+	}
+
+	@Override
+	public String getSortOrderDownCssClass()
+	{
+		return application.getCssSettings().getSortOrderDownCssClass();
+	}
+
+	@Override
+	public void setSortOrderDownCssClass(String cssClassName)
+	{
+		application.getCssSettings().setSortOrderDownCssClass(cssClassName);
+	}
+
+	@Override
+	public String getSortOrderUpCssClass()
+	{
+		return application.getCssSettings().getSortOrderUpCssClass();
+	}
+
+	@Override
+	public void setSortOrderUpCssClass(String cssClassName)
+	{
+		application.getCssSettings().setSortOrderUpCssClass(cssClassName);
+	}
+
+	@Override
+	public String getSortOrderNoneCssClass()
+	{
+		return application.getCssSettings().getSortOrderNoneCssClass();
+	}
+
+	@Override
+	public void setSortOrderNoneCssClass(String cssClassName)
+	{
+		application.getCssSettings().setSortOrderNoneCssClass(cssClassName);
+	}
+
+	@Override
+	public String getFeedbackMessageCssClass(FeedbackMessage message)
+	{
+		return application.getCssSettings().getFeedbackMessageCssClass(message);
+	}
+
+	@Override
+	public void setRequiredCssClass(String cssClassName)
+	{
+		application.getCssSettings().setRequiredCssClass(cssClassName);
+	}
+
+	@Override
+	public String getRequiredCssClass()
+	{
+		return application.getCssSettings().getRequiredCssClass();
+	}
+
+	@Override
+	public void setInvalidCssClass(String cssClassName)
+	{
+		application.getCssSettings().setInvalidCssClass(cssClassName);
+	}
+
+	@Override
+	public String getInvalidCssClass()
+	{
+		return application.getCssSettings().getInvalidCssClass();
+	}
+
+	@Override
+	public void setDisabledCssClass(String cssClassName)
+	{
+		application.getCssSettings().setDisabledCssClass(cssClassName);
+	}
+
+	@Override
+	public String getDisabledCssClass()
+	{
+		return application.getCssSettings().getDisabledCssClass();
+	}
+
+	@Override
+	public void setOddItemCssClass(String cssClassName)
+	{
+		application.getCssSettings().setOddItemCssClass(cssClassName);
+	}
+
+	@Override
+	public String getOddItemCssClass()
+	{
+		return application.getCssSettings().getOddItemCssClass();
+	}
+
+	@Override
+	public void setEvenItemCssClass(String cssClassName)
+	{
+		application.getCssSettings().setEvenItemCssClass(cssClassName);
+	}
+
+	@Override
+	public String getEvenItemCssClass()
+	{
+		return application.getCssSettings().getEvenItemCssClass();
+	}
+
+	@Override
+	public void setTabbedPanelSelectedCssClass(String cssClassName)
+	{
+		application.getCssSettings().setTabbedPanelSelectedCssClass(cssClassName);
+	}
+
+	@Override
+	public String getTabbedPanelSelectedCssClass()
+	{
+		return application.getCssSettings().getTabbedPanelSelectedCssClass();
+	}
+
+	@Override
+	public void setTabbedPanelLastCssClass(String cssClassName)
+	{
+		application.getCssSettings().setTabbedPanelLastCssClass(cssClassName);
+	}
+
+	@Override
+	public String getTabbedPanelLastCssClass()
+	{
+		return application.getCssSettings().getTabbedPanelLastCssClass();
+	}
+
+	@Override
+	public void setTabbedPanelTabContainerCssClass(String cssClassName)
+	{
+		application.getCssSettings().setTabbedPanelTabContainerCssClass(cssClassName);
+	}
+
+	@Override
+	public String getTabbedPanelTabContainerCssClass()
+	{
+		return application.getCssSettings().getTabbedPanelTabContainerCssClass();
+	}
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/2f87d0b4/wicket-jmx/src/main/java/org/apache/wicket/jmx/CssSettingsMBean.java
----------------------------------------------------------------------
diff --git a/wicket-jmx/src/main/java/org/apache/wicket/jmx/CssSettingsMBean.java b/wicket-jmx/src/main/java/org/apache/wicket/jmx/CssSettingsMBean.java
new file mode 100644
index 0000000..97292d6
--- /dev/null
+++ b/wicket-jmx/src/main/java/org/apache/wicket/jmx/CssSettingsMBean.java
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.jmx;
+
+import org.apache.wicket.settings.ICssSettings;
+
+/**
+ * Css settings
+ */
+public interface CssSettingsMBean extends ICssSettings
+{
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/2f87d0b4/wicket-jmx/src/main/java/org/apache/wicket/jmx/Initializer.java
----------------------------------------------------------------------
diff --git a/wicket-jmx/src/main/java/org/apache/wicket/jmx/Initializer.java b/wicket-jmx/src/main/java/org/apache/wicket/jmx/Initializer.java
index 77aaa2d..cb2ad8a 100644
--- a/wicket-jmx/src/main/java/org/apache/wicket/jmx/Initializer.java
+++ b/wicket-jmx/src/main/java/org/apache/wicket/jmx/Initializer.java
@@ -192,6 +192,8 @@ public class Initializer implements IInitializer
 				":type=Application,name=SessionSettings"));
 			register(new StoreSettings(application), new ObjectName(domain +
 				":type=Application,name=StoreSettings"));
+			register(new CssSettings(application), new ObjectName(domain +
+					":type=Application,name=CssSettings"));
 
 			RequestLogger sessionsBean = new RequestLogger(application);
 			ObjectName sessionsBeanName = new ObjectName(domain + ":type=RequestLogger");


[2/6] git commit: WICKET-5257 Make css class strings used in the framework configurable

Posted by mg...@apache.org.
WICKET-5257 Make css class strings used in the framework configurable


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

Branch: refs/heads/master
Commit: 5ac5a36a90710a4f9a7ed62273d55dc158d5f1ce
Parents: 2f87d0b
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Jun 27 17:56:09 2013 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Jun 27 17:56:09 2013 +0300

----------------------------------------------------------------------
 .../apache/wicket/feedback/FeedbackMessage.java |  14 ++
 .../markup/html/form/AutoLabelResolver.java     |  13 +-
 .../wicket/markup/html/form/FormComponent.java  |   4 +-
 .../markup/html/form/FormComponentLabel.java    |  12 +-
 .../markup/html/list/OddEvenListItem.java       |   6 +-
 .../wicket/markup/html/panel/FeedbackPanel.java |  31 +++-
 .../wicket/markup/repeater/OddEvenItem.java     |   6 +-
 .../apache/wicket/settings/ICssSettings.java    |  52 +-----
 .../apache/wicket/settings/def/CssSettings.java | 174 ++++---------------
 .../apache/wicket/extensions/Initializer.java   |  18 ++
 .../html/repeater/data/sort/OrderByLink.java    |  12 +-
 .../markup/html/tabs/TabbedPanel.java           |  12 +-
 .../java/org/apache/wicket/jmx/CssSettings.java | 170 ------------------
 .../org/apache/wicket/jmx/CssSettingsMBean.java |  26 ---
 .../java/org/apache/wicket/jmx/Initializer.java |   2 -
 15 files changed, 144 insertions(+), 408 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/5ac5a36a/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java b/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java
index fbee466..3bd6959 100644
--- a/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java
+++ b/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java
@@ -34,6 +34,20 @@ public class FeedbackMessage implements IDetachable
 {
 	private static final long serialVersionUID = 1L;
 
+	public static final String UNDEFINED_CSS_CLASS_KEY = "wicket-core-feedback-message-undefined-css-class";
+
+	public static final String DEBUG_CSS_CLASS_KEY = "wicket-core-feedback-message-debug-css-class";
+
+	public static final String INFO_CSS_CLASS_KEY = "wicket-core-feedback-message-info-css-class";
+
+	public static final String SUCCESS_CSS_CLASS_KEY = "wicket-core-feedback-message-success-css-class";
+
+	public static final String WARNING_CSS_CLASS_KEY = "wicket-core-feedback-message-warning-css-class";
+
+	public static final String ERROR_CSS_CLASS_KEY = "wicket-core-feedback-message-error-css-class";
+
+	public static final String FATAL_CSS_CLASS_KEY = "wicket-core-feedback-message-fatal-css-class";
+
 	/**
 	 * Constant for an undefined level; note that components might decide not to render anything
 	 * when this level is used.

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ac5a36a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
index f99cd94..815401a 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
@@ -63,6 +63,13 @@ public class AutoLabelResolver implements IComponentResolver
 
 	private static final Logger logger = LoggerFactory.getLogger(AutoLabelResolver.class);
 
+	public static final String REQUIRED_CSS_CLASS_KEY = "wicket-core-auto-label-required-css-class";
+
+	public static final String INVALID_CSS_CLASS_KEY = "wicket-core-auto-label-invalid-css-class";
+
+	public static final String DISABLED_CSS_CLASS_KEY = "wicket-core-auto-label-disabled-css-class";
+
+
 	static final String WICKET_FOR = ":for";
 
 	@Override
@@ -193,17 +200,17 @@ public class AutoLabelResolver implements IComponentResolver
 				FormComponent<?> fc = (FormComponent<?>)component;
 				if (fc.isRequired())
 				{
-					tag.append("class", cssSettings.getRequiredCssClass(), " ");
+					tag.append("class", cssSettings.getCssClass(REQUIRED_CSS_CLASS_KEY), " ");
 				}
 				if (!fc.isValid())
 				{
-					tag.append("class", cssSettings.getInvalidCssClass(), " ");
+					tag.append("class", cssSettings.getCssClass(INVALID_CSS_CLASS_KEY), " ");
 				}
 			}
 
 			if (!component.isEnabledInHierarchy())
 			{
-				tag.append("class", cssSettings.getDisabledCssClass(), " ");
+				tag.append("class", cssSettings.getCssClass(DISABLED_CSS_CLASS_KEY), " ");
 			}
 		}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ac5a36a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
index 8c836e1..50821ea 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
@@ -132,7 +132,7 @@ public abstract class FormComponent<T> extends LabeledWebMarkupContainer
 
 			// retrieve prefix that will be used to construct message keys
 			String prefix = formComponent.getValidatorKeyPrefix();
-			String message = null;
+			String message;
 
 			// first try the full form of key [form-component-id].[prefix].[key]
 			String resource = getId() + "." + prefix(prefix, key);
@@ -256,7 +256,7 @@ public abstract class FormComponent<T> extends LabeledWebMarkupContainer
 			final HashMap<String, Object> fullParams;
 			if (params == null)
 			{
-				fullParams = new HashMap<String, Object>(6);
+				fullParams = new HashMap<>(6);
 			}
 			else
 			{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ac5a36a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
index c5ebd6f..a986dd5 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
@@ -33,6 +33,12 @@ public class FormComponentLabel extends WebMarkupContainer
 {
 	private static final long serialVersionUID = 1L;
 
+	public static final String REQUIRED_CSS_CLASS_KEY = "wicket-core-form-component-label-required-css-class";
+
+	public static final String INVALID_CSS_CLASS_KEY = "wicket-core-form-component-label-invalid-css-class";
+
+	public static final String DISABLED_CSS_CLASS_KEY = "wicket-core-form-component-label-disabled-css-class";
+
 	private final LabeledWebMarkupContainer component;
 
 	/**
@@ -74,17 +80,17 @@ public class FormComponentLabel extends WebMarkupContainer
 
 			if (fc.isRequired())
 			{
-				tag.append("class", cssSettings.getRequiredCssClass(), " ");
+				tag.append("class", cssSettings.getCssClass(REQUIRED_CSS_CLASS_KEY), " ");
 			}
 			if (fc.isValid() == false)
 			{
-				tag.append("class", cssSettings.getInvalidCssClass(), " ");
+				tag.append("class", cssSettings.getCssClass(INVALID_CSS_CLASS_KEY), " ");
 			}
 		}
 
 		if (formComponent.isEnabledInHierarchy() == false)
 		{
-			tag.append("class", cssSettings.getDisabledCssClass(), " ");
+			tag.append("class", cssSettings.getCssClass(DISABLED_CSS_CLASS_KEY), " ");
 		}
 
 		// always transform the tag to <span></span> so even labels defined as <span/> render

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ac5a36a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java
index 80db38e..324ce36 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java
@@ -31,6 +31,10 @@ public class OddEvenListItem<T> extends ListItem<T>
 {
 	private static final long serialVersionUID = 1L;
 
+	public static final String ODD_CSS_CLASS_KEY = "wicket-core-odd-list-item-css-class";
+
+	public static final String EVEN_CSS_CLASS_KEY = "wicket-core-even-list-item-css-class";
+
 	/**
 	 * Constructor
 	 * 
@@ -51,6 +55,6 @@ public class OddEvenListItem<T> extends ListItem<T>
 		super.onComponentTag(tag);
 
 		ICssSettings cssSettings = getApplication().getCssSettings();
-		tag.append("class", (getIndex() % 2 == 0) ? cssSettings.getEvenItemCssClass() : cssSettings.getOddItemCssClass(), " ");
+		tag.append("class", (getIndex() % 2 == 0) ? cssSettings.getCssClass(EVEN_CSS_CLASS_KEY) : cssSettings.getCssClass(ODD_CSS_CLASS_KEY), " ");
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ac5a36a/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java
index 2dba2a6..97e945f 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java
@@ -34,6 +34,7 @@ import org.apache.wicket.markup.html.list.ListView;
 import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.settings.IApplicationSettings;
+import org.apache.wicket.settings.ICssSettings;
 
 
 /**
@@ -291,7 +292,35 @@ public class FeedbackPanel extends Panel implements IFeedback
 	 */
 	protected String getCSSClass(final FeedbackMessage message)
 	{
-		return getApplication().getCssSettings().getFeedbackMessageCssClass(message);
+		ICssSettings cssSettings = getApplication().getCssSettings();
+		String cssClass;
+		switch (message.getLevel())
+		{
+			case FeedbackMessage.UNDEFINED:
+				cssClass = cssSettings.getCssClass(FeedbackMessage.UNDEFINED_CSS_CLASS_KEY);
+				break;
+			case FeedbackMessage.DEBUG:
+				cssClass = cssSettings.getCssClass(FeedbackMessage.DEBUG_CSS_CLASS_KEY);
+				break;
+			case FeedbackMessage.INFO:
+				cssClass = cssSettings.getCssClass(FeedbackMessage.INFO_CSS_CLASS_KEY);
+				break;
+			case FeedbackMessage.SUCCESS:
+				cssClass = cssSettings.getCssClass(FeedbackMessage.SUCCESS_CSS_CLASS_KEY);
+				break;
+			case FeedbackMessage.WARNING:
+				cssClass = cssSettings.getCssClass(FeedbackMessage.WARNING_CSS_CLASS_KEY);
+				break;
+			case FeedbackMessage.ERROR:
+				cssClass = cssSettings.getCssClass(FeedbackMessage.ERROR_CSS_CLASS_KEY);
+				break;
+			case FeedbackMessage.FATAL:
+				cssClass = cssSettings.getCssClass(FeedbackMessage.FATAL_CSS_CLASS_KEY);
+				break;
+			default:
+				cssClass = "feedbackPanel" + message.getLevelAsString();
+		}
+		return cssClass;
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ac5a36a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java
index 5d828ec..3d3adba 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java
@@ -32,6 +32,10 @@ public class OddEvenItem<T> extends Item<T>
 {
 	private static final long serialVersionUID = 1L;
 
+	public static final String ODD_CSS_CLASS_KEY = "wicket-core-odd-item-css-class";
+
+	public static final String EVEN_CSS_CLASS_KEY = "wicket-core-even-item-css-class";
+
 	/**
 	 * Constructor
 	 * 
@@ -53,7 +57,7 @@ public class OddEvenItem<T> extends Item<T>
 		super.onComponentTag(tag);
 
 		ICssSettings cssSettings = getApplication().getCssSettings();
-		tag.put("class", (getIndex() % 2 == 0) ? cssSettings.getEvenItemCssClass() : cssSettings.getOddItemCssClass());
+		tag.put("class", (getIndex() % 2 == 0) ? cssSettings.getCssClass(EVEN_CSS_CLASS_KEY) : cssSettings.getCssClass(ODD_CSS_CLASS_KEY));
 	}
 
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ac5a36a/wicket-core/src/main/java/org/apache/wicket/settings/ICssSettings.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/settings/ICssSettings.java b/wicket-core/src/main/java/org/apache/wicket/settings/ICssSettings.java
index 89f0f9f..14fb10a 100644
--- a/wicket-core/src/main/java/org/apache/wicket/settings/ICssSettings.java
+++ b/wicket-core/src/main/java/org/apache/wicket/settings/ICssSettings.java
@@ -16,61 +16,13 @@
  */
 package org.apache.wicket.settings;
 
-import org.apache.wicket.feedback.FeedbackMessage;
-
 /**
  * Provides means to change the default CSS classes and styles used
  * by the components in Wicket distribution.
  */
 public interface ICssSettings
 {
-	/**
-	 *
-	 * @return
-	 */
-	String getSortOrderDownCssClass();
-
-	void setSortOrderDownCssClass(String cssClassName);
-
-	String getSortOrderUpCssClass();
-
-	void setSortOrderUpCssClass(String cssClassName);
-
-	String getSortOrderNoneCssClass();
-
-	void setSortOrderNoneCssClass(String cssClassName);
-
-	String getFeedbackMessageCssClass(FeedbackMessage message);
-
-	void setRequiredCssClass(String cssClassName);
-
-	String getRequiredCssClass();
-
-	void setInvalidCssClass(String cssClassName);
-
-	String getInvalidCssClass();
-
-	void setDisabledCssClass(String cssClassName);
-
-	String getDisabledCssClass();
-
-	void setOddItemCssClass(String cssClassName);
-
-	String getOddItemCssClass();
-
-	void setEvenItemCssClass(String cssClassName);
-
-	String getEvenItemCssClass();
-
-	void setTabbedPanelSelectedCssClass(String cssClassName);
-
-	String getTabbedPanelSelectedCssClass();
-
-	void setTabbedPanelLastCssClass(String cssClassName);
-
-	String getTabbedPanelLastCssClass();
-
-	void setTabbedPanelTabContainerCssClass(String cssClassName);
+	String getCssClass(String key);
 
-	String getTabbedPanelTabContainerCssClass();
+	void setCssClass(String key, String cssClassName);
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ac5a36a/wicket-core/src/main/java/org/apache/wicket/settings/def/CssSettings.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/settings/def/CssSettings.java b/wicket-core/src/main/java/org/apache/wicket/settings/def/CssSettings.java
index a92a8c5..9fbaaa2 100644
--- a/wicket-core/src/main/java/org/apache/wicket/settings/def/CssSettings.java
+++ b/wicket-core/src/main/java/org/apache/wicket/settings/def/CssSettings.java
@@ -16,7 +16,14 @@
  */
 package org.apache.wicket.settings.def;
 
+import java.util.HashMap;
+import java.util.Map;
+
 import org.apache.wicket.feedback.FeedbackMessage;
+import org.apache.wicket.markup.html.form.AutoLabelResolver;
+import org.apache.wicket.markup.html.form.FormComponentLabel;
+import org.apache.wicket.markup.html.list.OddEvenListItem;
+import org.apache.wicket.markup.repeater.OddEvenItem;
 import org.apache.wicket.settings.ICssSettings;
 
 /**
@@ -24,163 +31,44 @@ import org.apache.wicket.settings.ICssSettings;
  */
 public class CssSettings implements ICssSettings
 {
-	private String sortOrderDownCssClass = "wicket_orderDown";
-
-	private String sortOrderUpCssClass = "wicket_orderUp";
-
-	private String sortOrderNoneCssClass = "wicket_orderNone";
-
-	private String requiredCssClass = "required";
-
-	private String invalidCssClass = "error";
-
-	private String disabledCssClass = "disabled";
-
-	private String oddItemCssClass = "odd";
-
-	private String evenItemCssClass = "even";
-
-	private String tabbedPanelSelectedCssClass = "selected";
-
-	private String tabbedPanelLastCssClass = "last";
-
-	private String tabbedPanelTabContainerCssClass = "tab-row";
-
-	@Override
-	public String getSortOrderDownCssClass()
-	{
-		return sortOrderDownCssClass;
-	}
-
-	@Override
-	public void setSortOrderDownCssClass(String cssClassName)
-	{
-		this.sortOrderDownCssClass = cssClassName;
-	}
-
-	@Override
-	public String getSortOrderUpCssClass()
-	{
-		return sortOrderUpCssClass;
-	}
+	private final Map<String, String> cssClassNames;
 
-	@Override
-	public void setSortOrderUpCssClass(String cssClassName)
+	public CssSettings()
 	{
-		this.sortOrderUpCssClass = cssClassName;
-	}
+		this.cssClassNames = new HashMap<>();
 
-	@Override
-	public String getSortOrderNoneCssClass()
-	{
-		return sortOrderNoneCssClass;
-	}
+		setCssClass(FormComponentLabel.DISABLED_CSS_CLASS_KEY, "disabled");
+		setCssClass(FormComponentLabel.INVALID_CSS_CLASS_KEY, "error");
+		setCssClass(FormComponentLabel.REQUIRED_CSS_CLASS_KEY, "required");
 
-	@Override
-	public void setSortOrderNoneCssClass(String cssClassName)
-	{
-		this.sortOrderNoneCssClass = cssClassName;
-	}
-
-	@Override
-	public String getFeedbackMessageCssClass(FeedbackMessage message)
-	{
-		return "feedbackPanel" + message.getLevelAsString();
-	}
+		setCssClass(AutoLabelResolver.DISABLED_CSS_CLASS_KEY, "disabled");
+		setCssClass(AutoLabelResolver.INVALID_CSS_CLASS_KEY, "error");
+		setCssClass(AutoLabelResolver.REQUIRED_CSS_CLASS_KEY, "required");
 
-	@Override
-	public void setRequiredCssClass(String cssClassName)
-	{
-		this.requiredCssClass = cssClassName;
-	}
+		setCssClass(OddEvenItem.ODD_CSS_CLASS_KEY, "odd");
+		setCssClass(OddEvenItem.EVEN_CSS_CLASS_KEY, "even");
 
-	@Override
-	public String getRequiredCssClass()
-	{
-		return requiredCssClass;
-	}
+		setCssClass(OddEvenListItem.ODD_CSS_CLASS_KEY, "odd");
+		setCssClass(OddEvenListItem.EVEN_CSS_CLASS_KEY, "even");
 
-	@Override
-	public void setInvalidCssClass(String cssClassName)
-	{
-		this.invalidCssClass = cssClassName;
-	}
-
-	@Override
-	public String getInvalidCssClass()
-	{
-		return invalidCssClass;
-	}
-
-	@Override
-	public void setDisabledCssClass(String cssClassName)
-	{
-		this.disabledCssClass = cssClassName;
-	}
-
-	@Override
-	public String getDisabledCssClass()
-	{
-		return disabledCssClass;
-	}
-
-	@Override
-	public void setOddItemCssClass(String cssClassName)
-	{
-		this.oddItemCssClass = cssClassName;
-	}
-
-	@Override
-	public String getOddItemCssClass()
-	{
-		return oddItemCssClass;
-	}
-
-	@Override
-	public void setEvenItemCssClass(String cssClassName)
-	{
-		this.evenItemCssClass = cssClassName;
-	}
-
-	@Override
-	public String getEvenItemCssClass()
-	{
-		return evenItemCssClass;
-	}
-
-	@Override
-	public void setTabbedPanelSelectedCssClass(String cssClassName)
-	{
-		this.tabbedPanelSelectedCssClass = cssClassName;
-	}
-
-	@Override
-	public String getTabbedPanelSelectedCssClass()
-	{
-		return tabbedPanelSelectedCssClass;
-	}
-
-	@Override
-	public void setTabbedPanelLastCssClass(String cssClassName)
-	{
-		this.tabbedPanelLastCssClass = cssClassName;
-	}
-
-	@Override
-	public String getTabbedPanelLastCssClass()
-	{
-		return tabbedPanelLastCssClass;
+		setCssClass(FeedbackMessage.UNDEFINED_CSS_CLASS_KEY, "feedbackPanelUNDEFINED");
+		setCssClass(FeedbackMessage.DEBUG_CSS_CLASS_KEY, "feedbackPanelDEBUG");
+		setCssClass(FeedbackMessage.INFO_CSS_CLASS_KEY, "feedbackPanelINFO");
+		setCssClass(FeedbackMessage.SUCCESS_CSS_CLASS_KEY, "feedbackPanelSUCCESS");
+		setCssClass(FeedbackMessage.WARNING_CSS_CLASS_KEY, "feedbackPanelWARNING");
+		setCssClass(FeedbackMessage.ERROR_CSS_CLASS_KEY, "feedbackPanelERROR");
+		setCssClass(FeedbackMessage.FATAL_CSS_CLASS_KEY, "feedbackPanelFATAL");
 	}
 
 	@Override
-	public void setTabbedPanelTabContainerCssClass(String cssClassName)
+	public String getCssClass(String key)
 	{
-		this.tabbedPanelTabContainerCssClass = cssClassName;
+		return cssClassNames.get(key);
 	}
 
 	@Override
-	public String getTabbedPanelTabContainerCssClass()
+	public void setCssClass(String key, String cssClassName)
 	{
-		return tabbedPanelTabContainerCssClass;
+		cssClassNames.put(key, cssClassName);
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ac5a36a/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.java
index 53167fd..2d76e49 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.java
@@ -19,6 +19,9 @@ package org.apache.wicket.extensions;
 import org.apache.wicket.Application;
 import org.apache.wicket.IInitializer;
 import org.apache.wicket.extensions.ajax.markup.html.form.upload.UploadProgressBar;
+import org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByLink;
+import org.apache.wicket.extensions.markup.html.tabs.TabbedPanel;
+import org.apache.wicket.settings.ICssSettings;
 
 
 /**
@@ -35,6 +38,21 @@ public class Initializer implements IInitializer
 	public void init(final Application application)
 	{
 		new UploadProgressBar.ComponentInitializer().init(application);
+
+		configureCssSettings(application);
+	}
+
+	private void configureCssSettings(Application application)
+	{
+		ICssSettings cssSettings = application.getCssSettings();
+
+		cssSettings.setCssClass(TabbedPanel.CONTAINER_CSS_CLASS_KEY, "tab-row");
+		cssSettings.setCssClass(TabbedPanel.SELECTED_CSS_CLASS_KEY, "selected");
+		cssSettings.setCssClass(TabbedPanel.LAST_CSS_CLASS_KEY, "last");
+
+		cssSettings.setCssClass(OrderByLink.SORT_ASCENDING_CSS_CLASS_KEY, "wicket_orderUp");
+		cssSettings.setCssClass(OrderByLink.SORT_DESCENDING_CSS_CLASS_KEY, "wicket_orderDown");
+		cssSettings.setCssClass(OrderByLink.SORT_NONE_CSS_CLASS_KEY, "wicket_orderNone");
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ac5a36a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
index e39e751..e0d08eb 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
@@ -35,6 +35,12 @@ public class OrderByLink<S> extends Link<Void>
 {
 	private static final long serialVersionUID = 1L;
 
+	public static final String SORT_ASCENDING_CSS_CLASS_KEY = "wicket-extensions-order-by-link-sort-ascending-css-class";
+
+	public static final String SORT_DESCENDING_CSS_CLASS_KEY = "wicket-extensions-order-by-link-sort-descending-css-class";
+
+	public static final String SORT_NONE_CSS_CLASS_KEY = "wicket-extensions-order-by-link-sort-none-css-class";
+
 	/** sortable property */
 	private final S property;
 
@@ -139,15 +145,15 @@ public class OrderByLink<S> extends Link<Void>
 		String cssClass;
 		if (dir == SortOrder.ASCENDING)
 		{
-			cssClass = cssSettings.getSortOrderUpCssClass();
+			cssClass = cssSettings.getCssClass(SORT_ASCENDING_CSS_CLASS_KEY);
 		}
 		else if (dir == SortOrder.DESCENDING)
 		{
-			cssClass = cssSettings.getSortOrderDownCssClass();
+			cssClass = cssSettings.getCssClass(SORT_DESCENDING_CSS_CLASS_KEY);
 		}
 		else
 		{
-			cssClass = cssSettings.getSortOrderNoneCssClass();
+			cssClass = cssSettings.getCssClass(SORT_NONE_CSS_CLASS_KEY);
 		}
 
 		if (!Strings.isEmpty(cssClass))

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ac5a36a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
index cb40da8..81f868d 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
@@ -79,6 +79,12 @@ public class TabbedPanel<T extends ITab> extends Panel
 	/** id used for child panels */
 	public static final String TAB_PANEL_ID = "panel";
 
+	public static final String CONTAINER_CSS_CLASS_KEY = "wicket-extensions-tabbed-panel-container-css-class-key";
+
+	public static final String SELECTED_CSS_CLASS_KEY = "wicket-extensions-tabbed-panel-selected-css-class-key";
+
+	public static final String LAST_CSS_CLASS_KEY = "wicket-extensions-tabbed-panel-last-css-class-key";
+
 	private final List<T> tabs;
 
 	/** the current tab */
@@ -272,7 +278,7 @@ public class TabbedPanel<T extends ITab> extends Panel
 	 */
 	protected String getTabContainerCssClass()
 	{
-		return getApplication().getCssSettings().getTabbedPanelTabContainerCssClass();
+		return getApplication().getCssSettings().getCssClass(CONTAINER_CSS_CLASS_KEY);
 	}
 
 	/**
@@ -281,7 +287,7 @@ public class TabbedPanel<T extends ITab> extends Panel
 	 */
 	protected String getLastTabCssClass()
 	{
-		return getApplication().getCssSettings().getTabbedPanelLastCssClass();
+		return getApplication().getCssSettings().getCssClass(LAST_CSS_CLASS_KEY);
 	}
 
 	/**
@@ -290,7 +296,7 @@ public class TabbedPanel<T extends ITab> extends Panel
 	 */
 	protected String getSelectedTabCssClass()
 	{
-		return getApplication().getCssSettings().getTabbedPanelSelectedCssClass();
+		return getApplication().getCssSettings().getCssClass(SELECTED_CSS_CLASS_KEY);
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ac5a36a/wicket-jmx/src/main/java/org/apache/wicket/jmx/CssSettings.java
----------------------------------------------------------------------
diff --git a/wicket-jmx/src/main/java/org/apache/wicket/jmx/CssSettings.java b/wicket-jmx/src/main/java/org/apache/wicket/jmx/CssSettings.java
deleted file mode 100644
index 4db5187..0000000
--- a/wicket-jmx/src/main/java/org/apache/wicket/jmx/CssSettings.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.wicket.jmx;
-
-import org.apache.wicket.feedback.FeedbackMessage;
-
-/**
- * Exposes Application CSS related functionality for JMX.
- */
-public class CssSettings implements CssSettingsMBean
-{
-	private final org.apache.wicket.Application application;
-
-	public CssSettings(org.apache.wicket.Application application)
-	{
-		this.application = application;
-	}
-
-	@Override
-	public String getSortOrderDownCssClass()
-	{
-		return application.getCssSettings().getSortOrderDownCssClass();
-	}
-
-	@Override
-	public void setSortOrderDownCssClass(String cssClassName)
-	{
-		application.getCssSettings().setSortOrderDownCssClass(cssClassName);
-	}
-
-	@Override
-	public String getSortOrderUpCssClass()
-	{
-		return application.getCssSettings().getSortOrderUpCssClass();
-	}
-
-	@Override
-	public void setSortOrderUpCssClass(String cssClassName)
-	{
-		application.getCssSettings().setSortOrderUpCssClass(cssClassName);
-	}
-
-	@Override
-	public String getSortOrderNoneCssClass()
-	{
-		return application.getCssSettings().getSortOrderNoneCssClass();
-	}
-
-	@Override
-	public void setSortOrderNoneCssClass(String cssClassName)
-	{
-		application.getCssSettings().setSortOrderNoneCssClass(cssClassName);
-	}
-
-	@Override
-	public String getFeedbackMessageCssClass(FeedbackMessage message)
-	{
-		return application.getCssSettings().getFeedbackMessageCssClass(message);
-	}
-
-	@Override
-	public void setRequiredCssClass(String cssClassName)
-	{
-		application.getCssSettings().setRequiredCssClass(cssClassName);
-	}
-
-	@Override
-	public String getRequiredCssClass()
-	{
-		return application.getCssSettings().getRequiredCssClass();
-	}
-
-	@Override
-	public void setInvalidCssClass(String cssClassName)
-	{
-		application.getCssSettings().setInvalidCssClass(cssClassName);
-	}
-
-	@Override
-	public String getInvalidCssClass()
-	{
-		return application.getCssSettings().getInvalidCssClass();
-	}
-
-	@Override
-	public void setDisabledCssClass(String cssClassName)
-	{
-		application.getCssSettings().setDisabledCssClass(cssClassName);
-	}
-
-	@Override
-	public String getDisabledCssClass()
-	{
-		return application.getCssSettings().getDisabledCssClass();
-	}
-
-	@Override
-	public void setOddItemCssClass(String cssClassName)
-	{
-		application.getCssSettings().setOddItemCssClass(cssClassName);
-	}
-
-	@Override
-	public String getOddItemCssClass()
-	{
-		return application.getCssSettings().getOddItemCssClass();
-	}
-
-	@Override
-	public void setEvenItemCssClass(String cssClassName)
-	{
-		application.getCssSettings().setEvenItemCssClass(cssClassName);
-	}
-
-	@Override
-	public String getEvenItemCssClass()
-	{
-		return application.getCssSettings().getEvenItemCssClass();
-	}
-
-	@Override
-	public void setTabbedPanelSelectedCssClass(String cssClassName)
-	{
-		application.getCssSettings().setTabbedPanelSelectedCssClass(cssClassName);
-	}
-
-	@Override
-	public String getTabbedPanelSelectedCssClass()
-	{
-		return application.getCssSettings().getTabbedPanelSelectedCssClass();
-	}
-
-	@Override
-	public void setTabbedPanelLastCssClass(String cssClassName)
-	{
-		application.getCssSettings().setTabbedPanelLastCssClass(cssClassName);
-	}
-
-	@Override
-	public String getTabbedPanelLastCssClass()
-	{
-		return application.getCssSettings().getTabbedPanelLastCssClass();
-	}
-
-	@Override
-	public void setTabbedPanelTabContainerCssClass(String cssClassName)
-	{
-		application.getCssSettings().setTabbedPanelTabContainerCssClass(cssClassName);
-	}
-
-	@Override
-	public String getTabbedPanelTabContainerCssClass()
-	{
-		return application.getCssSettings().getTabbedPanelTabContainerCssClass();
-	}
-}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ac5a36a/wicket-jmx/src/main/java/org/apache/wicket/jmx/CssSettingsMBean.java
----------------------------------------------------------------------
diff --git a/wicket-jmx/src/main/java/org/apache/wicket/jmx/CssSettingsMBean.java b/wicket-jmx/src/main/java/org/apache/wicket/jmx/CssSettingsMBean.java
deleted file mode 100644
index 97292d6..0000000
--- a/wicket-jmx/src/main/java/org/apache/wicket/jmx/CssSettingsMBean.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.wicket.jmx;
-
-import org.apache.wicket.settings.ICssSettings;
-
-/**
- * Css settings
- */
-public interface CssSettingsMBean extends ICssSettings
-{
-}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5ac5a36a/wicket-jmx/src/main/java/org/apache/wicket/jmx/Initializer.java
----------------------------------------------------------------------
diff --git a/wicket-jmx/src/main/java/org/apache/wicket/jmx/Initializer.java b/wicket-jmx/src/main/java/org/apache/wicket/jmx/Initializer.java
index cb2ad8a..77aaa2d 100644
--- a/wicket-jmx/src/main/java/org/apache/wicket/jmx/Initializer.java
+++ b/wicket-jmx/src/main/java/org/apache/wicket/jmx/Initializer.java
@@ -192,8 +192,6 @@ public class Initializer implements IInitializer
 				":type=Application,name=SessionSettings"));
 			register(new StoreSettings(application), new ObjectName(domain +
 				":type=Application,name=StoreSettings"));
-			register(new CssSettings(application), new ObjectName(domain +
-					":type=Application,name=CssSettings"));
 
 			RequestLogger sessionsBean = new RequestLogger(application);
 			ObjectName sessionsBeanName = new ObjectName(domain + ":type=RequestLogger");


[6/6] git commit: Merge branch '5257-css-settings'

Posted by mg...@apache.org.
Merge branch '5257-css-settings'


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

Branch: refs/heads/master
Commit: 6c136bd63293867fd0c240484100ea43b59483eb
Parents: a4bf277 b4b451b
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon Jul 1 10:18:52 2013 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon Jul 1 10:18:52 2013 +0300

----------------------------------------------------------------------
 .../org/apache/wicket/Application.properties    |  23 +++
 .../wicket/core/util/string/CssUtils.java       |  14 ++
 .../apache/wicket/feedback/FeedbackMessage.java |  18 ++
 .../markup/html/form/AutoLabelResolver.java     |  13 +-
 .../wicket/markup/html/form/FormComponent.java  |   4 +-
 .../markup/html/form/FormComponentLabel.java    |  16 +-
 .../markup/html/list/OddEvenListItem.java       |   9 +-
 .../wicket/markup/html/panel/FeedbackPanel.java |  29 ++-
 .../wicket/markup/repeater/OddEvenItem.java     |   9 +-
 .../wicket/extensions/Initializer.properties    |  10 +-
 .../data/sort/AjaxFallbackOrderByBorder.java    |  40 +---
 .../data/sort/AjaxFallbackOrderByLink.java      |  34 +---
 .../html/repeater/data/sort/OrderByBorder.java  |  29 +--
 .../html/repeater/data/sort/OrderByLink.java    | 200 +++----------------
 .../markup/html/tabs/TabbedPanel.java           |  14 +-
 15 files changed, 174 insertions(+), 288 deletions(-)
----------------------------------------------------------------------



[5/6] git commit: WICKET-5257 standardize CSS keys

Posted by mg...@apache.org.
WICKET-5257 standardize CSS keys

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

Branch: refs/heads/master
Commit: b4b451b8676a3e623d71567387fbfe590d1f0868
Parents: 8daef11
Author: svenmeier <sv...@meiers.net>
Authored: Fri Jun 28 12:26:08 2013 +0200
Committer: svenmeier <sv...@meiers.net>
Committed: Fri Jun 28 12:26:08 2013 +0200

----------------------------------------------------------------------
 .../org/apache/wicket/Application.properties    | 42 ++++++++++----------
 .../wicket/core/util/string/CssUtils.java       | 14 +++++++
 .../apache/wicket/feedback/FeedbackMessage.java | 18 +++++----
 .../markup/html/form/AutoLabelResolver.java     |  7 ++--
 .../markup/html/form/FormComponentLabel.java    | 10 +++--
 .../markup/html/list/OddEvenListItem.java       |  5 ++-
 .../wicket/markup/repeater/OddEvenItem.java     |  5 ++-
 .../wicket/extensions/Initializer.properties    | 12 +++---
 .../html/repeater/data/sort/OrderByLink.java    |  9 +++--
 .../markup/html/tabs/TabbedPanel.java           |  8 ++--
 10 files changed, 80 insertions(+), 50 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/b4b451b8/wicket-core/src/main/java/org/apache/wicket/Application.properties
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/Application.properties b/wicket-core/src/main/java/org/apache/wicket/Application.properties
index bd36a27..1408c9a 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Application.properties
+++ b/wicket-core/src/main/java/org/apache/wicket/Application.properties
@@ -63,25 +63,25 @@ org.apache.wicket.mfu.delete=Delete
 uploadTooLarge = File must be less than ${maxSize}.
 uploadFailed = File failed to upload: ${exception.localizedMessage}
 
-feedbackMessageUndefinedCssClass=feedbackPanelUNDEFINED
-feedbackMessageDebugCssClass=feedbackPanelDEBUG
-feedbackMessageInfoCssClass=feedbackPanelINFO
-feedbackMessageSuccessCssClass=feedbackPanelSUCCESS
-feedbackMessageWarningCssClass=feedbackPanelWARNING
-feedbackMessageErrorCssClass=feedbackPanelERROR
-feedbackMessageFatalCssClass=feedbackPanelFATAL
-
-formComponentLabelRequiredCssClass=required
-formComponentLabelInvalidCssClass=error
-formComponentLabelDisabledCssClass=disabled
-
-oddItemCssClass=odd
-evenItemCssClass=even
-
-oddListItemCssClass=odd
-evenListItemCssClass=even
-
-autoLabelRequiredCssClass=required
-autoLabelInvalidCssClass=error
-autoLabelDisabledCssClass=disabled
+FeedbackMessage.CSS.undefined=feedbackPanelUNDEFINED
+FeedbackMessage.CSS.debug=feedbackPanelDEBUG
+FeedbackMessage.CSS.info=feedbackPanelINFO
+FeedbackMessage.CSS.success=feedbackPanelSUCCESS
+FeedbackMessage.CSS.warning=feedbackPanelWARNING
+FeedbackMessage.CSS.error=feedbackPanelERROR
+FeedbackMessage.CSS.fatal=feedbackPanelFATAL
+
+FormComponentLabel.CSS.required=required
+FormComponentLabel.CSS.invalid=error
+FormComponentLabel.CSS.disabled=disabled
+
+OddEvenItem.CSS.odd=odd
+OddEvenItem.CSS.even=even
+
+OddEvenListItem.CSS.odd=odd
+OddEvenListItem.CSS.even=even
+
+AutoLabel.CSS.required=required
+AutoLabel.CSS.invalid=error
+AutoLabel.CSS.disabled=disabled
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/b4b451b8/wicket-core/src/main/java/org/apache/wicket/core/util/string/CssUtils.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/core/util/string/CssUtils.java b/wicket-core/src/main/java/org/apache/wicket/core/util/string/CssUtils.java
index a4944a3..b065ef5 100644
--- a/wicket-core/src/main/java/org/apache/wicket/core/util/string/CssUtils.java
+++ b/wicket-core/src/main/java/org/apache/wicket/core/util/string/CssUtils.java
@@ -103,4 +103,18 @@ public final class CssUtils
 		}
 		response.write(" />");
 	}
+
+	/**
+	 * Get a standardized key for a CSS class.
+	 * 
+	 * @param scope
+	 *            scope of CSS class
+	 * @param facet
+	 *            facet of CSS class
+	 * @return CSS key
+	 */
+	public static String key(Class<?> scope, String facet)
+	{
+		return scope.getSimpleName() + ".CSS." + facet;
+	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/b4b451b8/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java b/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java
index a144912..69adb70 100644
--- a/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java
+++ b/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java
@@ -21,6 +21,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.wicket.Component;
+import org.apache.wicket.core.util.string.CssUtils;
 import org.apache.wicket.model.IDetachable;
 
 
@@ -34,19 +35,22 @@ public class FeedbackMessage implements IDetachable
 {
 	private static final long serialVersionUID = 1L;
 
-	public static final String UNDEFINED_CSS_CLASS_KEY = "feedbackMessageUndefinedCssClass";
+	public static final String UNDEFINED_CSS_CLASS_KEY = CssUtils.key(FeedbackMessage.class,
+			"undefined");
 
-	public static final String DEBUG_CSS_CLASS_KEY = "feedbackMessageDebugCssClass";
+	public static final String DEBUG_CSS_CLASS_KEY = CssUtils.key(FeedbackMessage.class, "debug");
 
-	public static final String INFO_CSS_CLASS_KEY = "feedbackMessageInfoCssClass";
+	public static final String INFO_CSS_CLASS_KEY = CssUtils.key(FeedbackMessage.class, "info");
 
-	public static final String SUCCESS_CSS_CLASS_KEY = "feedbackMessageSuccessCssClass";
+	public static final String SUCCESS_CSS_CLASS_KEY = CssUtils.key(FeedbackMessage.class,
+			"success");
 
-	public static final String WARNING_CSS_CLASS_KEY = "feedbackMessageWarningCssClass";
+	public static final String WARNING_CSS_CLASS_KEY = CssUtils.key(FeedbackMessage.class,
+			"warning");
 
-	public static final String ERROR_CSS_CLASS_KEY = "feedbackMessageErrorCssClass";
+	public static final String ERROR_CSS_CLASS_KEY = CssUtils.key(FeedbackMessage.class, "error");
 
-	public static final String FATAL_CSS_CLASS_KEY = "feedbackMessageFatalCssClass";
+	public static final String FATAL_CSS_CLASS_KEY = CssUtils.key(FeedbackMessage.class, "fatal");
 
 	/**
 	 * Constant for an undefined level; note that components might decide not to render anything

http://git-wip-us.apache.org/repos/asf/wicket/blob/b4b451b8/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
index 5de06be..723bb83 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
@@ -19,6 +19,7 @@ package org.apache.wicket.markup.html.form;
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.WicketRuntimeException;
+import org.apache.wicket.core.util.string.CssUtils;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupStream;
 import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
@@ -62,11 +63,11 @@ public class AutoLabelResolver implements IComponentResolver
 
 	private static final Logger logger = LoggerFactory.getLogger(AutoLabelResolver.class);
 
-	public static final String REQUIRED_CSS_CLASS_KEY = "autoLabelRequiredCssClass";
+	public static final String REQUIRED_CSS_CLASS_KEY = CssUtils.key(AutoLabel.class, "required");
 
-	public static final String INVALID_CSS_CLASS_KEY = "autoLabelInvalidCssClass";
+	public static final String INVALID_CSS_CLASS_KEY = CssUtils.key(AutoLabel.class, "invalid");
 
-	public static final String DISABLED_CSS_CLASS_KEY = "autoLabelDisabledCssClass";
+	public static final String DISABLED_CSS_CLASS_KEY = CssUtils.key(AutoLabel.class, "disabled");
 
 	static final String WICKET_FOR = ":for";
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/b4b451b8/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
index 75af52f..51ed7d3 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.markup.html.form;
 
+import org.apache.wicket.core.util.string.CssUtils;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.parser.XmlTag.TagType;
@@ -32,11 +33,14 @@ public class FormComponentLabel extends WebMarkupContainer
 {
 	private static final long serialVersionUID = 1L;
 
-	public static final String REQUIRED_CSS_CLASS_KEY = "formComponentLabelRequiredCssClass";
+	public static final String REQUIRED_CSS_CLASS_KEY = CssUtils.key(FormComponentLabel.class,
+			"required");
 
-	public static final String INVALID_CSS_CLASS_KEY = "formComponentLabelInvalidCssClass";
+	public static final String INVALID_CSS_CLASS_KEY = CssUtils.key(FormComponentLabel.class,
+			"invalid");
 
-	public static final String DISABLED_CSS_CLASS_KEY = "formComponentLabelDisabledCssClass";
+	public static final String DISABLED_CSS_CLASS_KEY = CssUtils.key(FormComponentLabel.class,
+			"disabled");
 
 	private final LabeledWebMarkupContainer component;
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/b4b451b8/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java
index a808d5d..ece1288 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.markup.html.list;
 
+import org.apache.wicket.core.util.string.CssUtils;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.model.IModel;
 
@@ -30,9 +31,9 @@ public class OddEvenListItem<T> extends ListItem<T>
 {
 	private static final long serialVersionUID = 1L;
 
-	public static final String ODD_CSS_CLASS_KEY = "oddListItemCssClass";
+	public static final String ODD_CSS_CLASS_KEY = CssUtils.key(OddEvenListItem.class, "odd");
 
-	public static final String EVEN_CSS_CLASS_KEY = "evenListItemCssClass";
+	public static final String EVEN_CSS_CLASS_KEY = CssUtils.key(OddEvenListItem.class, "even");
 
 	/**
 	 * Constructor

http://git-wip-us.apache.org/repos/asf/wicket/blob/b4b451b8/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java
index 41c29fd..ca3a07d 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.markup.repeater;
 
+import org.apache.wicket.core.util.string.CssUtils;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.model.IModel;
 
@@ -31,9 +32,9 @@ public class OddEvenItem<T> extends Item<T>
 {
 	private static final long serialVersionUID = 1L;
 
-	public static final String ODD_CSS_CLASS_KEY = "oddItemCssClass";
+	public static final String ODD_CSS_CLASS_KEY = CssUtils.key(OddEvenItem.class, "odd");
 
-	public static final String EVEN_CSS_CLASS_KEY = "evenItemCssClass";
+	public static final String EVEN_CSS_CLASS_KEY = CssUtils.key(OddEvenItem.class, "even");
 
 	/**
 	 * Constructor

http://git-wip-us.apache.org/repos/asf/wicket/blob/b4b451b8/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.properties
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.properties b/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.properties
index 876cebb..070958d 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.properties
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.properties
@@ -22,10 +22,10 @@ UploadStatusResource.status=${percentageComplete}% finished, ${bytesUploadedStri
 
 RfcCompliantEmailAddressValidator='${label}' is not a valid email address.
 
-orderByLinkSortAscendingCssClass=wicket_orderUp
-orderByLinkSortDescendingCssClass=wicket_orderDown
-orderByLinkSortNoneCssClass=wicket_orderNone
+OrderByLink.CSS.ascending=wicket_orderUp
+OrderByLink.CSS.descending=wicket_orderDown
+OrderByLink.CSS.none=wicket_orderNone
 
-tabbedPanelContainerCssClass=tab-row
-tabbedPanelSelectedCssClass=selected
-tabbedPanelLastCssClass=last
+TabbedPanel.CSS.container=tab-row
+TabbedPanel.CSS.selected=selected
+TabbedPanel.CSS.last=last

http://git-wip-us.apache.org/repos/asf/wicket/blob/b4b451b8/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
index 5266837..c722e5b 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.extensions.markup.html.repeater.data.sort;
 
+import org.apache.wicket.core.util.string.CssUtils;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.link.Link;
 import org.apache.wicket.util.lang.Args;
@@ -34,11 +35,13 @@ public class OrderByLink<S> extends Link<Void>
 {
 	private static final long serialVersionUID = 1L;
 
-	public static final String SORT_ASCENDING_CSS_CLASS_KEY = "orderByLinkSortAscendingCssClass";
+	public static final String SORT_ASCENDING_CSS_CLASS_KEY = CssUtils.key(OrderByLink.class,
+			"ascending");
 
-	public static final String SORT_DESCENDING_CSS_CLASS_KEY = "orderByLinkSortDescendingCssClass";
+	public static final String SORT_DESCENDING_CSS_CLASS_KEY = CssUtils.key(OrderByLink.class,
+			"descending");
 
-	public static final String SORT_NONE_CSS_CLASS_KEY = "orderByLinkSortNoneCssClass";
+	public static final String SORT_NONE_CSS_CLASS_KEY = CssUtils.key(OrderByLink.class, "none");
 
 	/** sortable property */
 	private final S property;

http://git-wip-us.apache.org/repos/asf/wicket/blob/b4b451b8/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
index ba92582..08bf3a7 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
@@ -20,6 +20,7 @@ import java.util.List;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.WicketRuntimeException;
+import org.apache.wicket.core.util.string.CssUtils;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
@@ -79,11 +80,12 @@ public class TabbedPanel<T extends ITab> extends Panel
 	/** id used for child panels */
 	public static final String TAB_PANEL_ID = "panel";
 
-	public static final String CONTAINER_CSS_CLASS_KEY = "tabbedPanelContainerCssClass";
+	public static final String CONTAINER_CSS_CLASS_KEY = CssUtils.key(TabbedPanel.class,
+			"container");
 
-	public static final String SELECTED_CSS_CLASS_KEY = "tabbedPanelSelectedCssClass";
+	public static final String SELECTED_CSS_CLASS_KEY = CssUtils.key(TabbedPanel.class, "selected");
 
-	public static final String LAST_CSS_CLASS_KEY = "tabbedPanelLastCssClass";
+	public static final String LAST_CSS_CLASS_KEY = CssUtils.key(TabbedPanel.class, "last");
 
 	private final List<T> tabs;
 


[4/6] git commit: WICKET-5257 Make css class strings used in the framework configurable

Posted by mg...@apache.org.
WICKET-5257 Make css class strings used in the framework configurable

Use #getString() (i18n) to load the CSS classes


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

Branch: refs/heads/master
Commit: 8daef11930bb9fd8e5ade92752b903e7d8ec1659
Parents: abdf5c3
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Fri Jun 28 12:27:04 2013 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Fri Jun 28 12:27:04 2013 +0300

----------------------------------------------------------------------
 .../java/org/apache/wicket/Application.java     | 28 --------
 .../org/apache/wicket/Application.properties    | 23 ++++++
 .../apache/wicket/feedback/FeedbackMessage.java | 14 ++--
 .../markup/html/form/AutoLabelResolver.java     | 16 ++---
 .../markup/html/form/FormComponentLabel.java    | 15 ++--
 .../markup/html/list/OddEvenListItem.java       |  8 +--
 .../wicket/markup/html/panel/FeedbackPanel.java | 16 ++---
 .../wicket/markup/repeater/OddEvenItem.java     |  8 +--
 .../apache/wicket/settings/ICssSettings.java    | 28 --------
 .../apache/wicket/settings/def/CssSettings.java | 74 --------------------
 .../apache/wicket/extensions/Initializer.java   | 18 -----
 .../wicket/extensions/Initializer.properties    | 10 ++-
 .../html/repeater/data/sort/OrderByLink.java    | 14 ++--
 .../markup/html/tabs/TabbedPanel.java           | 12 ++--
 14 files changed, 76 insertions(+), 208 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/8daef119/wicket-core/src/main/java/org/apache/wicket/Application.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/Application.java b/wicket-core/src/main/java/org/apache/wicket/Application.java
index 16989c6..5cbbdde 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Application.java
+++ b/wicket-core/src/main/java/org/apache/wicket/Application.java
@@ -85,7 +85,6 @@ import org.apache.wicket.session.DefaultPageFactory;
 import org.apache.wicket.session.ISessionStore;
 import org.apache.wicket.session.ISessionStore.UnboundListener;
 import org.apache.wicket.settings.IApplicationSettings;
-import org.apache.wicket.settings.ICssSettings;
 import org.apache.wicket.settings.IDebugSettings;
 import org.apache.wicket.settings.IExceptionSettings;
 import org.apache.wicket.settings.IFrameworkSettings;
@@ -98,7 +97,6 @@ import org.apache.wicket.settings.IResourceSettings;
 import org.apache.wicket.settings.ISecuritySettings;
 import org.apache.wicket.settings.IStoreSettings;
 import org.apache.wicket.settings.def.ApplicationSettings;
-import org.apache.wicket.settings.def.CssSettings;
 import org.apache.wicket.settings.def.DebugSettings;
 import org.apache.wicket.settings.def.ExceptionSettings;
 import org.apache.wicket.settings.def.FrameworkSettings;
@@ -1041,9 +1039,6 @@ public abstract class Application implements UnboundListener, IEventSink
 	/** The Markup Settings */
 	private IMarkupSettings markupSettings;
 
-	/** The CSS Settings */
-	private ICssSettings cssSettings;
-
 	/** The Page Settings */
 	private IPageSettings pageSettings;
 
@@ -1244,29 +1239,6 @@ public abstract class Application implements UnboundListener, IEventSink
 		this.markupSettings = markupSettings;
 	}
 
-
-	/**
-	 * @return Application's CSS related settings
-	 */
-	public ICssSettings getCssSettings()
-	{
-		checkSettingsAvailable();
-		if (cssSettings == null)
-		{
-			cssSettings = new CssSettings();
-		}
-		return cssSettings;
-	}
-
-	/**
-	 * @param cssSettings
-	 */
-	public final void setCssSettings(final ICssSettings cssSettings)
-	{
-		this.cssSettings = cssSettings;
-	}
-
-
 	/**
 	 * @return Application's request logger related settings
 	 */

http://git-wip-us.apache.org/repos/asf/wicket/blob/8daef119/wicket-core/src/main/java/org/apache/wicket/Application.properties
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/Application.properties b/wicket-core/src/main/java/org/apache/wicket/Application.properties
index 0aed4c1..bd36a27 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Application.properties
+++ b/wicket-core/src/main/java/org/apache/wicket/Application.properties
@@ -62,3 +62,26 @@ org.apache.wicket.mfu.delete=Delete
 
 uploadTooLarge = File must be less than ${maxSize}.
 uploadFailed = File failed to upload: ${exception.localizedMessage}
+
+feedbackMessageUndefinedCssClass=feedbackPanelUNDEFINED
+feedbackMessageDebugCssClass=feedbackPanelDEBUG
+feedbackMessageInfoCssClass=feedbackPanelINFO
+feedbackMessageSuccessCssClass=feedbackPanelSUCCESS
+feedbackMessageWarningCssClass=feedbackPanelWARNING
+feedbackMessageErrorCssClass=feedbackPanelERROR
+feedbackMessageFatalCssClass=feedbackPanelFATAL
+
+formComponentLabelRequiredCssClass=required
+formComponentLabelInvalidCssClass=error
+formComponentLabelDisabledCssClass=disabled
+
+oddItemCssClass=odd
+evenItemCssClass=even
+
+oddListItemCssClass=odd
+evenListItemCssClass=even
+
+autoLabelRequiredCssClass=required
+autoLabelInvalidCssClass=error
+autoLabelDisabledCssClass=disabled
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/8daef119/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java b/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java
index 3bd6959..a144912 100644
--- a/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java
+++ b/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java
@@ -34,19 +34,19 @@ public class FeedbackMessage implements IDetachable
 {
 	private static final long serialVersionUID = 1L;
 
-	public static final String UNDEFINED_CSS_CLASS_KEY = "wicket-core-feedback-message-undefined-css-class";
+	public static final String UNDEFINED_CSS_CLASS_KEY = "feedbackMessageUndefinedCssClass";
 
-	public static final String DEBUG_CSS_CLASS_KEY = "wicket-core-feedback-message-debug-css-class";
+	public static final String DEBUG_CSS_CLASS_KEY = "feedbackMessageDebugCssClass";
 
-	public static final String INFO_CSS_CLASS_KEY = "wicket-core-feedback-message-info-css-class";
+	public static final String INFO_CSS_CLASS_KEY = "feedbackMessageInfoCssClass";
 
-	public static final String SUCCESS_CSS_CLASS_KEY = "wicket-core-feedback-message-success-css-class";
+	public static final String SUCCESS_CSS_CLASS_KEY = "feedbackMessageSuccessCssClass";
 
-	public static final String WARNING_CSS_CLASS_KEY = "wicket-core-feedback-message-warning-css-class";
+	public static final String WARNING_CSS_CLASS_KEY = "feedbackMessageWarningCssClass";
 
-	public static final String ERROR_CSS_CLASS_KEY = "wicket-core-feedback-message-error-css-class";
+	public static final String ERROR_CSS_CLASS_KEY = "feedbackMessageErrorCssClass";
 
-	public static final String FATAL_CSS_CLASS_KEY = "wicket-core-feedback-message-fatal-css-class";
+	public static final String FATAL_CSS_CLASS_KEY = "feedbackMessageFatalCssClass";
 
 	/**
 	 * Constant for an undefined level; note that components might decide not to render anything

http://git-wip-us.apache.org/repos/asf/wicket/blob/8daef119/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
index 815401a..5de06be 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
@@ -23,7 +23,6 @@ import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupStream;
 import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
 import org.apache.wicket.markup.resolver.IComponentResolver;
-import org.apache.wicket.settings.ICssSettings;
 import org.apache.wicket.util.visit.IVisit;
 import org.apache.wicket.util.visit.IVisitor;
 import org.slf4j.Logger;
@@ -63,12 +62,11 @@ public class AutoLabelResolver implements IComponentResolver
 
 	private static final Logger logger = LoggerFactory.getLogger(AutoLabelResolver.class);
 
-	public static final String REQUIRED_CSS_CLASS_KEY = "wicket-core-auto-label-required-css-class";
+	public static final String REQUIRED_CSS_CLASS_KEY = "autoLabelRequiredCssClass";
 
-	public static final String INVALID_CSS_CLASS_KEY = "wicket-core-auto-label-invalid-css-class";
-
-	public static final String DISABLED_CSS_CLASS_KEY = "wicket-core-auto-label-disabled-css-class";
+	public static final String INVALID_CSS_CLASS_KEY = "autoLabelInvalidCssClass";
 
+	public static final String DISABLED_CSS_CLASS_KEY = "autoLabelDisabledCssClass";
 
 	static final String WICKET_FOR = ":for";
 
@@ -193,24 +191,22 @@ public class AutoLabelResolver implements IComponentResolver
 			super.onComponentTag(tag);
 			tag.put("for", component.getMarkupId());
 
-			ICssSettings cssSettings = getApplication().getCssSettings();
-
 			if (component instanceof FormComponent)
 			{
 				FormComponent<?> fc = (FormComponent<?>)component;
 				if (fc.isRequired())
 				{
-					tag.append("class", cssSettings.getCssClass(REQUIRED_CSS_CLASS_KEY), " ");
+					tag.append("class", getString(REQUIRED_CSS_CLASS_KEY), " ");
 				}
 				if (!fc.isValid())
 				{
-					tag.append("class", cssSettings.getCssClass(INVALID_CSS_CLASS_KEY), " ");
+					tag.append("class", getString(INVALID_CSS_CLASS_KEY), " ");
 				}
 			}
 
 			if (!component.isEnabledInHierarchy())
 			{
-				tag.append("class", cssSettings.getCssClass(DISABLED_CSS_CLASS_KEY), " ");
+				tag.append("class", getString(DISABLED_CSS_CLASS_KEY), " ");
 			}
 		}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/8daef119/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
index a986dd5..75af52f 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
@@ -19,7 +19,6 @@ package org.apache.wicket.markup.html.form;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.parser.XmlTag.TagType;
-import org.apache.wicket.settings.ICssSettings;
 import org.apache.wicket.util.lang.Args;
 
 /**
@@ -33,11 +32,11 @@ public class FormComponentLabel extends WebMarkupContainer
 {
 	private static final long serialVersionUID = 1L;
 
-	public static final String REQUIRED_CSS_CLASS_KEY = "wicket-core-form-component-label-required-css-class";
+	public static final String REQUIRED_CSS_CLASS_KEY = "formComponentLabelRequiredCssClass";
 
-	public static final String INVALID_CSS_CLASS_KEY = "wicket-core-form-component-label-invalid-css-class";
+	public static final String INVALID_CSS_CLASS_KEY = "formComponentLabelInvalidCssClass";
 
-	public static final String DISABLED_CSS_CLASS_KEY = "wicket-core-form-component-label-disabled-css-class";
+	public static final String DISABLED_CSS_CLASS_KEY = "formComponentLabelDisabledCssClass";
 
 	private final LabeledWebMarkupContainer component;
 
@@ -72,25 +71,23 @@ public class FormComponentLabel extends WebMarkupContainer
 
 		tag.put("for", formComponent.getMarkupId());
 
-		ICssSettings cssSettings = getApplication().getCssSettings();
-
 		if (formComponent instanceof FormComponent<?>)
 		{
 			FormComponent<?> fc = (FormComponent<?>) formComponent;
 
 			if (fc.isRequired())
 			{
-				tag.append("class", cssSettings.getCssClass(REQUIRED_CSS_CLASS_KEY), " ");
+				tag.append("class", getString(REQUIRED_CSS_CLASS_KEY), " ");
 			}
 			if (fc.isValid() == false)
 			{
-				tag.append("class", cssSettings.getCssClass(INVALID_CSS_CLASS_KEY), " ");
+				tag.append("class", getString(INVALID_CSS_CLASS_KEY), " ");
 			}
 		}
 
 		if (formComponent.isEnabledInHierarchy() == false)
 		{
-			tag.append("class", cssSettings.getCssClass(DISABLED_CSS_CLASS_KEY), " ");
+			tag.append("class", getString(DISABLED_CSS_CLASS_KEY), " ");
 		}
 
 		// always transform the tag to <span></span> so even labels defined as <span/> render

http://git-wip-us.apache.org/repos/asf/wicket/blob/8daef119/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java
index 324ce36..a808d5d 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/OddEvenListItem.java
@@ -18,7 +18,6 @@ package org.apache.wicket.markup.html.list;
 
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.model.IModel;
-import org.apache.wicket.settings.ICssSettings;
 
 /**
  * ListItem that adds <code>class="odd"</code> or <code>class="even"</code> html attribute depending
@@ -31,9 +30,9 @@ public class OddEvenListItem<T> extends ListItem<T>
 {
 	private static final long serialVersionUID = 1L;
 
-	public static final String ODD_CSS_CLASS_KEY = "wicket-core-odd-list-item-css-class";
+	public static final String ODD_CSS_CLASS_KEY = "oddListItemCssClass";
 
-	public static final String EVEN_CSS_CLASS_KEY = "wicket-core-even-list-item-css-class";
+	public static final String EVEN_CSS_CLASS_KEY = "evenListItemCssClass";
 
 	/**
 	 * Constructor
@@ -54,7 +53,6 @@ public class OddEvenListItem<T> extends ListItem<T>
 	{
 		super.onComponentTag(tag);
 
-		ICssSettings cssSettings = getApplication().getCssSettings();
-		tag.append("class", (getIndex() % 2 == 0) ? cssSettings.getCssClass(EVEN_CSS_CLASS_KEY) : cssSettings.getCssClass(ODD_CSS_CLASS_KEY), " ");
+		tag.append("class", (getIndex() % 2 == 0) ? getString(EVEN_CSS_CLASS_KEY) : getString(ODD_CSS_CLASS_KEY), " ");
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/8daef119/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java
index 97e945f..fe284f5 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java
@@ -34,7 +34,6 @@ import org.apache.wicket.markup.html.list.ListView;
 import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.settings.IApplicationSettings;
-import org.apache.wicket.settings.ICssSettings;
 
 
 /**
@@ -292,30 +291,29 @@ public class FeedbackPanel extends Panel implements IFeedback
 	 */
 	protected String getCSSClass(final FeedbackMessage message)
 	{
-		ICssSettings cssSettings = getApplication().getCssSettings();
 		String cssClass;
 		switch (message.getLevel())
 		{
 			case FeedbackMessage.UNDEFINED:
-				cssClass = cssSettings.getCssClass(FeedbackMessage.UNDEFINED_CSS_CLASS_KEY);
+				cssClass = getString(FeedbackMessage.UNDEFINED_CSS_CLASS_KEY);
 				break;
 			case FeedbackMessage.DEBUG:
-				cssClass = cssSettings.getCssClass(FeedbackMessage.DEBUG_CSS_CLASS_KEY);
+				cssClass = getString(FeedbackMessage.DEBUG_CSS_CLASS_KEY);
 				break;
 			case FeedbackMessage.INFO:
-				cssClass = cssSettings.getCssClass(FeedbackMessage.INFO_CSS_CLASS_KEY);
+				cssClass = getString(FeedbackMessage.INFO_CSS_CLASS_KEY);
 				break;
 			case FeedbackMessage.SUCCESS:
-				cssClass = cssSettings.getCssClass(FeedbackMessage.SUCCESS_CSS_CLASS_KEY);
+				cssClass = getString(FeedbackMessage.SUCCESS_CSS_CLASS_KEY);
 				break;
 			case FeedbackMessage.WARNING:
-				cssClass = cssSettings.getCssClass(FeedbackMessage.WARNING_CSS_CLASS_KEY);
+				cssClass = getString(FeedbackMessage.WARNING_CSS_CLASS_KEY);
 				break;
 			case FeedbackMessage.ERROR:
-				cssClass = cssSettings.getCssClass(FeedbackMessage.ERROR_CSS_CLASS_KEY);
+				cssClass = getString(FeedbackMessage.ERROR_CSS_CLASS_KEY);
 				break;
 			case FeedbackMessage.FATAL:
-				cssClass = cssSettings.getCssClass(FeedbackMessage.FATAL_CSS_CLASS_KEY);
+				cssClass = getString(FeedbackMessage.FATAL_CSS_CLASS_KEY);
 				break;
 			default:
 				cssClass = "feedbackPanel" + message.getLevelAsString();

http://git-wip-us.apache.org/repos/asf/wicket/blob/8daef119/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java
index 3d3adba..41c29fd 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/OddEvenItem.java
@@ -18,7 +18,6 @@ package org.apache.wicket.markup.repeater;
 
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.model.IModel;
-import org.apache.wicket.settings.ICssSettings;
 
 /**
  * Item that sets class="even" or class="odd" attributes based on its index
@@ -32,9 +31,9 @@ public class OddEvenItem<T> extends Item<T>
 {
 	private static final long serialVersionUID = 1L;
 
-	public static final String ODD_CSS_CLASS_KEY = "wicket-core-odd-item-css-class";
+	public static final String ODD_CSS_CLASS_KEY = "oddItemCssClass";
 
-	public static final String EVEN_CSS_CLASS_KEY = "wicket-core-even-item-css-class";
+	public static final String EVEN_CSS_CLASS_KEY = "evenItemCssClass";
 
 	/**
 	 * Constructor
@@ -56,8 +55,7 @@ public class OddEvenItem<T> extends Item<T>
 	{
 		super.onComponentTag(tag);
 
-		ICssSettings cssSettings = getApplication().getCssSettings();
-		tag.put("class", (getIndex() % 2 == 0) ? cssSettings.getCssClass(EVEN_CSS_CLASS_KEY) : cssSettings.getCssClass(ODD_CSS_CLASS_KEY));
+		tag.put("class", (getIndex() % 2 == 0) ? getString(EVEN_CSS_CLASS_KEY) : getString(ODD_CSS_CLASS_KEY));
 	}
 
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/8daef119/wicket-core/src/main/java/org/apache/wicket/settings/ICssSettings.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/settings/ICssSettings.java b/wicket-core/src/main/java/org/apache/wicket/settings/ICssSettings.java
deleted file mode 100644
index 14fb10a..0000000
--- a/wicket-core/src/main/java/org/apache/wicket/settings/ICssSettings.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.wicket.settings;
-
-/**
- * Provides means to change the default CSS classes and styles used
- * by the components in Wicket distribution.
- */
-public interface ICssSettings
-{
-	String getCssClass(String key);
-
-	void setCssClass(String key, String cssClassName);
-}

http://git-wip-us.apache.org/repos/asf/wicket/blob/8daef119/wicket-core/src/main/java/org/apache/wicket/settings/def/CssSettings.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/settings/def/CssSettings.java b/wicket-core/src/main/java/org/apache/wicket/settings/def/CssSettings.java
deleted file mode 100644
index 9fbaaa2..0000000
--- a/wicket-core/src/main/java/org/apache/wicket/settings/def/CssSettings.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.wicket.settings.def;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.wicket.feedback.FeedbackMessage;
-import org.apache.wicket.markup.html.form.AutoLabelResolver;
-import org.apache.wicket.markup.html.form.FormComponentLabel;
-import org.apache.wicket.markup.html.list.OddEvenListItem;
-import org.apache.wicket.markup.repeater.OddEvenItem;
-import org.apache.wicket.settings.ICssSettings;
-
-/**
- *
- */
-public class CssSettings implements ICssSettings
-{
-	private final Map<String, String> cssClassNames;
-
-	public CssSettings()
-	{
-		this.cssClassNames = new HashMap<>();
-
-		setCssClass(FormComponentLabel.DISABLED_CSS_CLASS_KEY, "disabled");
-		setCssClass(FormComponentLabel.INVALID_CSS_CLASS_KEY, "error");
-		setCssClass(FormComponentLabel.REQUIRED_CSS_CLASS_KEY, "required");
-
-		setCssClass(AutoLabelResolver.DISABLED_CSS_CLASS_KEY, "disabled");
-		setCssClass(AutoLabelResolver.INVALID_CSS_CLASS_KEY, "error");
-		setCssClass(AutoLabelResolver.REQUIRED_CSS_CLASS_KEY, "required");
-
-		setCssClass(OddEvenItem.ODD_CSS_CLASS_KEY, "odd");
-		setCssClass(OddEvenItem.EVEN_CSS_CLASS_KEY, "even");
-
-		setCssClass(OddEvenListItem.ODD_CSS_CLASS_KEY, "odd");
-		setCssClass(OddEvenListItem.EVEN_CSS_CLASS_KEY, "even");
-
-		setCssClass(FeedbackMessage.UNDEFINED_CSS_CLASS_KEY, "feedbackPanelUNDEFINED");
-		setCssClass(FeedbackMessage.DEBUG_CSS_CLASS_KEY, "feedbackPanelDEBUG");
-		setCssClass(FeedbackMessage.INFO_CSS_CLASS_KEY, "feedbackPanelINFO");
-		setCssClass(FeedbackMessage.SUCCESS_CSS_CLASS_KEY, "feedbackPanelSUCCESS");
-		setCssClass(FeedbackMessage.WARNING_CSS_CLASS_KEY, "feedbackPanelWARNING");
-		setCssClass(FeedbackMessage.ERROR_CSS_CLASS_KEY, "feedbackPanelERROR");
-		setCssClass(FeedbackMessage.FATAL_CSS_CLASS_KEY, "feedbackPanelFATAL");
-	}
-
-	@Override
-	public String getCssClass(String key)
-	{
-		return cssClassNames.get(key);
-	}
-
-	@Override
-	public void setCssClass(String key, String cssClassName)
-	{
-		cssClassNames.put(key, cssClassName);
-	}
-}

http://git-wip-us.apache.org/repos/asf/wicket/blob/8daef119/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.java
index 2d76e49..53167fd 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.java
@@ -19,9 +19,6 @@ package org.apache.wicket.extensions;
 import org.apache.wicket.Application;
 import org.apache.wicket.IInitializer;
 import org.apache.wicket.extensions.ajax.markup.html.form.upload.UploadProgressBar;
-import org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByLink;
-import org.apache.wicket.extensions.markup.html.tabs.TabbedPanel;
-import org.apache.wicket.settings.ICssSettings;
 
 
 /**
@@ -38,21 +35,6 @@ public class Initializer implements IInitializer
 	public void init(final Application application)
 	{
 		new UploadProgressBar.ComponentInitializer().init(application);
-
-		configureCssSettings(application);
-	}
-
-	private void configureCssSettings(Application application)
-	{
-		ICssSettings cssSettings = application.getCssSettings();
-
-		cssSettings.setCssClass(TabbedPanel.CONTAINER_CSS_CLASS_KEY, "tab-row");
-		cssSettings.setCssClass(TabbedPanel.SELECTED_CSS_CLASS_KEY, "selected");
-		cssSettings.setCssClass(TabbedPanel.LAST_CSS_CLASS_KEY, "last");
-
-		cssSettings.setCssClass(OrderByLink.SORT_ASCENDING_CSS_CLASS_KEY, "wicket_orderUp");
-		cssSettings.setCssClass(OrderByLink.SORT_DESCENDING_CSS_CLASS_KEY, "wicket_orderDown");
-		cssSettings.setCssClass(OrderByLink.SORT_NONE_CSS_CLASS_KEY, "wicket_orderNone");
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/8daef119/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.properties
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.properties b/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.properties
index ddf852e..876cebb 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.properties
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/Initializer.properties
@@ -20,4 +20,12 @@ datatable.export-file-name=export
 UploadProgressBar.starting=Upload starting...
 UploadStatusResource.status=${percentageComplete}% finished, ${bytesUploadedString} of ${totalBytesString} at ${transferRateString}; ${remainingTimeString}
 
-RfcCompliantEmailAddressValidator='${label}' is not a valid email address.
\ No newline at end of file
+RfcCompliantEmailAddressValidator='${label}' is not a valid email address.
+
+orderByLinkSortAscendingCssClass=wicket_orderUp
+orderByLinkSortDescendingCssClass=wicket_orderDown
+orderByLinkSortNoneCssClass=wicket_orderNone
+
+tabbedPanelContainerCssClass=tab-row
+tabbedPanelSelectedCssClass=selected
+tabbedPanelLastCssClass=last

http://git-wip-us.apache.org/repos/asf/wicket/blob/8daef119/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
index e0d08eb..5266837 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
@@ -18,7 +18,6 @@ package org.apache.wicket.extensions.markup.html.repeater.data.sort;
 
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.link.Link;
-import org.apache.wicket.settings.ICssSettings;
 import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.string.Strings;
 
@@ -35,11 +34,11 @@ public class OrderByLink<S> extends Link<Void>
 {
 	private static final long serialVersionUID = 1L;
 
-	public static final String SORT_ASCENDING_CSS_CLASS_KEY = "wicket-extensions-order-by-link-sort-ascending-css-class";
+	public static final String SORT_ASCENDING_CSS_CLASS_KEY = "orderByLinkSortAscendingCssClass";
 
-	public static final String SORT_DESCENDING_CSS_CLASS_KEY = "wicket-extensions-order-by-link-sort-descending-css-class";
+	public static final String SORT_DESCENDING_CSS_CLASS_KEY = "orderByLinkSortDescendingCssClass";
 
-	public static final String SORT_NONE_CSS_CLASS_KEY = "wicket-extensions-order-by-link-sort-none-css-class";
+	public static final String SORT_NONE_CSS_CLASS_KEY = "orderByLinkSortNoneCssClass";
 
 	/** sortable property */
 	private final S property;
@@ -140,20 +139,19 @@ public class OrderByLink<S> extends Link<Void>
 
 		final ISortState<S> sortState = stateLocator.getSortState();
 
-		ICssSettings cssSettings = getApplication().getCssSettings();
 		SortOrder dir = sortState.getPropertySortOrder(property);
 		String cssClass;
 		if (dir == SortOrder.ASCENDING)
 		{
-			cssClass = cssSettings.getCssClass(SORT_ASCENDING_CSS_CLASS_KEY);
+			cssClass = getString(SORT_ASCENDING_CSS_CLASS_KEY);
 		}
 		else if (dir == SortOrder.DESCENDING)
 		{
-			cssClass = cssSettings.getCssClass(SORT_DESCENDING_CSS_CLASS_KEY);
+			cssClass = getString(SORT_DESCENDING_CSS_CLASS_KEY);
 		}
 		else
 		{
-			cssClass = cssSettings.getCssClass(SORT_NONE_CSS_CLASS_KEY);
+			cssClass = getString(SORT_NONE_CSS_CLASS_KEY);
 		}
 
 		if (!Strings.isEmpty(cssClass))

http://git-wip-us.apache.org/repos/asf/wicket/blob/8daef119/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
index 81f868d..ba92582 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
@@ -79,11 +79,11 @@ public class TabbedPanel<T extends ITab> extends Panel
 	/** id used for child panels */
 	public static final String TAB_PANEL_ID = "panel";
 
-	public static final String CONTAINER_CSS_CLASS_KEY = "wicket-extensions-tabbed-panel-container-css-class-key";
+	public static final String CONTAINER_CSS_CLASS_KEY = "tabbedPanelContainerCssClass";
 
-	public static final String SELECTED_CSS_CLASS_KEY = "wicket-extensions-tabbed-panel-selected-css-class-key";
+	public static final String SELECTED_CSS_CLASS_KEY = "tabbedPanelSelectedCssClass";
 
-	public static final String LAST_CSS_CLASS_KEY = "wicket-extensions-tabbed-panel-last-css-class-key";
+	public static final String LAST_CSS_CLASS_KEY = "tabbedPanelLastCssClass";
 
 	private final List<T> tabs;
 
@@ -278,7 +278,7 @@ public class TabbedPanel<T extends ITab> extends Panel
 	 */
 	protected String getTabContainerCssClass()
 	{
-		return getApplication().getCssSettings().getCssClass(CONTAINER_CSS_CLASS_KEY);
+		return getString(CONTAINER_CSS_CLASS_KEY);
 	}
 
 	/**
@@ -287,7 +287,7 @@ public class TabbedPanel<T extends ITab> extends Panel
 	 */
 	protected String getLastTabCssClass()
 	{
-		return getApplication().getCssSettings().getCssClass(LAST_CSS_CLASS_KEY);
+		return getString(LAST_CSS_CLASS_KEY);
 	}
 
 	/**
@@ -296,7 +296,7 @@ public class TabbedPanel<T extends ITab> extends Panel
 	 */
 	protected String getSelectedTabCssClass()
 	{
-		return getApplication().getCssSettings().getCssClass(SELECTED_CSS_CLASS_KEY);
+		return getString(SELECTED_CSS_CLASS_KEY);
 	}
 
 	/**


[3/6] git commit: Merge branch 'master' into 5257-css-settings

Posted by mg...@apache.org.
Merge branch 'master' into 5257-css-settings


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

Branch: refs/heads/master
Commit: abdf5c3ad6fdb662e2370918818f1f3a0ca69445
Parents: 5ac5a36 f5d586b
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Fri Jun 28 11:53:32 2013 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Fri Jun 28 11:53:32 2013 +0300

----------------------------------------------------------------------
 pom.xml                                         |  2 +-
 wicket-examples/pom.xml                         |  2 +-
 wicket-experimental/wicket-cdi-1.1/pom.xml      |  2 +-
 .../wicket-cdi-1.1/wicket-cdi-1.1-core/pom.xml  | 10 +--
 .../org/apache/wicket/cdi/AbstractInjector.java |  5 ++
 .../org/apache/wicket/cdi/CdiConfiguration.java | 90 ++++++++++---------
 .../wicket/cdi/ConversationPropagator.java      |  9 ++
 .../apache/wicket/cdi/CdiConfigurationTest.java | 77 ++++++++++++++++
 .../wicket/cdi/ComponentInjectorTest.java       | 94 ++++++++------------
 .../org/apache/wicket/cdi/MockCdiContainer.java | 70 +++++++++++++++
 .../apache/wicket/cdi/WicketCdiTestCase.java    | 78 ++++++++++++++++
 .../apache/wicket/cdi/testapp/TestAppScope.java | 41 +++++++++
 .../wicket/cdi/testapp/TestApplication.java     | 43 +++++++++
 .../cdi/testapp/TestConversationBean.java       | 42 +++++++++
 .../cdi/testapp/TestConversationPage.html       | 12 +++
 .../cdi/testapp/TestConversationPage.java       | 66 ++++++++++++++
 .../org/apache/wicket/cdi/testapp/TestPage.html | 10 +++
 .../org/apache/wicket/cdi/testapp/TestPage.java | 39 ++++++++
 .../wicket/cdi/testapp/TestQualifier.java       | 36 ++++++++
 .../wicket-cdi-1.1/wicket-cdi-1.1-weld/pom.xml  |  6 +-
 20 files changed, 624 insertions(+), 110 deletions(-)
----------------------------------------------------------------------