You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2017/04/25 20:10:14 UTC

[1/3] isis git commit: ISIS-1603: makes the subclasses of ScalarPanelAbstract a little more consistent with each other

Repository: isis
Updated Branches:
  refs/heads/ISIS-1603-no-xeditable b3dab4952 -> 2007e2cfa


ISIS-1603: makes the subclasses of ScalarPanelAbstract a little more consistent with each other

specifically, all now have scalarTypeContainer as the outermost


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

Branch: refs/heads/ISIS-1603-no-xeditable
Commit: 25a4af9488814acd3d1a4a1e0be7478f3ae6b6df
Parents: b3dab49
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue Apr 25 20:22:09 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue Apr 25 20:22:09 2017 +0100

----------------------------------------------------------------------
 .../components/scalars/ScalarPanelAbstract.java |  15 +++
 .../scalars/ScalarPanelAbstract2.html           |  84 ------------
 .../scalars/ScalarPanelAbstract2.java           | 130 -------------------
 .../scalars/ScalarPanelTextAbstract.html        |  87 +++++++++++++
 .../scalars/ScalarPanelTextAbstract.java        | 126 ++++++++++++++++++
 .../scalars/ScalarPanelTextFieldAbstract.java   |  14 +-
 .../isisapplib/IsisBlobOrClobPanelAbstract.html |  27 +++-
 .../isisapplib/IsisBlobOrClobPanelAbstract.java |   5 +-
 .../scalars/primitive/BooleanPanel.html         |  35 ++++-
 .../scalars/primitive/BooleanPanel.java         |   4 +-
 .../BooleanPanel_labelRightPosition.html        |  27 +++-
 .../scalars/reference/ReferencePanel.html       |  53 ++++++--
 .../scalars/reference/ReferencePanel.java       |  14 +-
 .../valuechoices/ValueChoicesSelect2Panel.html  |  49 ++++++-
 .../valuechoices/ValueChoicesSelect2Panel.java  |   8 +-
 15 files changed, 416 insertions(+), 262 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/25a4af94/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
index eb06d58..41e7578 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
@@ -62,6 +62,8 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
 
     private static final long serialVersionUID = 1L;
 
+    protected static final String ID_SCALAR_TYPE_CONTAINER = "scalarTypeContainer";
+
     protected static final String ID_SCALAR_IF_COMPACT = "scalarIfCompact";
     protected static final String ID_SCALAR_IF_REGULAR = "scalarIfRegular";
     protected static final String ID_SCALAR_NAME = "scalarName";
@@ -80,6 +82,8 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
     protected Component scalarIfCompact;
     protected Component scalarIfRegular;
 
+    protected WebMarkupContainer scalarTypeContainer;
+
     public ScalarPanelAbstract(final String id, final ScalarModel scalarModel) {
         super(id, scalarModel);
         this.scalarModel = scalarModel;
@@ -88,6 +92,17 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
 
     // ///////////////////////////////////////////////////////////////////
 
+
+    @Override
+    protected void onInitialize() {
+        super.onInitialize();
+
+        scalarTypeContainer = new WebMarkupContainer(ID_SCALAR_TYPE_CONTAINER);
+        scalarTypeContainer.setOutputMarkupId(true);
+        addOrReplace(scalarTypeContainer);
+
+    }
+
     @Override
     protected void onBeforeRender() {
 

http://git-wip-us.apache.org/repos/asf/isis/blob/25a4af94/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.html
deleted file mode 100644
index 6238772..0000000
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:wicket="http://wicket.apache.org"
-      xml:lang="en"
-      lang="en">
-    <body>
-        <wicket:panel>
-            <div wicket:id="scalarTypeContainer"
-                 class="scalarNameAndValueComponentType" >
-
-                <div wicket:id="scalarIfRegular"
-                     class="form-group" >
-
-                    <label wicket:id="scalarName"
-                           class="scalarName control-label"
-                    >[Label text]</label>
-
-                    <span class="scalarValueWrapper">
-                        <div class="scalarPlaceholder">
-                            <span class="scalarValueInput">
-                                <span class="editing">
-                                    <wicket:child/>
-                                    <a wicket:id="editProperty"
-                                       href="#"
-                                       class="edit fa fa-pencil-square-o"></a>
-                                    <a
-                                            href="#"
-                                            name="scalarValueEditInline"
-                                            class="form-control input-sm scalarValueEditInline"
-                                            wicket:id="scalarValueEditInline">
-                                        <span wicket:id="scalarValueEditInlineLabel"></span>
-                                    </a>
-                                </span>
-                            </span>
-
-                            <span wicket:id="associatedActionLinksRight"
-                                  class="associatedActionLinksRight"
-                            >[drop down]</span>
-                        </div>
-                        <span wicket:id="feedback" class="help-block"></span>
-                        <span wicket:id="associatedActionLinksBelow"></span>
-                    </span>
-                    <div class="clearfix"></div>
-
-                </div>
-
-                <div wicket:id="scalarIfRegularInlineEditForm" class="inlineEditForm" >
-                    <div><span>property edit form</span></div>
-                </div>
-
-                <wicket:container wicket:id="scalarIfCompact"></wicket:container>
-            </div>
-
-            <wicket:fragment wicket:id="compactAsInputCheckbox">
-                <input wicket:id="scalarIfCompact"
-                       type="checkbox"
-                       class="form-control" />
-            </wicket:fragment>
-
-            <wicket:fragment wicket:id="compactAsSpan">
-                <span wicket:id="scalarIfCompact"></span>
-            </wicket:fragment>
-        </wicket:panel>
-    </body>
-</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/25a4af94/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
deleted file mode 100644
index 7b37a52..0000000
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
+++ /dev/null
@@ -1,130 +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.isis.viewer.wicket.ui.components.scalars;
-
-import org.apache.wicket.Component;
-import org.apache.wicket.ajax.AjaxEventBehavior;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.panel.Fragment;
-
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.ComponentType;
-import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditFormExecutor;
-import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditFormPanel;
-import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
-
-/**
- * Adapter for {@link PanelAbstract panel}s that use a {@link ScalarModel} as
- * their backing model.
- * 
- * <p>
- * Supports the concept of being {@link Rendering#COMPACT} (eg within a table) or
- * {@link Rendering#REGULAR regular} (eg within a form).
- */
-public abstract class ScalarPanelAbstract2 extends ScalarPanelAbstract  {
-
-    private static final long serialVersionUID = 1L;
-
-    protected static final String ID_SCALAR_TYPE_CONTAINER = "scalarTypeContainer";
-
-
-    protected static final String ID_SCALAR_VALUE_EDIT_INLINE = "scalarValueEditInline";
-    protected static final String ID_SCALAR_VALUE_EDIT_INLINE_LABEL = "scalarValueEditInlineLabel";
-
-    protected static final String ID_SCALAR_IF_REGULAR_INLINE_EDIT_FORM = "scalarIfRegularInlineEditForm";
-
-
-    public enum CompactType {
-        INPUT_CHECKBOX,
-        SPAN
-    }
-
-
-    protected WebMarkupContainer scalarTypeContainer;
-    protected WebMarkupContainer scalarIfRegularInlineEditForm;
-    protected WebMarkupContainer editInlineLink;
-
-
-    public ScalarPanelAbstract2(final String id, final ScalarModel scalarModel) {
-        super(id, scalarModel);
-    }
-
-    protected Fragment getCompactFragment(CompactType type) {
-        Fragment compactFragment;
-        switch (type) {
-            case INPUT_CHECKBOX:
-                compactFragment = new Fragment("scalarIfCompact", "compactAsInputCheckbox", ScalarPanelAbstract2.this);
-                break;
-            case SPAN:
-            default:
-                compactFragment = new Fragment("scalarIfCompact", "compactAsSpan", ScalarPanelAbstract2.this);
-                break;
-        }
-        return compactFragment;
-    }
-
-
-
-
-    protected void configureInlineEditCallback() {
-
-        final PromptStyle editStyle = this.scalarModel.getPromptStyle();
-        if(editStyle == PromptStyle.INLINE) {
-
-            if(editInlineLink != null) {
-                editInlineLink.add(new AjaxEventBehavior("click") {
-                    @Override
-                    protected void onEvent(final AjaxRequestTarget target) {
-
-                        scalarModel.toEditMode();
-
-                        // dynamically update the edit form.
-                        final PropertyEditFormExecutor formExecutor =
-                                new PropertyEditFormExecutor(ScalarPanelAbstract2.this, scalarModel);
-                        scalarModel.setFormExecutor(formExecutor);
-                        scalarModel.setInlinePromptContext(
-                                new ScalarModel.InlinePromptContext(scalarIfRegular, scalarIfRegularInlineEditForm));
-
-                        scalarIfRegularInlineEditForm = (PropertyEditFormPanel) getComponentFactoryRegistry().addOrReplaceComponent(
-                                scalarTypeContainer, ID_SCALAR_IF_REGULAR_INLINE_EDIT_FORM, ComponentType.PROPERTY_EDIT_FORM, scalarModel);
-
-
-                        scalarIfRegular.setVisible(false);
-                        scalarIfRegularInlineEditForm.setVisible(true);
-
-                        target.add(scalarTypeContainer);
-                    }
-
-                    @Override
-                    public boolean isEnabled(final Component component) {
-                        return true;
-                    }
-                });
-            }
-        }
-    }
-
-
-
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/25a4af94/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.html
new file mode 100644
index 0000000..9fd6bda
--- /dev/null
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.html
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+-->
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:wicket="http://wicket.apache.org"
+      xml:lang="en"
+      lang="en">
+    <body>
+        <wicket:panel>
+            <div class="scalarNameAndValueComponentType"
+                 wicket:id="scalarTypeContainer">
+
+                <div class="form-group"
+                     wicket:id="scalarIfRegular">
+
+                    <label class="scalarName control-label"
+                           wicket:id="scalarName"
+                    >[Label text]</label>
+
+                    <span class="scalarValueWrapper">
+                        <div class="scalarPlaceholder">
+
+                            <span class="scalarValueInput">
+                                <span class="editing">
+
+                                    <a href="#"
+                                       name="scalarValueEditInline"
+                                       class="form-control input-sm scalarValueEditInline"
+                                       wicket:id="scalarValueEditInline">
+                                        <span wicket:id="scalarValueEditInlineLabel"></span>
+                                    </a>
+
+                                    <wicket:child/>
+
+                                    <a href="#"
+                                       class="edit fa fa-pencil-square-o"
+                                       wicket:id="editProperty"></a>
+                                </span>
+                            </span>
+
+                            <span class="associatedActionLinksRight"
+                                  wicket:id="associatedActionLinksRight"
+                            >[drop down]</span>
+                        </div>
+                        <span wicket:id="feedback" class="help-block"></span>
+                        <span wicket:id="associatedActionLinksBelow"></span>
+                    </span>
+                    <div class="clearfix"></div>
+                </div>
+
+                <div class="inlineEditForm"
+                     wicket:id="scalarIfRegularInlineEditForm" >
+                    <div><span>property edit form</span></div>
+                </div>
+
+                <wicket:container wicket:id="scalarIfCompact"></wicket:container>
+            </div>
+
+            <wicket:fragment wicket:id="compactAsInputCheckbox">
+                <input wicket:id="scalarIfCompact"
+                       type="checkbox"
+                       class="form-control" />
+            </wicket:fragment>
+
+            <wicket:fragment wicket:id="compactAsSpan">
+                <span wicket:id="scalarIfCompact"></span>
+            </wicket:fragment>
+        </wicket:panel>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/25a4af94/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.java
new file mode 100644
index 0000000..b310d49
--- /dev/null
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.java
@@ -0,0 +1,126 @@
+/*
+ *  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.isis.viewer.wicket.ui.components.scalars;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.ajax.AjaxEventBehavior;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.panel.Fragment;
+
+import org.apache.isis.applib.annotation.PromptStyle;
+import org.apache.isis.viewer.wicket.model.models.ScalarModel;
+import org.apache.isis.viewer.wicket.ui.ComponentType;
+import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditFormExecutor;
+import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditFormPanel;
+import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
+
+/**
+ * Adapter for {@link PanelAbstract panel}s that use a {@link ScalarModel} as
+ * their backing model.
+ * 
+ * <p>
+ * Supports the concept of being {@link Rendering#COMPACT} (eg within a table) or
+ * {@link Rendering#REGULAR regular} (eg within a form).
+ */
+public abstract class ScalarPanelTextAbstract extends ScalarPanelAbstract  {
+
+    private static final long serialVersionUID = 1L;
+
+    protected static final String ID_SCALAR_VALUE_EDIT_INLINE = "scalarValueEditInline";
+    protected static final String ID_SCALAR_VALUE_EDIT_INLINE_LABEL = "scalarValueEditInlineLabel";
+
+    protected static final String ID_SCALAR_IF_REGULAR_INLINE_EDIT_FORM = "scalarIfRegularInlineEditForm";
+
+
+    public enum CompactType {
+        INPUT_CHECKBOX,
+        SPAN
+    }
+
+
+    protected WebMarkupContainer scalarIfRegularInlineEditForm;
+    protected WebMarkupContainer editInlineLink;
+
+
+    public ScalarPanelTextAbstract(final String id, final ScalarModel scalarModel) {
+        super(id, scalarModel);
+    }
+
+    protected Fragment getCompactFragment(CompactType type) {
+        Fragment compactFragment;
+        switch (type) {
+            case INPUT_CHECKBOX:
+                compactFragment = new Fragment("scalarIfCompact", "compactAsInputCheckbox", ScalarPanelTextAbstract.this);
+                break;
+            case SPAN:
+            default:
+                compactFragment = new Fragment("scalarIfCompact", "compactAsSpan", ScalarPanelTextAbstract.this);
+                break;
+        }
+        return compactFragment;
+    }
+
+
+
+
+    protected void configureInlineEditCallback() {
+
+        final PromptStyle editStyle = this.scalarModel.getPromptStyle();
+        if(editStyle == PromptStyle.INLINE) {
+
+            if(editInlineLink != null) {
+                editInlineLink.add(new AjaxEventBehavior("click") {
+                    @Override
+                    protected void onEvent(final AjaxRequestTarget target) {
+
+                        scalarModel.toEditMode();
+
+                        // dynamically update the edit form.
+                        final PropertyEditFormExecutor formExecutor =
+                                new PropertyEditFormExecutor(ScalarPanelTextAbstract.this, scalarModel);
+                        scalarModel.setFormExecutor(formExecutor);
+                        scalarModel.setInlinePromptContext(
+                                new ScalarModel.InlinePromptContext(scalarIfRegular, scalarIfRegularInlineEditForm));
+
+                        scalarIfRegularInlineEditForm = (PropertyEditFormPanel) getComponentFactoryRegistry().addOrReplaceComponent(
+                                scalarTypeContainer, ID_SCALAR_IF_REGULAR_INLINE_EDIT_FORM, ComponentType.PROPERTY_EDIT_FORM, scalarModel);
+
+
+                        scalarIfRegular.setVisible(false);
+                        scalarIfRegularInlineEditForm.setVisible(true);
+
+                        target.add(scalarTypeContainer);
+                    }
+
+                    @Override
+                    public boolean isEnabled(final Component component) {
+                        return true;
+                    }
+                });
+            }
+        }
+    }
+
+
+
+
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/25a4af94/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
index de9bfdd..eb427c7 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
@@ -57,7 +57,7 @@ import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
  * Adapter for {@link ScalarPanelAbstract scalar panel}s that are implemented
  * using a simple {@link TextField}.
  */
-public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> extends ScalarPanelAbstract2 {
+public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> extends ScalarPanelTextAbstract {
 
     private static final long serialVersionUID = 1L;
 
@@ -82,17 +82,19 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
         this.cls = cls;
     }
 
+    // ///////////////////////////////////////////////////////////////////
+
     @Override
     protected void onInitialize() {
         super.onInitialize();
 
-        scalarTypeContainer = new WebMarkupContainer(ID_SCALAR_TYPE_CONTAINER);
-        scalarTypeContainer.setOutputMarkupId(true);
         scalarTypeContainer.add(new CssClassAppender(getScalarPanelType()));
-        addOrReplace(scalarTypeContainer);
-
     }
 
+    protected abstract IModel<String> getScalarPanelType();
+
+    // ///////////////////////////////////////////////////////////////////
+
 
     AbstractTextComponent<T> getTextField() {
         return textField;
@@ -201,8 +203,6 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
         return scalarIfRegularFormGroup;
     }
 
-    protected abstract IModel<String> getScalarPanelType();
-
     private void addReplaceDisabledTagWithReadonlyTagBehaviourIfRequired(final Component component) {
         if(!getSettings().isReplaceDisabledTagWithReadonlyTag()) {
             return;

http://git-wip-us.apache.org/repos/asf/isis/blob/25a4af94/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
index cc19d87..48ae678 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
@@ -20,13 +20,25 @@
 <html xmlns:wicket="http://wicket.apache.org">
     <body>
         <wicket:panel>
-            <div class="isisBlobPanel scalarNameAndValueComponentType">
-                <div class="form-group" wicket:id="scalarIfRegular">
-                    <label wicket:id="scalarName" class="scalarName control-label">[Label text]</label>
+
+            <div class="scalarNameAndValueComponentType isisBlobPanel"
+                 wicket:id="scalarTypeContainer"
+            >
+
+                <div class="form-group"
+                     wicket:id="scalarIfRegular">
+
+                    <label class="scalarName control-label"
+                           wicket:id="scalarName"
+                    >[Label text]</label>
+
                     <span class="scalarValueWrapper">
+
                         <div class="scalarPlaceholder">
+
                             <span class="scalarValueInput">
                                 <span class="editing">
+
                                     <img class="scalarImage text-center" width="200px" wicket:id="scalarImage"/>
                                     <span class="scalarValue text-right">
 
@@ -38,10 +50,15 @@
                                         <a class="download btn btn-sm btn-primary" wicket:id="scalarIfRegularDownload"><span class="downloadTitle">Download</span></a>
                                         <span class="fileName" wicket:id="fileName">[filename]</span><span>&nbsp;</span>
                                     </span>
-                                    <a wicket:id="editProperty" href="#" class="edit fa fa-pencil-square-o"/>
+
+                                    <a href="#"
+                                       class="edit fa fa-pencil-square-o"
+                                       wicket:id="editProperty" ></a>
                                 </span>
                             </span>
-                            <span wicket:id="associatedActionLinksRight"  class="associatedActionLinksRight">[drop down]</span>
+                            <span class="associatedActionLinksRight"
+                                  wicket:id="associatedActionLinksRight"
+                            >[drop down]</span>
                         </div>
                         <span wicket:id="feedback" class="help-block"></span>
                         <span wicket:id="associatedActionLinksBelow"></span>

http://git-wip-us.apache.org/repos/asf/isis/blob/25a4af94/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
index 0c69b8f..2ec3fb8 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
@@ -114,7 +114,7 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
         updateFileNameLabel(ID_FILE_NAME, scalarIfRegularFormGroup);
         updateDownloadLink(ID_SCALAR_IF_REGULAR_DOWNLOAD, scalarIfRegularFormGroup);
         
-        addOrReplace(scalarIfRegularFormGroup);
+        scalarTypeContainer.addOrReplace(scalarIfRegularFormGroup);
         addFeedbackOnlyTo(scalarIfRegularFormGroup, fileUploadField);
         addEditPropertyTo(scalarIfRegularFormGroup);
 
@@ -178,7 +178,8 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
         if(downloadLink != null) {
             updateFileNameLabel("fileNameIfCompact", downloadLink);
         }
-        addOrReplace(scalarIfCompact);
+
+        scalarTypeContainer.addOrReplace(scalarIfCompact);
         return scalarIfCompact;
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/25a4af94/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
index 2b4af5f..f2f3586 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
@@ -24,25 +24,46 @@
       lang="en">
     <body>
         <wicket:panel>
-            <div class="booleanPanel scalarNameAndValueComponentType">
-                <div class="form-group" wicket:id="scalarIfRegular">
-                    <label wicket:id="scalarName" class="scalarName control-label">[Label text]</label>
+            <div class="scalarNameAndValueComponentType booleanPanel"
+                 wicket:id="scalarTypeContainer"
+            >
+                <div class="form-group"
+                     wicket:id="scalarIfRegular">
+
+                    <label class="scalarName control-label"
+                           wicket:id="scalarName"
+                    >[Label text]</label>
+
                     <span class="scalarValueWrapper">
+
                         <div class="scalarPlaceholder">
+
                             <span class="scalarValueInput">
                                 <span class="editing">
-                                    <input type="checkbox" name="scalarValue" class="scalarValue" wicket:id="scalarValue" />
-                                        <a wicket:id="editProperty" href="#" class="edit fa fa-pencil-square-o"/>
+
+                                    <input type="checkbox"
+                                           name="scalarValue"
+                                           class="scalarValue"
+                                           wicket:id="scalarValue" />
+
+                                    <a href="#"
+                                       class="edit fa fa-pencil-square-o"
+                                       wicket:id="editProperty" ></a>
                                 </span>
                             </span>
-                            <span wicket:id="associatedActionLinksRight" class="associatedActionLinksRight"></span>
+                            <span class="associatedActionLinksRight"
+                                  wicket:id="associatedActionLinksRight"
+                            >[drop down]</span>
                         </div>
                         <span wicket:id="feedback" class="help-block"></span>
                         <span wicket:id="associatedActionLinksBelow"></span>
                     </span>
                     <div class="clearfix"/>
                 </div>
-                <input type="checkbox" wicket:id="scalarIfCompact" />
+
+                <input type="checkbox"
+                       wicket:id="scalarIfCompact" />
+
             </div>
             <div class="clearfix"/>
         </wicket:panel>

http://git-wip-us.apache.org/repos/asf/isis/blob/25a4af94/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
index 78e2a21..c461786 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
@@ -94,7 +94,7 @@ public class BooleanPanel extends ScalarPanelAbstract {
 
         addPositioningCssTo(scalarIfRegularFormGroup, entityActions);
 
-        addOrReplace(scalarIfRegularFormGroup);
+        scalarTypeContainer.addOrReplace(scalarIfRegularFormGroup);
         addFeedbackOnlyTo(scalarIfRegularFormGroup, checkBox);
         addEditPropertyTo(scalarIfRegularFormGroup);
 
@@ -113,7 +113,7 @@ public class BooleanPanel extends ScalarPanelAbstract {
     @Override
     protected Component addComponentForCompact() {
         final CheckBoxX component = createCheckBox(ID_SCALAR_IF_COMPACT);
-        addOrReplace(component);
+        scalarTypeContainer.addOrReplace(component);
         return component;
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/25a4af94/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel_labelRightPosition.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel_labelRightPosition.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel_labelRightPosition.html
index c64ff87..fcc06b1 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel_labelRightPosition.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel_labelRightPosition.html
@@ -24,16 +24,33 @@
       lang="en">
     <body>
         <wicket:panel>
-            <div class="booleanPanel scalarNameAndValueComponentType">
-                <div class="form-group" wicket:id="scalarIfRegular">
+            <div class="scalarNameAndValueComponentType booleanPanel"
+                 wicket:id="scalarTypeContainer"
+            >
+
+                <div class="form-group"
+                     wicket:id="scalarIfRegular">
+
                     <div class="scalarValueWrapper">
-                        <input type="checkbox" name="scalarValue" class="scalarValue" wicket:id="scalarValue" /> <label wicket:id="scalarName" class="scalarName control-label">[Label text]</label>
+
+                        <input type="checkbox"
+                               name="scalarValue"
+                               class="scalarValue"
+                               wicket:id="scalarValue" />
+
+                        <label class="scalarName control-label"
+                               wicket:id="scalarName"
+                        >[Label text]</label>
+
                         <span wicket:id="feedback" class="help-block"></span>
                         <span wicket:id="associatedActionLinksBelow"></span>
                     </div>
-                    <span wicket:id="associatedActionLinksRight"></span>
+                    <span wicket:id="associatedActionLinksRight"
+                    >[drop down]</span>
                 </div>
-                <input type="checkbox" wicket:id="scalarIfCompact" />
+
+                <input type="checkbox"
+                       wicket:id="scalarIfCompact"/>
             </div>
         </wicket:panel>
     </body>

http://git-wip-us.apache.org/repos/asf/isis/blob/25a4af94/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.html
index c67d982..d6ffdad 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.html
@@ -24,33 +24,70 @@
       lang="en">
     <body>
         <wicket:panel>
-            <div class="referencePanel scalarNameAndValueComponentType">
-                <div class="form-group" wicket:id="scalarIfRegular">
-                    <label wicket:id="scalarName" class="scalarName control-label">[Label text]</label>
+            <div class="scalarNameAndValueComponentType referencePanel"
+                 wicket:id="scalarTypeContainer"
+            >
+
+                <div class="form-group"
+                     wicket:id="scalarIfRegular">
+
+                    <label class="scalarName control-label"
+                            wicket:id="scalarName"
+                    >[Label text]</label>
+
                     <span class="scalarValueWrapper">
+                        
                         <div class="scalarPlaceholder entityLinkSelect2Panel entityLinkComponentType">
+
                             <span class="entityLink wrapper">
+
                                 <span class="scalarValueInput">
                                     <span class="editing">
+
+                                        <wicket:remove>
+                                        <a href="#"
+                                           name="scalarValueEditInline"
+                                           class="form-control input-sm scalarValueEditInline"
+                                           xwicket:id="scalarValueEditInline">
+                                            <span xwicket:id="scalarValueEditInlineLabel"></span>
+                                        </a>
+                                        </wicket:remove>
+
                                         <span class="autoCompletePlaceholder">
                                             <span wicket:id="entityLink">link or drop down</span>
                                             <span wicket:id="entityIconAndTitle">[icon and title]</span>
                                         </span>
                                         <span wicket:id="entityTitleIfNull">(none)</span>
-                                        <a wicket:id="editProperty" href="#" class="edit fa fa-pencil-square-o"/>
+
+                                        <a href="#"
+                                           class="edit fa fa-pencil-square-o"
+                                           wicket:id="editProperty"></a>
                                     </span>
                                 </span>
                             </span>
-                            <span wicket:id="associatedActionLinksRight" class="associatedActionLinksRight"></span>
+                            <span class="associatedActionLinksRight"
+                                  wicket:id="associatedActionLinksRight"
+                            >[drop down]</span>
                         </div>
                         <span wicket:id="feedback" class="help-block"></span>
                         <span wicket:id="associatedActionLinksBelow"></span>
                     </span>
-                    <div class="clearfix"/>
+                    <div class="clearfix"></div>
                 </div>
-                <div wicket:id="scalarIfCompact" class="scalarIfCompact">
+
+                <wicket:remove>
+                <div class="inlineEditForm"
+                     xwicket:id="scalarIfRegularInlineEditForm" >
+                    <div><span>property edit form</span></div>
+                </div>
+                </wicket:remove>
+
+                <div class="scalarIfCompact"
+                     wicket:id="scalarIfCompact" >
                     <div class="scalarValue">
-                        <div class="entityLink" wicket:id="entityLink">[property or parameter value]</div>
+                        <div class="entityLink"
+                             wicket:id="entityLink"
+                        >[property or parameter value]</div>
                     </div>
                 </div>
             </div>

http://git-wip-us.apache.org/repos/asf/isis/blob/25a4af94/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
index 435312b..d600e78 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
@@ -77,6 +77,11 @@ public class ReferencePanel extends ScalarPanelAbstract implements PanelWithChoi
     private static final String ID_AUTO_COMPLETE = "autoComplete";
     private static final String ID_ENTITY_ICON_TITLE = "entityIconAndTitle";
 
+    private static final String ID_SCALAR_VALUE_EDIT_INLINE = "scalarValueEditInline";
+    private static final String ID_SCALAR_VALUE_EDIT_INLINE_LABEL = "scalarValueEditInlineLabel";
+
+    private static final String ID_SCALAR_IF_REGULAR_INLINE_EDIT_FORM = "scalarIfRegularInlineEditForm";
+
     /**
      * Determines the behaviour of dependent choices for the dependent; either to autoselect the first available choice, or to select none.
      */
@@ -89,6 +94,9 @@ public class ReferencePanel extends ScalarPanelAbstract implements PanelWithChoi
 
     private EntityLinkSimplePanel entitySimpleLink;
 
+    protected WebMarkupContainer scalarIfRegularInlineEditForm;
+    protected WebMarkupContainer editInlineLink;
+
     public ReferencePanel(final String id, final ScalarModel scalarModel) {
         super(id, scalarModel);
     }
@@ -112,8 +120,8 @@ public class ReferencePanel extends ScalarPanelAbstract implements PanelWithChoi
         
         final WebMarkupContainer labelIfCompact = new WebMarkupContainer(ID_SCALAR_IF_COMPACT);
         labelIfCompact.add(entitySimpleLink);
-        
-        addOrReplace(labelIfCompact);
+
+        scalarTypeContainer.addOrReplace(labelIfCompact);
 
         return labelIfCompact;
     }
@@ -159,7 +167,7 @@ public class ReferencePanel extends ScalarPanelAbstract implements PanelWithChoi
 
         addPositioningCssTo(scalarIfRegularFormGroup, entityActions);
 
-        addOrReplace(scalarIfRegularFormGroup);
+        scalarTypeContainer.addOrReplace(scalarIfRegularFormGroup);
         addFeedbackOnlyTo(scalarIfRegularFormGroup, select2.component()); // this is a placeholder; when select2.component() is available, we use that instead
         addEditPropertyTo(scalarIfRegularFormGroup);
 

http://git-wip-us.apache.org/repos/asf/isis/blob/25a4af94/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.html
index 26b41c7..c102463 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.html
@@ -24,26 +24,61 @@
       lang="en">
     <body>
         <wicket:panel>
-            <div class="valueChoicesSelect2Panel scalarNameAndValueComponentType">
-                <div class="form-group" wicket:id="scalarIfRegular">
-                    <label wicket:id="scalarName" class="scalarName control-label">[Label text]</label>
+            <div class="scalarNameAndValueComponentType valueChoicesSelect2Panel "
+                 wicket:id="scalarTypeContainer"
+            >
+                <div class="form-group"
+                     wicket:id="scalarIfRegular">
+
+                    <label class="scalarName control-label"
+                           wicket:id="scalarName"
+                    >[Label text]</label>
 
                     <span class="scalarValueWrapper">
                         <div class="scalarPlaceholder">
+
                             <span class="scalarValueInput">
                                 <span class="editing">
-                                    <select wicket:id="scalarValue" class="choices input-sm select2-remote" style="width: 99.8%;"></select>
-                                    <a wicket:id="editProperty" href="#" class="edit fa fa-pencil-square-o"/>
+
+                                    <wicket:remove>
+                                    <a href="#"
+                                       name="scalarValueEditInline"
+                                       class="form-control input-sm scalarValueEditInline"
+                                       xwicket:id="scalarValueEditInline">
+                                        <span xwicket:id="scalarValueEditInlineLabel"></span>
+                                    </a>
+                                    </wicket:remove>
+
+                                    <select class="choices input-sm select2-remote"
+                                            style="width: 99.8%;"
+                                            wicket:id="scalarValue"
+                                    ></select>
+                                    <a href="#"
+                                       class="edit fa fa-pencil-square-o"
+                                       wicket:id="editProperty"></a>
                                 </span>
                             </span>
-                            <span wicket:id="associatedActionLinksRight" class="associatedActionLinksRight"></span>
+                            <span class="associatedActionLinksRight"
+                                  wicket:id="associatedActionLinksRight"
+                            >[drop down]</span>
                         </div>
                         <span wicket:id="feedback" class="help-block"></span>
                         <span wicket:id="associatedActionLinksBelow"></span>
                     </span>
                     <div class="clearfix"></div>
                 </div>
-                <span wicket:id="scalarIfCompact"></span>
+
+
+                <wicket:remove>
+                    <div class="inlineEditForm"
+                         xwicket:id="scalarIfRegularInlineEditForm" >
+                        <div><span>property edit form</span></div>
+                    </div>
+                </wicket:remove>
+
+
+                <span class="scalarIfCompact"
+                      wicket:id="scalarIfCompact"></span>
             </div>
         </wicket:panel>
     </body>

http://git-wip-us.apache.org/repos/asf/isis/blob/25a4af94/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
index 4c1c2c6..429df19 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
@@ -27,6 +27,7 @@ import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
@@ -56,6 +57,9 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
     private Select2 select2;
     private ObjectAdapterMemento pending;
 
+    protected WebMarkupContainer scalarIfRegularInlineEditForm;
+    protected WebMarkupContainer editInlineLink;
+
     public ValueChoicesSelect2Panel(final String id, final ScalarModel scalarModel) {
         super(id, scalarModel);
         pending = scalarModel.getObjectAdapterMemento();
@@ -87,7 +91,7 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
             scalarIfRegularFormGroup.add(new CssClassAppender("mandatory"));
         }
         
-        addOrReplace(scalarIfRegularFormGroup);
+        scalarTypeContainer.addOrReplace(scalarIfRegularFormGroup);
 
         final Label scalarName = new Label(ID_SCALAR_NAME, getRendering().getLabelCaption(select2.component()));
         if(getModel().isRequired()) {
@@ -153,7 +157,7 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
     @Override
     protected Component addComponentForCompact() {
         final Label labelIfCompact = new Label(ID_SCALAR_IF_COMPACT, getModel().getObjectAsString());
-        addOrReplace(labelIfCompact);
+        scalarTypeContainer.addOrReplace(labelIfCompact);
         return labelIfCompact;
     }
 


[3/3] isis git commit: ISIS-1603: further simplifications of subclasses of ScalarPanelAbstract

Posted by da...@apache.org.
ISIS-1603: further simplifications of subclasses of ScalarPanelAbstract

making stuff private in superclass, introduces new optional hook to create the inline prompt form.


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

Branch: refs/heads/ISIS-1603-no-xeditable
Commit: 2007e2cfa979e93afd44a15af90782b3e1c5b956
Parents: 1962b8d
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue Apr 25 21:10:02 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue Apr 25 21:10:02 2017 +0100

----------------------------------------------------------------------
 .../components/scalars/ScalarPanelAbstract.java | 58 +++++++++++++++-----
 .../scalars/ScalarPanelTextAbstract.java        | 14 ++---
 .../scalars/ScalarPanelTextFieldAbstract.java   | 26 ++++-----
 .../ScalarPanelTextFieldDatePickerAbstract.java |  1 -
 .../scalars/ScalarPanelTextFieldNumeric.java    |  3 +-
 .../valuechoices/ValueChoicesSelect2Panel.java  |  4 --
 6 files changed, 65 insertions(+), 41 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/2007e2cf/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
index d496fb9..bb25019 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
@@ -49,6 +49,7 @@ import org.apache.isis.viewer.wicket.model.models.EntityModel;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.ComponentType;
 import org.apache.isis.viewer.wicket.ui.components.actionmenu.entityactions.AdditionalLinksPanel;
+import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditFormPanel;
 import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditPanel;
 import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditPromptHeaderPanel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.TextFieldValueModel.ScalarModelProvider;
@@ -81,7 +82,7 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
     protected static final String ID_SCALAR_VALUE_EDIT_INLINE_LABEL = "scalarValueEditInlineLabel";
 
     /**
-     * as per {@link #scalarIfRegularInlineEditForm}.
+     * as per {@link #scalarIfRegularInlinePromptForm}.
      */
     protected static final String ID_SCALAR_IF_REGULAR_INLINE_EDIT_FORM = "scalarIfRegularInlineEditForm";
 
@@ -96,15 +97,16 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
 
     protected final ScalarModel scalarModel;
 
-    protected Component scalarIfCompact;
-    protected Component scalarIfRegular;
+    private Component scalarIfCompact;
+    private Component scalarIfRegular;
 
-    protected WebMarkupContainer scalarTypeContainer;
+    private WebMarkupContainer scalarTypeContainer;
 
     /**
      * Used by most subclasses ({@link ScalarPanelTextAbstract}, {@link ReferencePanel}, {@link ValueChoicesSelect2Panel}) but not all ({@link IsisBlobOrClobPanelAbstract}, {@link BooleanPanel})
      */
-    protected WebMarkupContainer scalarIfRegularInlineEditForm;
+    protected WebMarkupContainer scalarIfRegularInlinePromptForm;
+
     protected WebMarkupContainer editInlineLink;
 
     public ScalarPanelAbstract(final String id, final ScalarModel scalarModel) {
@@ -174,12 +176,14 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
      */
     private void buildGui() {
 
-        // REVIEW: this is nasty, both write to the same entityLink field
-        // even though only one is used
-        scalarIfCompact = createComponentForCompact();
-        scalarIfRegular = createComponentForRegular();
+        this.scalarIfCompact = createComponentForCompact();
+        this.scalarIfRegular = createComponentForRegular();
+        this.scalarIfRegularInlinePromptForm = createFormForInlinePromptIfRequired();
 
         scalarTypeContainer.addOrReplace(scalarIfCompact, scalarIfRegular);
+        if(scalarIfRegularInlinePromptForm != null) {
+            scalarTypeContainer.addOrReplace(scalarIfRegularInlinePromptForm);
+        }
 
         getRendering().buildGui(this);
         addCssForMetaModel();
@@ -300,7 +304,7 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
 
             @Override
             public void buildGui(final ScalarPanelAbstract panel) {
-                panel.getLabelForCompact().setVisible(false);
+                panel.scalarIfCompact.setVisible(false);
             }
 
             @Override
@@ -330,19 +334,42 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
     /**
      * Mandatory hook method to build the component to render the model when in
      * {@link Rendering#REGULAR regular} format.
+     *
+     * <p>
+     *     Is added to {@link #scalarTypeContainer}.
+     * </p>
      */
     protected abstract MarkupContainer createComponentForRegular();
 
+    /**
+     * Mandatory hook method to build the component to render the model when in
+     * {@link Rendering#COMPACT compact} format.
+     *
+     * <p>
+     *     Is added to {@link #scalarTypeContainer}.
+     * </p>
+     */
     protected abstract Component createComponentForCompact();
 
-    protected Component getLabelForCompact() {
-        return scalarIfCompact;
+    /**
+     * Optional hook method.
+     *
+     * <p>
+     *     If non-null, is added to {@link #scalarTypeContainer}.
+     * </p>
+     */
+    protected WebMarkupContainer createFormForInlinePromptIfRequired() {
+        return null;
     }
 
-    public Component getComponentForRegular() {
-        return scalarIfRegular;
+    protected void switchFormForInlinePrompt() {
+        scalarIfRegularInlinePromptForm = (PropertyEditFormPanel) getComponentFactoryRegistry().addOrReplaceComponent(
+                scalarTypeContainer, ID_SCALAR_IF_REGULAR_INLINE_EDIT_FORM, ComponentType.PROPERTY_EDIT_FORM, scalarModel);
     }
 
+    protected Component getComponentForRegular() {
+        return scalarIfRegular;
+    }
 
     // ///////////////////////////////////////////////////////////////////
 
@@ -443,6 +470,9 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
 
     // ///////////////////////////////////////////////////////////////////
 
+
+    // ///////////////////////////////////////////////////////////////////
+
     /**
      * Repaints this panel of just some of its children
      *

http://git-wip-us.apache.org/repos/asf/isis/blob/2007e2cf/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.java
index f115c1e..9245a28 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.java
@@ -89,16 +89,16 @@ public abstract class ScalarPanelTextAbstract extends ScalarPanelAbstract  {
                                 new PropertyEditFormExecutor(ScalarPanelTextAbstract.this, scalarModel);
                         scalarModel.setFormExecutor(formExecutor);
                         scalarModel.setInlinePromptContext(
-                                new ScalarModel.InlinePromptContext(scalarIfRegular, scalarIfRegularInlineEditForm));
+                                new ScalarModel.InlinePromptContext(
+                                        getComponentForRegular(),
+                                        scalarIfRegularInlinePromptForm));
 
-                        scalarIfRegularInlineEditForm = (PropertyEditFormPanel) getComponentFactoryRegistry().addOrReplaceComponent(
-                                scalarTypeContainer, ID_SCALAR_IF_REGULAR_INLINE_EDIT_FORM, ComponentType.PROPERTY_EDIT_FORM, scalarModel);
+                        switchFormForInlinePrompt();
 
+                        getComponentForRegular().setVisible(false);
+                        scalarIfRegularInlinePromptForm.setVisible(true);
 
-                        scalarIfRegular.setVisible(false);
-                        scalarIfRegularInlineEditForm.setVisible(true);
-
-                        target.add(scalarTypeContainer);
+                        target.add(ScalarPanelTextAbstract.this);
                     }
 
                     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/2007e2cf/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
index 7735e0e..adde04e 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
@@ -159,18 +159,6 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
 
 
 
-        //
-        // inline edit form
-        // (placeholder initially, create dynamically when needed - otherwise infinite loop because form references regular)
-        //
-
-        scalarIfRegularInlineEditForm = new WebMarkupContainer(ID_SCALAR_IF_REGULAR_INLINE_EDIT_FORM);
-        scalarIfRegularInlineEditForm.setOutputMarkupId(true);
-        scalarTypeContainer.add(scalarIfRegularInlineEditForm);
-
-
-
-
 
         //
         // configure dialog edit vs inline edit
@@ -184,11 +172,23 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
         } else {
             editInlineLink.setVisibilityAllowed(false);
         }
-        scalarIfRegularInlineEditForm.setVisible(false);
 
         return scalarIfRegularFormGroup;
     }
 
+    @Override
+    protected WebMarkupContainer createFormForInlinePromptIfRequired() {
+
+        // (placeholder initially, create dynamically when needed - otherwise infinite loop because form references regular)
+
+        WebMarkupContainer scalarIfRegularInlinePromptForm = new WebMarkupContainer(ID_SCALAR_IF_REGULAR_INLINE_EDIT_FORM);
+        scalarIfRegularInlinePromptForm.setOutputMarkupId(true);
+
+        scalarIfRegularInlinePromptForm.setVisible(false);
+
+        return scalarIfRegularInlinePromptForm;
+    }
+
     private void addReplaceDisabledTagWithReadonlyTagBehaviourIfRequired(final Component component) {
         if(!getSettings().isReplaceDisabledTagWithReadonlyTag()) {
             return;

http://git-wip-us.apache.org/repos/asf/isis/blob/2007e2cf/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
index 06c8489..404f872 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
@@ -96,7 +96,6 @@ public abstract class ScalarPanelTextFieldDatePickerAbstract<T extends Serializa
 
         compactFragment.add(label);
 
-        scalarTypeContainer.addOrReplace(compactFragment);
         return label;
     }
     

http://git-wip-us.apache.org/repos/asf/isis/blob/2007e2cf/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
index 17e91bf..d9c35b6 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
@@ -24,9 +24,9 @@ import java.io.Serializable;
 import org.apache.wicket.Component;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.panel.Fragment;
+import org.apache.wicket.util.convert.IConverter;
 
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.wicket.util.convert.IConverter;
 
 /**
  * Panel for rendering numeric scalars.
@@ -60,7 +60,6 @@ public abstract class ScalarPanelTextFieldNumeric<T extends Serializable> extend
         label.setEnabled(false);
 
         compactFragment.add(label);
-        scalarTypeContainer.addOrReplace(compactFragment);
         return label;
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/2007e2cf/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
index d8c559c..c00d172 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
@@ -27,7 +27,6 @@ import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
@@ -57,9 +56,6 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
     private Select2 select2;
     private ObjectAdapterMemento pending;
 
-    protected WebMarkupContainer scalarIfRegularInlineEditForm;
-    protected WebMarkupContainer editInlineLink;
-
     public ValueChoicesSelect2Panel(final String id, final ScalarModel scalarModel) {
         super(id, scalarModel);
         pending = scalarModel.getObjectAdapterMemento();


[2/3] isis git commit: ISIS-1603: further rationalization of subclasses of ScalarPanelAbstract.

Posted by da...@apache.org.
ISIS-1603: further rationalization of subclasses of ScalarPanelAbstract.

Specifically:
- move the responsibility for adding components for regular/compact to the owning scalarTypeContainer into ScalarPanelAbstract
- remove special casing of adding CSS class to scalarTypeContainer's div
- simplify the signature of mandatory hook method that supports the above


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

Branch: refs/heads/ISIS-1603-no-xeditable
Commit: 1962b8ded2a4d6382f1feec97b25c870450df2af
Parents: 25a4af9
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue Apr 25 20:51:58 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue Apr 25 20:51:58 2017 +0100

----------------------------------------------------------------------
 .../components/scalars/ScalarPanelAbstract.java | 37 +++++++++++++++++---
 .../scalars/ScalarPanelTextAbstract.java        | 14 +-------
 .../scalars/ScalarPanelTextFieldAbstract.java   | 19 ++--------
 .../ScalarPanelTextFieldDatePickerAbstract.java |  2 +-
 .../scalars/ScalarPanelTextFieldNumeric.java    |  2 +-
 .../isisapplib/IsisBlobOrClobPanelAbstract.html |  2 +-
 .../isisapplib/IsisBlobOrClobPanelAbstract.java | 17 +++++----
 .../scalars/isisapplib/IsisColorPanel.java      |  6 ++--
 .../scalars/isisapplib/IsisDatePanel.java       |  6 ++--
 .../scalars/isisapplib/IsisDateTimePanel.java   |  6 ++--
 .../scalars/isisapplib/IsisMoneyPanel.java      |  6 ++--
 .../scalars/isisapplib/IsisPasswordPanel.java   |  6 ++--
 .../scalars/isisapplib/IsisPercentagePanel.java |  6 ++--
 .../scalars/isisapplib/IsisTimePanel.java       |  5 ++-
 .../scalars/isisapplib/IsisTimeStampPanel.java  |  6 ++--
 .../scalars/jdkdates/JavaSqlDatePanel.java      |  6 ++--
 .../scalars/jdkdates/JavaSqlTimePanel.java      |  6 ++--
 .../scalars/jdkdates/JavaSqlTimestampPanel.java |  7 ++--
 .../scalars/jdkdates/JavaUtilDatePanel.java     |  6 ++--
 .../jdkmath/JavaMathBigDecimalPanel.java        |  6 ++--
 .../jdkmath/JavaMathBigIntegerPanel.java        |  6 ++--
 .../scalars/jodatime/JodaDateTimePanel.java     |  6 ++--
 .../scalars/jodatime/JodaLocalDatePanel.java    |  6 ++--
 .../jodatime/JodaLocalDateTimePanel.java        |  6 ++--
 .../scalars/primitive/BooleanPanel.html         |  2 +-
 .../scalars/primitive/BooleanPanel.java         | 16 +++++----
 .../BooleanPanel_labelRightPosition.html        |  2 +-
 .../components/scalars/primitive/BytePanel.java |  6 ++--
 .../scalars/primitive/CharacterPanel.java       |  6 ++--
 .../scalars/primitive/DoublePanel.java          |  6 ++--
 .../scalars/primitive/FloatPanel.java           |  6 ++--
 .../scalars/primitive/IntegerPanel.java         |  6 ++--
 .../components/scalars/primitive/LongPanel.java |  6 ++--
 .../scalars/primitive/ShortPanel.java           |  6 ++--
 .../scalars/reference/ReferencePanel.html       |  4 +--
 .../scalars/reference/ReferencePanel.java       | 28 +++++++--------
 .../scalars/string/MultiLineStringPanel.java    |  6 ++--
 .../components/scalars/string/StringPanel.java  |  6 ++--
 .../ui/components/scalars/value/ValuePanel.java |  5 ++-
 .../valuechoices/ValueChoicesSelect2Panel.html  |  2 +-
 .../valuechoices/ValueChoicesSelect2Panel.java  | 16 +++++----
 41 files changed, 141 insertions(+), 183 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
index 41e7578..d496fb9 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
@@ -52,6 +52,10 @@ import org.apache.isis.viewer.wicket.ui.components.actionmenu.entityactions.Addi
 import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditPanel;
 import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditPromptHeaderPanel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.TextFieldValueModel.ScalarModelProvider;
+import org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobOrClobPanelAbstract;
+import org.apache.isis.viewer.wicket.ui.components.scalars.primitive.BooleanPanel;
+import org.apache.isis.viewer.wicket.ui.components.scalars.reference.ReferencePanel;
+import org.apache.isis.viewer.wicket.ui.components.scalars.valuechoices.ValueChoicesSelect2Panel;
 import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
 import org.apache.isis.viewer.wicket.ui.util.Components;
 import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
@@ -70,6 +74,19 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
     protected static final String ID_SCALAR_VALUE = "scalarValue";
 
 
+    /**
+     * as per {@link #editInlineLink}
+     */
+    protected static final String ID_SCALAR_VALUE_EDIT_INLINE = "scalarValueEditInline";
+    protected static final String ID_SCALAR_VALUE_EDIT_INLINE_LABEL = "scalarValueEditInlineLabel";
+
+    /**
+     * as per {@link #scalarIfRegularInlineEditForm}.
+     */
+    protected static final String ID_SCALAR_IF_REGULAR_INLINE_EDIT_FORM = "scalarIfRegularInlineEditForm";
+
+
+
     private static final String ID_EDIT_PROPERTY = "editProperty";
     private static final String ID_FEEDBACK = "feedback";
     private static final String ID_ASSOCIATED_ACTION_LINKS_BELOW = "associatedActionLinksBelow";
@@ -84,6 +101,12 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
 
     protected WebMarkupContainer scalarTypeContainer;
 
+    /**
+     * Used by most subclasses ({@link ScalarPanelTextAbstract}, {@link ReferencePanel}, {@link ValueChoicesSelect2Panel}) but not all ({@link IsisBlobOrClobPanelAbstract}, {@link BooleanPanel})
+     */
+    protected WebMarkupContainer scalarIfRegularInlineEditForm;
+    protected WebMarkupContainer editInlineLink;
+
     public ScalarPanelAbstract(final String id, final ScalarModel scalarModel) {
         super(id, scalarModel);
         this.scalarModel = scalarModel;
@@ -99,10 +122,14 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
 
         scalarTypeContainer = new WebMarkupContainer(ID_SCALAR_TYPE_CONTAINER);
         scalarTypeContainer.setOutputMarkupId(true);
+        scalarTypeContainer.add(new CssClassAppender(Model.of(getScalarPanelType())));
         addOrReplace(scalarTypeContainer);
 
     }
 
+    protected abstract String getScalarPanelType();
+
+
     @Override
     protected void onBeforeRender() {
 
@@ -149,8 +176,10 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
 
         // REVIEW: this is nasty, both write to the same entityLink field
         // even though only one is used
-        scalarIfCompact = addComponentForCompact();
-        scalarIfRegular = addComponentForRegular();
+        scalarIfCompact = createComponentForCompact();
+        scalarIfRegular = createComponentForRegular();
+
+        scalarTypeContainer.addOrReplace(scalarIfCompact, scalarIfRegular);
 
         getRendering().buildGui(this);
         addCssForMetaModel();
@@ -302,9 +331,9 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
      * Mandatory hook method to build the component to render the model when in
      * {@link Rendering#REGULAR regular} format.
      */
-    protected abstract MarkupContainer addComponentForRegular();
+    protected abstract MarkupContainer createComponentForRegular();
 
-    protected abstract Component addComponentForCompact();
+    protected abstract Component createComponentForCompact();
 
     protected Component getLabelForCompact() {
         return scalarIfCompact;

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.java
index b310d49..f115c1e 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextAbstract.java
@@ -22,7 +22,6 @@ package org.apache.isis.viewer.wicket.ui.components.scalars;
 import org.apache.wicket.Component;
 import org.apache.wicket.ajax.AjaxEventBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.panel.Fragment;
 
 import org.apache.isis.applib.annotation.PromptStyle;
@@ -44,26 +43,18 @@ public abstract class ScalarPanelTextAbstract extends ScalarPanelAbstract  {
 
     private static final long serialVersionUID = 1L;
 
-    protected static final String ID_SCALAR_VALUE_EDIT_INLINE = "scalarValueEditInline";
-    protected static final String ID_SCALAR_VALUE_EDIT_INLINE_LABEL = "scalarValueEditInlineLabel";
-
-    protected static final String ID_SCALAR_IF_REGULAR_INLINE_EDIT_FORM = "scalarIfRegularInlineEditForm";
-
-
     public enum CompactType {
         INPUT_CHECKBOX,
         SPAN
     }
 
 
-    protected WebMarkupContainer scalarIfRegularInlineEditForm;
-    protected WebMarkupContainer editInlineLink;
-
 
     public ScalarPanelTextAbstract(final String id, final ScalarModel scalarModel) {
         super(id, scalarModel);
     }
 
+
     protected Fragment getCompactFragment(CompactType type) {
         Fragment compactFragment;
         switch (type) {
@@ -120,7 +111,4 @@ public abstract class ScalarPanelTextAbstract extends ScalarPanelAbstract  {
     }
 
 
-
-
-
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
index eb427c7..7735e0e 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
@@ -84,17 +84,6 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
 
     // ///////////////////////////////////////////////////////////////////
 
-    @Override
-    protected void onInitialize() {
-        super.onInitialize();
-
-        scalarTypeContainer.add(new CssClassAppender(getScalarPanelType()));
-    }
-
-    protected abstract IModel<String> getScalarPanelType();
-
-    // ///////////////////////////////////////////////////////////////////
-
 
     AbstractTextComponent<T> getTextField() {
         return textField;
@@ -113,7 +102,7 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
     }
 
     @Override
-    protected MarkupContainer addComponentForRegular() {
+    protected MarkupContainer createComponentForRegular() {
 
         // even though only one of textField and scalarValueEditInlineContainer will ever be visible,
         // am instantiating both to avoid NPEs
@@ -153,9 +142,6 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
         // ... add entity links to panel (below and to right)
         addEntityActionLinksBelowAndRight(scalarIfRegularFormGroup, entityActions);
 
-        scalarTypeContainer.add(scalarIfRegularFormGroup);
-
-
 
 
         //
@@ -308,11 +294,10 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
      * This default implementation uses a {@link Label}, however it may be overridden if required.
      */
     @Override
-    protected Component addComponentForCompact() {
+    protected Component createComponentForCompact() {
         Fragment compactFragment = getCompactFragment(CompactType.SPAN);
         final Label labelIfCompact = new Label(ID_SCALAR_IF_COMPACT, getModel().getObjectAsString());
         compactFragment.add(labelIfCompact);
-        scalarTypeContainer.addOrReplace(compactFragment);
         return labelIfCompact;
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
index fd947bc..06c8489 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
@@ -77,7 +77,7 @@ public abstract class ScalarPanelTextFieldDatePickerAbstract<T extends Serializa
     }
 
 
-    protected Component addComponentForCompact() {
+    protected Component createComponentForCompact() {
         Fragment compactFragment = getCompactFragment(CompactType.SPAN);
         final Label label = new Label(ID_SCALAR_IF_COMPACT, newTextFieldValueModel()) {
             @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
index 0410d8a..17e91bf 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
@@ -48,7 +48,7 @@ public abstract class ScalarPanelTextFieldNumeric<T extends Serializable> extend
         this.converter = converter;
     }
 
-    protected Component addComponentForCompact() {
+    protected Component createComponentForCompact() {
         Fragment compactFragment = getCompactFragment(CompactType.SPAN);
         final Label label = new Label(ID_SCALAR_IF_COMPACT, newTextFieldValueModel()) {
             @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
index 48ae678..cf96290 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
@@ -21,7 +21,7 @@
     <body>
         <wicket:panel>
 
-            <div class="scalarNameAndValueComponentType isisBlobPanel"
+            <div class="scalarNameAndValueComponentType"
                  wicket:id="scalarTypeContainer"
             >
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
index 2ec3fb8..6994722 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
@@ -88,7 +88,7 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
         }
 
     @Override
-    protected FormGroup addComponentForRegular() {
+    protected FormGroup createComponentForRegular() {
         fileUploadField = createFileUploadField(ID_SCALAR_VALUE);
         fileUploadField.setLabel(Model.of(getModel().getName()));
         
@@ -114,7 +114,6 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
         updateFileNameLabel(ID_FILE_NAME, scalarIfRegularFormGroup);
         updateDownloadLink(ID_SCALAR_IF_REGULAR_DOWNLOAD, scalarIfRegularFormGroup);
         
-        scalarTypeContainer.addOrReplace(scalarIfRegularFormGroup);
         addFeedbackOnlyTo(scalarIfRegularFormGroup, fileUploadField);
         addEditPropertyTo(scalarIfRegularFormGroup);
 
@@ -150,9 +149,8 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
         final BufferedDynamicImageResource imageResource = new BufferedDynamicImageResource();
         imageResource.setImage(image);
         final ThumbnailImageResource thumbnailImageResource = new ThumbnailImageResource(imageResource, 300);
-        
-        final NonCachingImage wicketImage = new NonCachingImage(id, thumbnailImageResource);
-        return wicketImage;
+
+        return new NonCachingImage(id, thumbnailImageResource);
     }
 
     private BufferedImage asBufferedImage(final Blob blob) {
@@ -172,14 +170,13 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
     }
 
     @Override
-    protected Component addComponentForCompact() {
+    protected Component createComponentForCompact() {
         final MarkupContainer scalarIfCompact = new WebMarkupContainer(ID_SCALAR_IF_COMPACT);
         MarkupContainer downloadLink = updateDownloadLink(ID_SCALAR_IF_COMPACT_DOWNLOAD, scalarIfCompact);
         if(downloadLink != null) {
             updateFileNameLabel("fileNameIfCompact", downloadLink);
         }
 
-        scalarTypeContainer.addOrReplace(scalarIfCompact);
         return scalarIfCompact;
     }
 
@@ -352,4 +349,10 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
     protected abstract IResource newResource(final T namedWithMimeType);
 
 
+    @Override
+    protected String getScalarPanelType() {
+        return "isisBlobPanel";
+    }
+
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanel.java
index 3e13257..e8f4aff 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisColorPanel.java
@@ -19,8 +19,6 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
 
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
 
@@ -36,8 +34,8 @@ public class IsisColorPanel extends ScalarPanelTextFieldParseableAbstract {
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("isisColorPanel");
+    protected String getScalarPanelType() {
+        return "isisColorPanel";
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.java
index f3edc00..217793e 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.java
@@ -19,8 +19,6 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
 
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.apache.isis.applib.value.Date;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldDatePickerAbstract;
@@ -38,7 +36,7 @@ public class IsisDatePanel extends ScalarPanelTextFieldDatePickerAbstract<org.ap
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("isisDatePanel");
+    protected String getScalarPanelType() {
+        return "isisDatePanel";
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.java
index 5eec2d4..2e7ef73 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.java
@@ -20,8 +20,6 @@
 package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
 
 import org.apache.wicket.markup.html.form.AbstractTextComponent;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 
 import org.apache.isis.applib.value.DateTime;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -47,7 +45,7 @@ public class IsisDateTimePanel extends ScalarPanelTextFieldDatePickerAbstract<or
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("isisDateTimePanel");
+    protected String getScalarPanelType() {
+        return "isisDateTimePanel";
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanel.java
index d1eeb31..a92204f 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisMoneyPanel.java
@@ -19,8 +19,6 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
 
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.apache.isis.applib.value.Money;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
@@ -37,8 +35,8 @@ public class IsisMoneyPanel extends ScalarPanelTextFieldParseableAbstract {
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("isisMoneyPanel");
+    protected String getScalarPanelType() {
+        return "isisMoneyPanel";
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanel.java
index 28e4ad7..18e20da 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPasswordPanel.java
@@ -22,8 +22,6 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.form.AbstractTextComponent;
 import org.apache.wicket.markup.html.form.PasswordTextField;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 
 import org.apache.isis.applib.value.Password;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -61,7 +59,7 @@ public class IsisPasswordPanel extends ScalarPanelTextFieldParseableAbstract {
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("isisPasswordPanel");
+    protected String getScalarPanelType() {
+        return "isisPasswordPanel";
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanel.java
index 88ef7f2..1513531 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisPercentagePanel.java
@@ -19,8 +19,6 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
 
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.apache.isis.applib.value.Percentage;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
@@ -38,8 +36,8 @@ public class IsisPercentagePanel extends ScalarPanelTextFieldParseableAbstract {
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("isisPercentagePanel");
+    protected String getScalarPanelType() {
+        return "isisPercentagePanel";
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanel.java
index ce86fdf..de3dcc1 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanel.java
@@ -19,7 +19,6 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
 
-import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
@@ -36,8 +35,8 @@ public class IsisTimePanel extends ScalarPanelTextFieldParseableAbstract {
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("isisTimePanel");
+    protected String getScalarPanelType() {
+        return "isisTimePanel";
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.java
index 384cc03..208f8c7 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.java
@@ -19,8 +19,6 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
 
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.apache.isis.applib.value.TimeStamp;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
@@ -37,8 +35,8 @@ public class IsisTimeStampPanel extends ScalarPanelTextFieldParseableAbstract {
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("isisTimeStampPanel");
+    protected String getScalarPanelType() {
+        return "isisTimeStampPanel";
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.java
index 9e69ffa..e8a977a 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.java
@@ -21,8 +21,6 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.jdkdates;
 
 import java.sql.Date;
 
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldDatePickerAbstract;
 
@@ -39,7 +37,7 @@ public class JavaSqlDatePanel extends ScalarPanelTextFieldDatePickerAbstract<jav
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("javaSqlDatePanel");
+    protected String getScalarPanelType() {
+        return "javaSqlDatePanel";
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanel.java
index 6dcaa70..3a78334 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanel.java
@@ -21,8 +21,6 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.jdkdates;
 
 import java.sql.Time;
 
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
 
@@ -38,8 +36,8 @@ public class JavaSqlTimePanel extends ScalarPanelTextFieldParseableAbstract {
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("javaSqlTimePanel");
+    protected String getScalarPanelType() {
+        return "javaSqlTimePanel";
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimestampPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimestampPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimestampPanel.java
index 8e3c379..76b832d 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimestampPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimestampPanel.java
@@ -22,9 +22,6 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.jdkdates;
 
 import java.sql.Timestamp;
 
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
-
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldDatePickerAbstract;
 
@@ -46,8 +43,8 @@ public class JavaSqlTimestampPanel extends ScalarPanelTextFieldDatePickerAbstrac
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("javaSqlTimestampPanel");
+    protected String getScalarPanelType() {
+        return "javaSqlTimestampPanel";
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.java
index 1cfef94..e430835 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.java
@@ -21,8 +21,6 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.jdkdates;
 
 
 
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldDatePickerAbstract;
 
@@ -39,7 +37,7 @@ public class JavaUtilDatePanel extends ScalarPanelTextFieldDatePickerAbstract<ja
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("javaUtilDatePanel");
+    protected String getScalarPanelType() {
+        return "javaUtilDatePanel";
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.java
index a6bc29b..af21ffa 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.java
@@ -22,8 +22,6 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.jdkmath;
 import java.math.BigDecimal;
 
 import org.apache.wicket.markup.html.form.AbstractTextComponent;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldNumeric;
@@ -50,8 +48,8 @@ public class JavaMathBigDecimalPanel extends ScalarPanelTextFieldNumeric<BigDeci
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("javaMathBigDecimalPanel");
+    protected String getScalarPanelType() {
+        return "javaMathBigDecimalPanel";
     }
 }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.java
index f992a64..26d326e 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.java
@@ -23,8 +23,6 @@ import java.math.BigInteger;
 
 import org.apache.wicket.markup.html.form.AbstractTextComponent;
 import org.apache.wicket.markup.html.form.TextField;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.apache.wicket.util.convert.IConverter;
 import org.apache.wicket.util.convert.converter.BigIntegerConverter;
 
@@ -59,8 +57,8 @@ public class JavaMathBigIntegerPanel extends ScalarPanelTextFieldNumeric<BigInte
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("javaMathBigIntegerPanel");
+    protected String getScalarPanelType() {
+        return "javaMathBigIntegerPanel";
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.java
index 54834a3..e4b90ae 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.java
@@ -20,8 +20,6 @@
 package org.apache.isis.viewer.wicket.ui.components.scalars.jodatime;
 
 import org.apache.wicket.markup.html.form.AbstractTextComponent;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.joda.time.DateTime;
 import org.joda.time.LocalDateTime;
 
@@ -48,7 +46,7 @@ public class JodaDateTimePanel extends ScalarPanelTextFieldDatePickerAbstract<Da
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("jodaDateTimePanel");
+    protected String getScalarPanelType() {
+        return "jodaDateTimePanel";
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.java
index 8d33bae..37473e8 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.java
@@ -19,8 +19,6 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.jodatime;
 
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.joda.time.LocalDate;
 
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -39,7 +37,7 @@ public class JodaLocalDatePanel extends ScalarPanelTextFieldDatePickerAbstract<L
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("jodaDateTimePanel");
+    protected String getScalarPanelType() {
+        return "jodaDateTimePanel";
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanel.java
index 2435625..e3d7f5c 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanel.java
@@ -20,8 +20,6 @@
 package org.apache.isis.viewer.wicket.ui.components.scalars.jodatime;
 
 import org.apache.wicket.markup.html.form.AbstractTextComponent;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.joda.time.LocalDateTime;
 
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -48,7 +46,7 @@ public class JodaLocalDateTimePanel extends ScalarPanelTextFieldDatePickerAbstra
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("jodaLocalDateTimePanel");
+    protected String getScalarPanelType() {
+        return "jodaLocalDateTimePanel";
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
index f2f3586..9aa6403 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
@@ -24,7 +24,7 @@
       lang="en">
     <body>
         <wicket:panel>
-            <div class="scalarNameAndValueComponentType booleanPanel"
+            <div class="scalarNameAndValueComponentType"
                  wicket:id="scalarTypeContainer"
             >
                 <div class="form-group"

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
index c461786..a36adc4 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
@@ -65,7 +65,7 @@ public class BooleanPanel extends ScalarPanelAbstract {
     }
 
     @Override
-    protected MarkupContainer addComponentForRegular() {
+    protected MarkupContainer createComponentForRegular() {
         final String name = getModel().getName();
 
         checkBox = createCheckBox(ID_SCALAR_VALUE);
@@ -94,7 +94,6 @@ public class BooleanPanel extends ScalarPanelAbstract {
 
         addPositioningCssTo(scalarIfRegularFormGroup, entityActions);
 
-        scalarTypeContainer.addOrReplace(scalarIfRegularFormGroup);
         addFeedbackOnlyTo(scalarIfRegularFormGroup, checkBox);
         addEditPropertyTo(scalarIfRegularFormGroup);
 
@@ -111,10 +110,8 @@ public class BooleanPanel extends ScalarPanelAbstract {
      * {@link Rendering#COMPACT compact} format.
      */
     @Override
-    protected Component addComponentForCompact() {
-        final CheckBoxX component = createCheckBox(ID_SCALAR_IF_COMPACT);
-        scalarTypeContainer.addOrReplace(component);
-        return component;
+    protected Component createComponentForCompact() {
+        return createCheckBox(ID_SCALAR_IF_COMPACT);
     }
 
     private CheckBoxX createCheckBox(final String id) {
@@ -190,4 +187,11 @@ public class BooleanPanel extends ScalarPanelAbstract {
         }
         return variation;
     }
+
+    @Override
+    protected String getScalarPanelType() {
+        return "booleanPanel";
+    }
+
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel_labelRightPosition.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel_labelRightPosition.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel_labelRightPosition.html
index fcc06b1..9e0baf2 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel_labelRightPosition.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel_labelRightPosition.html
@@ -24,7 +24,7 @@
       lang="en">
     <body>
         <wicket:panel>
-            <div class="scalarNameAndValueComponentType booleanPanel"
+            <div class="scalarNameAndValueComponentType"
                  wicket:id="scalarTypeContainer"
             >
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BytePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BytePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BytePanel.java
index e64f763..7658247 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BytePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BytePanel.java
@@ -21,8 +21,6 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.primitive;
 
 import org.apache.wicket.markup.html.form.AbstractTextComponent;
 import org.apache.wicket.markup.html.form.TextField;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.apache.wicket.util.convert.IConverter;
 import org.apache.wicket.util.convert.converter.ByteConverter;
 
@@ -56,7 +54,7 @@ public class BytePanel extends ScalarPanelTextFieldNumeric<Byte> {
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("bytePanel");
+    protected String getScalarPanelType() {
+        return "bytePanel";
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/CharacterPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/CharacterPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/CharacterPanel.java
index d44bd1b..8640937 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/CharacterPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/CharacterPanel.java
@@ -19,8 +19,6 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.primitive;
 
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
 
@@ -36,7 +34,7 @@ public class CharacterPanel extends ScalarPanelTextFieldParseableAbstract {
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("characterPanel");
+    protected String getScalarPanelType() {
+        return "characterPanel";
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/DoublePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/DoublePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/DoublePanel.java
index 6c038e5..61d5bbd 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/DoublePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/DoublePanel.java
@@ -21,8 +21,6 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.primitive;
 
 import org.apache.wicket.markup.html.form.AbstractTextComponent;
 import org.apache.wicket.markup.html.form.TextField;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.apache.wicket.util.convert.IConverter;
 import org.apache.wicket.util.convert.converter.DoubleConverter;
 
@@ -56,8 +54,8 @@ public class DoublePanel extends ScalarPanelTextFieldNumeric<Double> {
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("doublePanel");
+    protected String getScalarPanelType() {
+        return "doublePanel";
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/FloatPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/FloatPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/FloatPanel.java
index 0e590ef..e0fb2ce 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/FloatPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/FloatPanel.java
@@ -21,8 +21,6 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.primitive;
 
 import org.apache.wicket.markup.html.form.AbstractTextComponent;
 import org.apache.wicket.markup.html.form.TextField;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.apache.wicket.util.convert.IConverter;
 import org.apache.wicket.util.convert.converter.FloatConverter;
 
@@ -56,8 +54,8 @@ public class FloatPanel extends ScalarPanelTextFieldNumeric<Float> {
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("floatPanel");
+    protected String getScalarPanelType() {
+        return "floatPanel";
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/IntegerPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/IntegerPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/IntegerPanel.java
index aefd822..c07a9cc 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/IntegerPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/IntegerPanel.java
@@ -21,8 +21,6 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.primitive;
 
 import org.apache.wicket.markup.html.form.AbstractTextComponent;
 import org.apache.wicket.markup.html.form.TextField;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.apache.wicket.util.convert.IConverter;
 import org.apache.wicket.util.convert.converter.IntegerConverter;
 
@@ -56,8 +54,8 @@ public class IntegerPanel extends ScalarPanelTextFieldNumeric<Integer> {
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("integerPanel");
+    protected String getScalarPanelType() {
+        return "integerPanel";
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/LongPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/LongPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/LongPanel.java
index 0282240..d1869db 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/LongPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/LongPanel.java
@@ -21,8 +21,6 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.primitive;
 
 import org.apache.wicket.markup.html.form.AbstractTextComponent;
 import org.apache.wicket.markup.html.form.TextField;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.apache.wicket.util.convert.IConverter;
 import org.apache.wicket.util.convert.converter.LongConverter;
 
@@ -56,8 +54,8 @@ public class LongPanel extends ScalarPanelTextFieldNumeric<Long> {
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("longPanel");
+    protected String getScalarPanelType() {
+        return "longPanel";
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/ShortPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/ShortPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/ShortPanel.java
index 9f5ec09..9620b48 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/ShortPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/ShortPanel.java
@@ -21,8 +21,6 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.primitive;
 
 import org.apache.wicket.markup.html.form.AbstractTextComponent;
 import org.apache.wicket.markup.html.form.TextField;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.apache.wicket.util.convert.IConverter;
 import org.apache.wicket.util.convert.converter.ShortConverter;
 
@@ -56,7 +54,7 @@ public class ShortPanel extends ScalarPanelTextFieldNumeric<Short> {
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("shortPanel");
+    protected String getScalarPanelType() {
+        return "shortPanel";
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.html
index d6ffdad..44757cf 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.html
@@ -24,7 +24,7 @@
       lang="en">
     <body>
         <wicket:panel>
-            <div class="scalarNameAndValueComponentType referencePanel"
+            <div class="scalarNameAndValueComponentType"
                  wicket:id="scalarTypeContainer"
             >
 
@@ -36,7 +36,7 @@
                     >[Label text]</label>
 
                     <span class="scalarValueWrapper">
-                        
+
                         <div class="scalarPlaceholder entityLinkSelect2Panel entityLinkComponentType">
 
                             <span class="entityLink wrapper">

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
index d600e78..5b9fbe8 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
@@ -77,10 +77,6 @@ public class ReferencePanel extends ScalarPanelAbstract implements PanelWithChoi
     private static final String ID_AUTO_COMPLETE = "autoComplete";
     private static final String ID_ENTITY_ICON_TITLE = "entityIconAndTitle";
 
-    private static final String ID_SCALAR_VALUE_EDIT_INLINE = "scalarValueEditInline";
-    private static final String ID_SCALAR_VALUE_EDIT_INLINE_LABEL = "scalarValueEditInlineLabel";
-
-    private static final String ID_SCALAR_IF_REGULAR_INLINE_EDIT_FORM = "scalarIfRegularInlineEditForm";
 
     /**
      * Determines the behaviour of dependent choices for the dependent; either to autoselect the first available choice, or to select none.
@@ -94,21 +90,18 @@ public class ReferencePanel extends ScalarPanelAbstract implements PanelWithChoi
 
     private EntityLinkSimplePanel entitySimpleLink;
 
-    protected WebMarkupContainer scalarIfRegularInlineEditForm;
-    protected WebMarkupContainer editInlineLink;
 
     public ReferencePanel(final String id, final ScalarModel scalarModel) {
         super(id, scalarModel);
     }
 
-    
     // //////////////////////////////////////
     // addComponentFor{Compact/Regular}
     // //////////////////////////////////////
 
     // First called as a side-effect of {@link #beforeRender()}
     @Override
-    protected Component addComponentForCompact() {
+    protected Component createComponentForCompact() {
 
         final ScalarModel scalarModel = getModel();
         final String name = scalarModel.getName();
@@ -121,14 +114,12 @@ public class ReferencePanel extends ScalarPanelAbstract implements PanelWithChoi
         final WebMarkupContainer labelIfCompact = new WebMarkupContainer(ID_SCALAR_IF_COMPACT);
         labelIfCompact.add(entitySimpleLink);
 
-        scalarTypeContainer.addOrReplace(labelIfCompact);
-
         return labelIfCompact;
     }
 
     // First called as a side-effect of {@link #beforeRender()}
     @Override
-    protected FormGroup addComponentForRegular() {
+    protected FormGroup createComponentForRegular() {
         final ScalarModel scalarModel = getModel();
         final String name = scalarModel.getName();
         
@@ -159,6 +150,9 @@ public class ReferencePanel extends ScalarPanelAbstract implements PanelWithChoi
         if (namedFacet != null) {
             scalarName.setEscapeModelStrings(namedFacet.escaped());
         }
+        if(getModel().isRequired()) {
+            scalarName.add(new CssClassAppender("mandatory"));
+        }
 
 
         // find the links...
@@ -167,7 +161,6 @@ public class ReferencePanel extends ScalarPanelAbstract implements PanelWithChoi
 
         addPositioningCssTo(scalarIfRegularFormGroup, entityActions);
 
-        scalarTypeContainer.addOrReplace(scalarIfRegularFormGroup);
         addFeedbackOnlyTo(scalarIfRegularFormGroup, select2.component()); // this is a placeholder; when select2.component() is available, we use that instead
         addEditPropertyTo(scalarIfRegularFormGroup);
 
@@ -192,9 +185,7 @@ public class ReferencePanel extends ScalarPanelAbstract implements PanelWithChoi
             }
         });
 
-        if(getModel().isRequired()) {
-            scalarName.add(new CssClassAppender("mandatory"));
-        }
+
         return scalarIfRegularFormGroup;
     }
 
@@ -539,4 +530,11 @@ public class ReferencePanel extends ScalarPanelAbstract implements PanelWithChoi
     public void repaint(AjaxRequestTarget target) {
         target.add(select2.component());
     }
+
+    @Override
+    protected String getScalarPanelType() {
+        return "referencePanel";
+    }
+
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java
index 772eea8..e6f06b3 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java
@@ -24,8 +24,6 @@ import org.apache.wicket.Component;
 import org.apache.wicket.markup.html.form.AbstractTextComponent;
 import org.apache.wicket.markup.html.form.TextArea;
 import org.apache.wicket.markup.html.panel.Fragment;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 
 import org.apache.isis.core.metamodel.facets.SingleIntValueFacet;
 import org.apache.isis.core.metamodel.facets.objectvalue.maxlen.MaxLengthFacet;
@@ -71,8 +69,8 @@ public class MultiLineStringPanel extends ScalarPanelTextFieldParseableAbstract
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("multiLineStringPanel");
+    protected String getScalarPanelType() {
+        return "multiLineStringPanel";
     }
 
     private Component setAttribute(final TextArea<String> textField, final String attributeName, final int i) {

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanel.java
index 5991877..c5a600e 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanel.java
@@ -19,8 +19,6 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.string;
 
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
 
@@ -37,8 +35,8 @@ public class StringPanel extends ScalarPanelTextFieldParseableAbstract {
     }
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("stringPanel");
+    protected String getScalarPanelType() {
+        return "stringPanel";
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/ValuePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/ValuePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/ValuePanel.java
index 667e20f..2b3b225 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/ValuePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/ValuePanel.java
@@ -19,7 +19,6 @@
 
 package org.apache.isis.viewer.wicket.ui.components.scalars.value;
 
-import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.isis.applib.annotation.Value;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -44,7 +43,7 @@ public class ValuePanel extends ScalarPanelTextFieldParseableAbstract {
 
 
     @Override
-    protected IModel<String> getScalarPanelType() {
-        return Model.of("valuePanel");
+    protected String getScalarPanelType() {
+        return "valuePanel";
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.html
index c102463..3b61826 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.html
@@ -24,7 +24,7 @@
       lang="en">
     <body>
         <wicket:panel>
-            <div class="scalarNameAndValueComponentType valueChoicesSelect2Panel "
+            <div class="scalarNameAndValueComponentType"
                  wicket:id="scalarTypeContainer"
             >
                 <div class="form-group"

http://git-wip-us.apache.org/repos/asf/isis/blob/1962b8de/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
index 429df19..d8c559c 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
@@ -66,7 +66,7 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
     }
 
     @Override
-    protected MarkupContainer addComponentForRegular() {
+    protected MarkupContainer createComponentForRegular() {
 
         // same pattern as in ReferencePanel
         if(select2 == null) {
@@ -91,7 +91,6 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
             scalarIfRegularFormGroup.add(new CssClassAppender("mandatory"));
         }
         
-        scalarTypeContainer.addOrReplace(scalarIfRegularFormGroup);
 
         final Label scalarName = new Label(ID_SCALAR_NAME, getRendering().getLabelCaption(select2.component()));
         if(getModel().isRequired()) {
@@ -155,10 +154,8 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
     }
 
     @Override
-    protected Component addComponentForCompact() {
-        final Label labelIfCompact = new Label(ID_SCALAR_IF_COMPACT, getModel().getObjectAsString());
-        scalarTypeContainer.addOrReplace(labelIfCompact);
-        return labelIfCompact;
+    protected Component createComponentForCompact() {
+        return new Label(ID_SCALAR_IF_COMPACT, getModel().getObjectAsString());
     }
 
     
@@ -306,4 +303,11 @@ public class ValueChoicesSelect2Panel extends ScalarPanelAbstract implements Sca
 
     @com.google.inject.Inject
     private WicketViewerSettings wicketViewerSettings;
+
+    @Override
+    protected String getScalarPanelType() {
+        return "valueChoicesSelect2Panel";
+    }
+
+
 }