Author: jdonnerstag
Date: Sun Apr 12 11:39:03 2009
New Revision: 764292
URL: http://svn.apache.org/viewvc?rev=764292&view=rev
Log:
fixed WICKET-2196 still doesn't seem to work - AjaxEditableChoiceLabel ignores
ChoiceRenderer in newLabel(...)
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java?rev=764292&r1=764291&r2=764292&view=diff
==============================================================================
---
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
(original)
+++
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
Sun Apr 12 11:39:03 2009
@@ -18,7 +18,6 @@
import java.util.List;
-import org.apache.wicket.Application;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.MarkupStream;
@@ -136,7 +135,6 @@
* @param choices
* The collection of choices in the dropdown
*/
- @SuppressWarnings("unchecked")
public AjaxEditableChoiceLabel(String id, IModel<T> model, List<?
extends T> choices)
{
this(id, model, Model.of(choices));
@@ -154,7 +152,6 @@
* @param renderer
* The rendering engine
*/
- @SuppressWarnings("unchecked")
public AjaxEditableChoiceLabel(String id, IModel<T> model, List<?
extends T> choices,
IChoiceRenderer<T> renderer)
{
@@ -181,6 +178,7 @@
}
};
+
DropDownChoice<T> editor = new DropDownChoice<T>(componentId,
model, choiceModel, renderer)
{
private static final long serialVersionUID = 1L;
@@ -198,6 +196,7 @@
}
};
+
editor.setOutputMarkupId(true);
editor.setVisible(false);
editor.add(new EditorAjaxBehavior()
@@ -220,6 +219,10 @@
return editor;
}
+ /**
+ * @see
org.apache.wicket.extensions.ajax.markup.html.AjaxEditableLabel#newLabel(org.apache.wicket.MarkupContainer,
+ * java.lang.String, org.apache.wicket.model.IModel)
+ */
@Override
protected WebComponent newLabel(MarkupContainer parent, String
componentId, IModel<T> model)
{
@@ -244,15 +247,15 @@
Object displayObject =
renderer.getDisplayValue((T)getDefaultModelObject());
Class<?> objectClass = (displayObject
== null ? null : displayObject.getClass());
-
- if (objectClass != null && objectClass
!= String.class)
+ if ((objectClass != null) &&
(objectClass != String.class))
{
- final IConverter converter =
Application.get()
- .getConverterLocator()
-
.getConverter(objectClass);
-
+ final IConverter converter =
getConverter(objectClass);
displayValue =
converter.convertToString(displayObject, getLocale());
}
+ else if (displayObject != null)
+ {
+ displayValue =
displayObject.toString();
+ }
}
if (Strings.isEmpty(displayValue))
@@ -270,12 +273,18 @@
return label;
}
+ /**
+ * @see
org.apache.wicket.extensions.ajax.markup.html.AjaxEditableLabel#onModelChanged()
+ */
@Override
protected void onModelChanged()
{
super.onModelChanged();
}
+ /**
+ * @see
org.apache.wicket.extensions.ajax.markup.html.AjaxEditableLabel#onModelChanging()
+ */
@Override
protected void onModelChanging()
{