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 2012/07/01 19:31:25 UTC

svn commit: r1355960 - in /incubator/isis/trunk/framework/viewer/wicket: wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/ wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/ wicket-ui/src/main/java...

Author: danhaywood
Date: Sun Jul  1 17:31:20 2012
New Revision: 1355960

URL: http://svn.apache.org/viewvc?rev=1355960&view=rev
Log:
ISIS-232: improvements to Wicket viewer (from patch)

Added:
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanel.css   (with props)
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanel.html   (with props)
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanel.java   (with props)
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanelFactory.java   (with props)
Modified:
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/ComponentType.java
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTable.css
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityPropertiesAndOrCollectionsPanel.css
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityPropertiesAndOrCollectionsPanel.java
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/summary/EntitySummaryPanel.css
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.css
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.html
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.java
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/noapplib/IsisDatePanel.java
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuPanel.css
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLink.css
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.css
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageType.java
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/about/AboutPage.java
    incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/tabs/TabbedPanelAbstract.css
    incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryListDefault.java
    incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/pages/PageClassListDefault.java

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/ComponentType.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/ComponentType.java?rev=1355960&r1=1355959&r2=1355960&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/ComponentType.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/ComponentType.java Sun Jul  1 17:31:20 2012
@@ -36,10 +36,10 @@ import org.apache.isis.viewer.wicket.mod
 public enum ComponentType {
 
     
-    /**
-     * About page text.
-     */
-    ABOUT,
+//    /**
+//     * About page text.
+//     */
+//    ABOUT,
     /**
      * Welcome page text.
      */
@@ -65,7 +65,7 @@ public enum ComponentType {
      */
     ENTITY_PROPERTIES,
     /**
-     * The set of collections of a single entity.
+     * The set of collections of a single entity, intended to be wrapped in a form alongside {@link #ENTITY_PROPERTIES}
      */
     ENTITY_COLLECTIONS,
     /**
@@ -73,6 +73,13 @@ public enum ComponentType {
      */
     ENTITY_PROPERTIES_AND_COLLECTIONS,
     /**
+     * The set of collections of a single entity, designed to be standalone outside of a form.
+     * 
+     * <p>
+     * compare with {@value #ENTITY_COLLECTIONS}.
+     */
+    ENTITY_COLLECTIONS_READ_ONLY_FORM,
+    /**
      * A single standalone value, as might be returned from an action.
      */
     VALUE,

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTable.css
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTable.css?rev=1355960&r1=1355959&r2=1355960&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTable.css (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTable.css Sun Jul  1 17:31:20 2012
@@ -30,7 +30,7 @@ table.collectionContentsAsAjaxTable tr {
 	padding-bottom: 2px; 
 	}
 
-table.collectionContentsAsAjaxTable tr.even { background-color: #ffebcd; }
+table.collectionContentsAsAjaxTable tr.even { background-color: #fff; }
 table.collectionContentsAsAjaxTable tr.odd { background-color: #fff; }
 
 table.collectionContentsAsAjaxTable tr td { 
@@ -45,7 +45,7 @@ table.collectionContentsAsAjaxTable tr t
 	padding-bottom: 3px; 
 	padding-left: 8px; 
 	padding-right: 30px; 
-	background-color: #C4D9EA; 
+	background-color: #EEEEEE; 
 	border-bottom: 1px solid #407098; 
 	border-top: 1px solid #407098; 
 	text-align: left; 

Added: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanel.css
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanel.css?rev=1355960&view=auto
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanel.css (added)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanel.css Sun Jul  1 17:31:20 2012
@@ -0,0 +1,20 @@
+/*
+ *  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.
+ */
+ 
+ 

Propchange: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanel.css
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanel.html
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanel.html?rev=1355960&view=auto
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanel.html (added)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanel.html Sun Jul  1 17:31:20 2012
@@ -0,0 +1,38 @@
+<?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.
+-->
+<html>
+	<body>
+		<wicket:panel>
+			<div class="entityPropertiesAndOrCollections">
+			
+			
+				
+			    <form wicket:id="entityPropertiesAndOrCollections">
+	    	    	
+				    	<div wicket:id="propertiesAndOrCollections">
+			              <div wicket:id="propertyOrCollection" class="propertyOrCollection">[property or collection]</div>
+				    	</div>
+				    	
+			    	
+				</form>
+			</div>
+		</wicket:panel>
+	</body>
+</html>

Propchange: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanel.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanel.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanel.java?rev=1355960&view=auto
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanel.java (added)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanel.java Sun Jul  1 17:31:20 2012
@@ -0,0 +1,249 @@
+/*
+ *  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.entity.blocks.propcoll;
+
+import java.util.List;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.Session;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.form.AjaxButton;
+import org.apache.wicket.feedback.FeedbackMessage;
+import org.apache.wicket.feedback.IFeedbackMessageFilter;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.form.Button;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.FormComponent;
+import org.apache.wicket.markup.html.form.IFormVisitorParticipant;
+import org.apache.wicket.markup.html.form.FormComponent.IVisitor;
+import org.apache.wicket.markup.html.form.validation.AbstractFormValidator;
+import org.apache.wicket.markup.html.panel.ComponentFeedbackPanel;
+import org.apache.wicket.markup.html.panel.FeedbackPanel;
+import org.apache.wicket.markup.repeater.RepeatingView;
+import org.apache.wicket.model.Model;
+
+import org.apache.isis.applib.filter.Filter;
+import org.apache.isis.applib.filter.Filters;
+import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
+import org.apache.isis.core.metamodel.spec.feature.ObjectAssociationFilters;
+import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
+import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
+import org.apache.isis.core.progmodel.facets.object.validate.ValidateObjectFacet;
+import org.apache.isis.runtimes.dflt.runtime.memento.Memento;
+import org.apache.isis.viewer.wicket.model.mementos.PropertyMemento;
+import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
+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.collection.CollectionPanel;
+import org.apache.isis.viewer.wicket.ui.components.entity.blocks.propcoll.EntityPropertiesAndOrCollectionsPanel.PropCollForm;
+import org.apache.isis.viewer.wicket.ui.components.entity.blocks.propcoll.EntityPropertiesAndOrCollectionsPanel.Render;
+import org.apache.isis.viewer.wicket.ui.components.widgets.formcomponent.CancelHintRequired;
+import org.apache.isis.viewer.wicket.ui.panels.FormAbstract;
+import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
+import org.apache.isis.viewer.wicket.ui.util.EvenOrOddCssClassAppenderFactory;
+
+/**
+ * {@link PanelAbstract Panel} representing the properties of an entity, as per
+ * the provided {@link EntityModel}.
+ */
+public class EntityCollectionsReadOnlyFormPanel extends PanelAbstract<EntityModel> {
+
+    private static final long serialVersionUID = 1L;
+
+    private static final String ID_ENTITY_PROPERTIES_AND_OR_COLLECTIONS = "entityPropertiesAndOrCollections";
+
+    private PropCollForm form;
+
+    public EntityCollectionsReadOnlyFormPanel(final String id, final EntityModel entityModel) {
+        super(id, entityModel);
+        buildGui();
+        form.toViewMode(null);
+    }
+
+    private void buildGui() {
+        buildEntityPropertiesAndOrCollectionsGui();
+        setOutputMarkupId(true); // so can repaint via ajax
+    }
+
+    private void buildEntityPropertiesAndOrCollectionsGui() {
+        final EntityModel model = getModel();
+        final ObjectAdapter adapter = model.getObject();
+        if (adapter != null) {
+            form = new PropCollForm(ID_ENTITY_PROPERTIES_AND_OR_COLLECTIONS, model, this);
+            addOrReplace(form);
+        } else {
+            permanentlyHide(ID_ENTITY_PROPERTIES_AND_OR_COLLECTIONS);
+        }
+    }
+
+    static class PropCollForm extends FormAbstract<ObjectAdapter> {
+
+        private static final long serialVersionUID = 1L;
+
+        private static final String ID_PROPERTIES_AND_OR_COLLECTIONS = "propertiesAndOrCollections";
+        private static final String ID_PROPERTY_OR_COLLECTION = "propertyOrCollection";
+
+        private final Component owningPanel;
+
+        public PropCollForm(final String id, final EntityModel entityModel, final Component owningPanel) {
+            super(id, entityModel);
+            this.owningPanel = owningPanel; // for repainting
+
+            buildGui();
+        }
+
+        private void buildGui() {
+            addPropertiesAndOrCollections();
+
+            addValidator();
+        }
+
+        private void addPropertiesAndOrCollections() {
+            final EntityModel entityModel = (EntityModel) getModel();
+            final ObjectAdapter adapter = entityModel.getObject();
+            final ObjectSpecification noSpec = adapter.getSpecification();
+
+            final List<ObjectAssociation> associations = visibleAssociations(adapter, noSpec);
+
+            final RepeatingView rv = new RepeatingView(ID_PROPERTIES_AND_OR_COLLECTIONS);
+            final EvenOrOddCssClassAppenderFactory eo = new EvenOrOddCssClassAppenderFactory();
+            add(rv);
+
+            @SuppressWarnings("unused")
+            Component component;
+            for (final ObjectAssociation association : associations) {
+                if (association instanceof OneToOneAssociation) {
+                    final WebMarkupContainer container = new WebMarkupContainer(rv.newChildId());
+                    rv.add(container);
+                    container.add(eo.nextClass());
+
+                    addPropertyToForm(entityModel, association, container);
+                } else {
+                    final WebMarkupContainer container = new WebMarkupContainer(rv.newChildId());
+                    rv.add(container);
+                    container.add(eo.nextClass());
+                    
+                    addCollectionToForm(entityModel, association, container);
+                }
+            }
+
+            // massive hack: an empty property line to get CSS correct...!
+            final WebMarkupContainer container = new WebMarkupContainer(rv.newChildId());
+            rv.add(container);
+            container.add(new Label(ID_PROPERTY_OR_COLLECTION, Model.of(" ")));
+            container.add(eo.nextClass());
+        }
+
+		private void addPropertyToForm(final EntityModel entityModel,
+				final ObjectAssociation association,
+				final WebMarkupContainer container) {
+			@SuppressWarnings("unused")
+			Component component;
+			final OneToOneAssociation otoa = (OneToOneAssociation) association;
+			final PropertyMemento pm = new PropertyMemento(otoa);
+
+			final ScalarModel scalarModel = entityModel.getPropertyModel(pm);
+			component = getComponentFactoryRegistry().addOrReplaceComponent(container, ID_PROPERTY_OR_COLLECTION, ComponentType.SCALAR_NAME_AND_VALUE, scalarModel);
+		}
+
+		private void addCollectionToForm(final EntityModel entityModel,
+				final ObjectAssociation association,
+				final WebMarkupContainer container) {
+			@SuppressWarnings("unused")
+			Component component;
+			final OneToManyAssociation otma = (OneToManyAssociation) association;
+
+			final EntityCollectionModel entityCollectionModel = EntityCollectionModel.createParented(entityModel, otma);
+			final CollectionPanel collectionPanel = new CollectionPanel(ID_PROPERTY_OR_COLLECTION, entityCollectionModel);
+			container.addOrReplace(collectionPanel);
+
+			component = getComponentFactoryRegistry().addOrReplaceComponent(container, ID_PROPERTY_OR_COLLECTION, ComponentType.COLLECTION_NAME_AND_CONTENTS, entityCollectionModel);
+		}
+
+        private List<ObjectAssociation> visibleAssociations(final ObjectAdapter adapter, final ObjectSpecification noSpec) {
+            return noSpec.getAssociations(visibleAssociationFilter(adapter));
+        }
+
+        @SuppressWarnings("unchecked")
+		private Filter<ObjectAssociation> visibleAssociationFilter(final ObjectAdapter adapter) {
+            return Filters.and(ObjectAssociationFilters.COLLECTIONS, ObjectAssociationFilters.dynamicallyVisible(getAuthenticationSession(), adapter));
+        }
+
+
+        private void requestRepaintPanel(final AjaxRequestTarget target) {
+            if (target != null) {
+                target.addComponent(owningPanel);
+            }
+        }
+
+        private void addValidator() {
+            add(new AbstractFormValidator() {
+
+                private static final long serialVersionUID = 1L;
+
+                @Override
+                public FormComponent<?>[] getDependentFormComponents() {
+                    return new FormComponent<?>[0];
+                }
+
+                @Override
+                public void validate(final Form<?> form) {
+                    final EntityModel entityModel = (EntityModel) getModel();
+                    final ObjectAdapter adapter = entityModel.getObject();
+                    final ValidateObjectFacet facet = adapter.getSpecification().getFacet(ValidateObjectFacet.class);
+                    if (facet == null) {
+                        return;
+                    }
+                    final String invalidReasonIfAny = facet.invalidReason(adapter);
+                    if (invalidReasonIfAny != null) {
+                        Session.get().getFeedbackMessages().add(new FeedbackMessage(form, invalidReasonIfAny, FeedbackMessage.ERROR));
+                    }
+                }
+            });
+        }
+
+        private EntityModel getEntityModel() {
+            return (EntityModel) getModel();
+        }
+
+        void toViewMode(final AjaxRequestTarget target) {
+            getEntityModel().toViewMode();
+            requestRepaintPanel(target);
+        }
+
+        @Override
+        protected void onValidate() {
+            Session.get().getFeedbackMessages().clear(new IFeedbackMessageFilter() {
+
+                private static final long serialVersionUID = 1L;
+
+                @Override
+                public boolean accept(final FeedbackMessage message) {
+                    return message.getReporter() == owningPanel;
+                }
+            });
+            super.onValidate();
+        }
+    }
+}

Propchange: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanel.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanelFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanelFactory.java?rev=1355960&view=auto
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanelFactory.java (added)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanelFactory.java Sun Jul  1 17:31:20 2012
@@ -0,0 +1,48 @@
+/*
+ *  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.entity.blocks.propcoll;
+
+import org.apache.isis.viewer.wicket.model.models.EntityModel;
+import org.apache.isis.viewer.wicket.ui.ComponentFactory;
+import org.apache.isis.viewer.wicket.ui.ComponentType;
+import org.apache.isis.viewer.wicket.ui.components.entity.EntityComponentFactoryAbstract;
+import org.apache.wicket.Component;
+import org.apache.wicket.model.IModel;
+
+/**
+ * {@link ComponentFactory} for {@link EntityPropertiesAndOrCollectionsPanel}.
+ */
+public class EntityCollectionsReadOnlyFormPanelFactory extends EntityComponentFactoryAbstract {
+
+    private static final long serialVersionUID = 1L;
+
+    public EntityCollectionsReadOnlyFormPanelFactory() {
+        super(ComponentType.ENTITY_COLLECTIONS_READ_ONLY_FORM);
+    }
+
+    @Override
+    public Component createComponent(final String id, final IModel<?> model) {
+        final EntityModel entityModel = (EntityModel) model;
+        return new EntityCollectionsReadOnlyFormPanel(id, entityModel);
+    }
+}
+
+
+

Propchange: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityCollectionsReadOnlyFormPanelFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityPropertiesAndOrCollectionsPanel.css
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityPropertiesAndOrCollectionsPanel.css?rev=1355960&r1=1355959&r2=1355960&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityPropertiesAndOrCollectionsPanel.css (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityPropertiesAndOrCollectionsPanel.css Sun Jul  1 17:31:20 2012
@@ -16,3 +16,5 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
+ 
+ 

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityPropertiesAndOrCollectionsPanel.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityPropertiesAndOrCollectionsPanel.java?rev=1355960&r1=1355959&r2=1355960&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityPropertiesAndOrCollectionsPanel.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/propcoll/EntityPropertiesAndOrCollectionsPanel.java Sun Jul  1 17:31:20 2012
@@ -168,23 +168,18 @@ public class EntityPropertiesAndOrCollec
             @SuppressWarnings("unused")
             Component component;
             for (final ObjectAssociation association : associations) {
-                final WebMarkupContainer container = new WebMarkupContainer(rv.newChildId());
-                rv.add(container);
-                container.add(eo.nextClass());
                 if (association instanceof OneToOneAssociation) {
-                    final OneToOneAssociation otoa = (OneToOneAssociation) association;
-                    final PropertyMemento pm = new PropertyMemento(otoa);
+                    final WebMarkupContainer container = new WebMarkupContainer(rv.newChildId());
+                    rv.add(container);
+                    container.add(eo.nextClass());
 
-                    final ScalarModel scalarModel = entityModel.getPropertyModel(pm);
-                    component = getComponentFactoryRegistry().addOrReplaceComponent(container, ID_PROPERTY_OR_COLLECTION, ComponentType.SCALAR_NAME_AND_VALUE, scalarModel);
+                    addPropertyToForm(entityModel, association, container);
                 } else {
-                    final OneToManyAssociation otma = (OneToManyAssociation) association;
-
-                    final EntityCollectionModel entityCollectionModel = EntityCollectionModel.createParented(entityModel, otma);
-                    final CollectionPanel collectionPanel = new CollectionPanel(ID_PROPERTY_OR_COLLECTION, entityCollectionModel);
-                    container.addOrReplace(collectionPanel);
-
-                    component = getComponentFactoryRegistry().addOrReplaceComponent(container, ID_PROPERTY_OR_COLLECTION, ComponentType.COLLECTION_NAME_AND_CONTENTS, entityCollectionModel);
+                    final WebMarkupContainer container = new WebMarkupContainer(rv.newChildId());
+                    rv.add(container);
+                    container.add(eo.nextClass());
+                    
+                    addCollectionToForm(entityModel, association, container);
                 }
             }
 
@@ -195,6 +190,32 @@ public class EntityPropertiesAndOrCollec
             container.add(eo.nextClass());
         }
 
+		private void addPropertyToForm(final EntityModel entityModel,
+				final ObjectAssociation association,
+				final WebMarkupContainer container) {
+			@SuppressWarnings("unused")
+			Component component;
+			final OneToOneAssociation otoa = (OneToOneAssociation) association;
+			final PropertyMemento pm = new PropertyMemento(otoa);
+
+			final ScalarModel scalarModel = entityModel.getPropertyModel(pm);
+			component = getComponentFactoryRegistry().addOrReplaceComponent(container, ID_PROPERTY_OR_COLLECTION, ComponentType.SCALAR_NAME_AND_VALUE, scalarModel);
+		}
+
+		private void addCollectionToForm(final EntityModel entityModel,
+				final ObjectAssociation association,
+				final WebMarkupContainer container) {
+			@SuppressWarnings("unused")
+			Component component;
+			final OneToManyAssociation otma = (OneToManyAssociation) association;
+
+			final EntityCollectionModel entityCollectionModel = EntityCollectionModel.createParented(entityModel, otma);
+			final CollectionPanel collectionPanel = new CollectionPanel(ID_PROPERTY_OR_COLLECTION, entityCollectionModel);
+			container.addOrReplace(collectionPanel);
+
+			component = getComponentFactoryRegistry().addOrReplaceComponent(container, ID_PROPERTY_OR_COLLECTION, ComponentType.COLLECTION_NAME_AND_CONTENTS, entityCollectionModel);
+		}
+
         @SuppressWarnings("unchecked")
         private List<ObjectAssociation> visibleAssociations(final ObjectAdapter adapter, final ObjectSpecification noSpec) {
             return noSpec.getAssociations(visibleAssociationFilter(adapter));

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/summary/EntitySummaryPanel.css
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/summary/EntitySummaryPanel.css?rev=1355960&r1=1355959&r2=1355960&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/summary/EntitySummaryPanel.css (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/blocks/summary/EntitySummaryPanel.css Sun Jul  1 17:31:20 2012
@@ -28,7 +28,6 @@ div.entitySummary .iconAndTitle {
 }
 
 div.entitySummary .actions {
-    float:left;
     padding:1em;
 }
 

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.css
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.css?rev=1355960&r1=1355959&r2=1355960&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.css (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.css Sun Jul  1 17:31:20 2012
@@ -40,3 +40,13 @@
 
 .entityCombined .entityCollections {
 }
+
+#entityPropertiesForLayout {
+	float: left;
+	width: 47%
+}
+
+#entityCollectionsForLayout {
+	float: right;
+	width: 47%
+}
\ No newline at end of file

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.html
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.html?rev=1355960&r1=1355959&r2=1355960&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.html (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.html Sun Jul  1 17:31:20 2012
@@ -22,7 +22,12 @@
 <wicket:panel>
 	<div class="entityCombined">
 		<div wicket:id="entitySummary" />
-		<div wicket:id="entityPropertiesAndCollections"/>
+		<div id="entityPropertiesForLayout">
+			<div wicket:id="entityProperties"/>
+		</div>
+		<div id="entityCollectionsForLayout">
+			<div wicket:id="entityCollectionsReadOnlyForm"/>
+		</div>
 	</div>
 </wicket:panel>
 </body>

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.java?rev=1355960&r1=1355959&r2=1355960&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.java Sun Jul  1 17:31:20 2012
@@ -40,6 +40,7 @@ public class EntityCombinedPanel extends
         final EntityModel model = getModel();
 
         addOrReplace(ComponentType.ENTITY_SUMMARY, model);
-        addOrReplace(ComponentType.ENTITY_PROPERTIES_AND_COLLECTIONS, model);
+        addOrReplace(ComponentType.ENTITY_PROPERTIES, model);
+        addOrReplace(ComponentType.ENTITY_COLLECTIONS_READ_ONLY_FORM, model);
     }
 }

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/noapplib/IsisDatePanel.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/noapplib/IsisDatePanel.java?rev=1355960&r1=1355959&r2=1355960&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/noapplib/IsisDatePanel.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/noapplib/IsisDatePanel.java Sun Jul  1 17:31:20 2012
@@ -40,7 +40,7 @@ public class IsisDatePanel extends Scala
     private static final long serialVersionUID = 1L;
 
     private static final String ID_SCALAR_VALUE = "scalarValue";
-    private static final String DATE_PATTERN = "MM/dd/yyyy"; // TODO: i18n
+    private static final String DATE_PATTERN = "MM/dd/yyyy"; // TODO: i18n, see for example http://apache-wicket.1842946.n4.nabble.com/DatePicker-format-td1847739.html
 
     public IsisDatePanel(final String id, final ScalarModel scalarModel) {
         super(id, scalarModel);

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuPanel.css
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuPanel.css?rev=1355960&r1=1355959&r2=1355960&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuPanel.css (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuPanel.css Sun Jul  1 17:31:20 2012
@@ -32,7 +32,7 @@
 */
 
 #applicationActions .menuh {
-	background-color: #C4D9EA;
+	background-color: #EEEEEE;
 }
 	 
 .menuh
@@ -57,7 +57,7 @@
 .menuh a, .menuh p {
 	text-align: left;
 	display:block;
-	border: 1px  #bfaea6 solid;
+	border: 1px  #00477F solid;
 	white-space:nowrap;
 	margin:0em;
 	padding: 1px;
@@ -69,8 +69,8 @@
 	
 .menuh a:link, .menuh a:visited, .menuh a:active, .menuh p	/* menu at rest */
 	{
-	color: #A66144;
-	background-color: #C4D9EA;
+	color: #00477F;
+	background-color: #EEEEEE;
 	text-decoration:none;
 /*	-moz-border-radius: 6px; 
 	-webkit-border-radius: 6px;

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLink.css
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLink.css?rev=1355960&r1=1355959&r2=1355960&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLink.css (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/entitylink/EntityLink.css Sun Jul  1 17:31:20 2012
@@ -24,7 +24,7 @@
 a.entityDetailsLink {
 	text-align: left;
 	display:inline;
-	border: 1px  #bfaea6 solid;
+	border: 1px  #00477F solid;
 	white-space:nowrap;
 	margin:0em;
 	padding: 1px;
@@ -33,8 +33,8 @@ a.entityDetailsLink {
 	font-weight: normal;
 	cursor:default;
 	
-	color: #A66144;
-	background-color: #C4D9EA;
+	color: #00477F;
+	background-color: #EEEEEE;
 	text-decoration:none;
 /*	-moz-border-radius: 6px;
 	-webkit-border-radius: 6px;

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.css
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.css?rev=1355960&r1=1355959&r2=1355960&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.css (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/valuechoices/ValueChoicesPanel.css Sun Jul  1 17:31:20 2012
@@ -20,7 +20,7 @@
 a.valueDetailsLink {
 	text-align: left;
 	display:inline;
-	border: 1px  #bfaea6 solid;
+	border: 1px  #00477F solid;
 	white-space:nowrap;
 	margin:0em;
 	padding: 1px;
@@ -29,8 +29,8 @@ a.valueDetailsLink {
 	font-weight: normal;
 	cursor:default;
 	
-	color: #A66144;
-	background-color: #C4D9EA;
+	color: #00477F;
+	background-color: #EEEEEE;
 	text-decoration:none;
 /*	-moz-border-radius: 6px;
 	-webkit-border-radius: 6px;

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css?rev=1355960&r1=1355959&r2=1355960&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css Sun Jul  1 17:31:20 2012
@@ -40,8 +40,8 @@
 	margin-left: auto;
 	margin-right: auto;
 	background-color: white;
-	padding: 4px 4px 800px 4px;
-	width: 800px;
+	padding: 4px 4px 4px 4px;
+	/*width: 800px;*/
 }
 
 
@@ -66,10 +66,10 @@
 /**************** ELEMENTS **************/
 
 body {
-	background-color: #C4D9EA;
+	background-color: #EEEEEE;
 	background-image: url('wicket-bg.png');
 	background-repeat: repeat-x;
-	color: #A66144;
+	color: #00477F;
 	font-family: 'Tahoma', 'Lucida Sans', 'Arial', 'Helvetica', 'Sans-serif', 'sans';
 	font-size: 10pt;
 	line-height: 1.4em;
@@ -96,7 +96,7 @@ div {
 }
 
 #footer {
-    background-color: #C4D9EA;
+    background-color: #EEEEEE;
 }
 
 h3 {
@@ -119,7 +119,7 @@ form fieldset .okButton {
 
 
 h1,h2,h3,h4,h5,h6,h7,h8 {
-	color: #A66144;
+	color: #00477F;
 	font-weight: normal;
 }
 
@@ -131,7 +131,7 @@ h1,h2 {
 #extitle {
 	font-size: 12pt;
 	font-weight: bold;
-	color: #A66144;
+	color: #00477F;
 	padding: 10px 10px 10px 10px;
 }
 
@@ -169,7 +169,7 @@ h3 {
 }
 
 a {
-	color: #A66144;
+	color: #00477F;
 	font-weight: bold;
 	text-decoration: none;
 }
@@ -188,13 +188,13 @@ pre {
 }
 
 th {
-	background: #C4D9EA;
+	background: #EEEEEE;
 	color: #407098;
 	font-weight: bold;
 }
 
 tr.b {
-	background: #C4D9EA;
+	background: #EEEEEE;
 }
 
 tr.a {
@@ -245,11 +245,11 @@ fieldset.propertiesAndOrCollections {
 }
 
 .even {
-	background-color: #FFF4D3;
+	background-color: #ffffff; 
 }
 
 .odd {
-	background-color: #C4D9EA;
+	background-color: #eeeeee; 
 }
 
 

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageType.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageType.java?rev=1355960&r1=1355959&r2=1355960&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageType.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageType.java Sun Jul  1 17:31:20 2012
@@ -38,7 +38,7 @@ import org.apache.isis.viewer.wicket.ui.
 public enum PageType {
     SIGN_IN(WebPage.class), 
     HOME(HomePage.class), 
-    ABOUT(AboutPage.class), 
+    //ABOUT(AboutPage.class), 
     ENTITY(EntityPage.class), 
     ACTION(ActionPage.class);
 

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/about/AboutPage.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/about/AboutPage.java?rev=1355960&r1=1355959&r2=1355960&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/about/AboutPage.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/about/AboutPage.java Sun Jul  1 17:31:20 2012
@@ -32,7 +32,7 @@ import org.apache.isis.viewer.wicket.ui.
 public class AboutPage extends PageAbstract {
 
     public AboutPage() {
-        super(new PageParameters(), ComponentType.ABOUT);
+        super(new PageParameters(), ComponentType.ACTION); // TODO: sort out!!!
         final IModel<?> model = buildModel();
         addChildComponents(model);
     }

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/tabs/TabbedPanelAbstract.css
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/tabs/TabbedPanelAbstract.css?rev=1355960&r1=1355959&r2=1355960&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/tabs/TabbedPanelAbstract.css (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/tabs/TabbedPanelAbstract.css Sun Jul  1 17:31:20 2012
@@ -72,7 +72,7 @@ div.tab-panel {
 }
   
 div.tabbedPanel div.tab-row a:hover {
-  color:#A66144;
+  color:#00477F;
 }
   
 div.tabbedPanel div.tab-row a {
@@ -83,8 +83,8 @@ div.tabbedPanel div.tab-row a {
 
 
 div.tabbedPanel div.tab-row li.selected a {
-  color:#A66144;
-  background-color: #C4D9EA;
+  color:#00477F;
+  background-color: #EEEEEE;
   padding-bottom:5px;
  }
  

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryListDefault.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryListDefault.java?rev=1355960&r1=1355959&r2=1355960&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryListDefault.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryListDefault.java Sun Jul  1 17:31:20 2012
@@ -35,6 +35,7 @@ import org.apache.isis.viewer.wicket.ui.
 import org.apache.isis.viewer.wicket.ui.components.collectioncontents.selector.CollectionContentsSelectorFactory;
 import org.apache.isis.viewer.wicket.ui.components.collectioncontents.unresolved.CollectionContentsAsUnresolvedFactory;
 import org.apache.isis.viewer.wicket.ui.components.empty.EmptyCollectionPanelFactory;
+import org.apache.isis.viewer.wicket.ui.components.entity.blocks.propcoll.EntityCollectionsReadOnlyFormPanelFactory;
 import org.apache.isis.viewer.wicket.ui.components.entity.blocks.propcoll.EntityCollectionsPanelFactory;
 import org.apache.isis.viewer.wicket.ui.components.entity.blocks.propcoll.EntityPropertiesAndCollectionsPanelFactory;
 import org.apache.isis.viewer.wicket.ui.components.entity.blocks.propcoll.EntityPropertiesPanelFactory;
@@ -96,7 +97,9 @@ public class ComponentFactoryListDefault
      * are found first.
      */
     protected void addComponentFactoriesActingAsSelectors(final List<ComponentFactory> componentFactories) {
-        componentFactories.add(new EntitySelectorFactory());
+        
+    	componentFactories.add(new EntitySelectorFactory());
+    	
         componentFactories.add(new CollectionContentsSelectorFactory());
         componentFactories.add(new CollectionContentsAsUnresolvedFactory()); // make
                                                                              // first
@@ -140,12 +143,14 @@ public class ComponentFactoryListDefault
 
         // top-level
         componentFactories.add(new EntityCombinedPanelFactory());
-        componentFactories.add(new EntityTabbedPanelFactory());
+//        componentFactories.add(new EntityTabbedPanelFactory());
 
+        
         // lower-level
         componentFactories.add(new EntitySummaryPanelFactory());
         componentFactories.add(new EntityPropertiesPanelFactory());
         componentFactories.add(new EntityCollectionsPanelFactory());
+        componentFactories.add(new EntityCollectionsReadOnlyFormPanelFactory());
         componentFactories.add(new EntityPropertiesAndCollectionsPanelFactory());
     }
 

Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/pages/PageClassListDefault.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/pages/PageClassListDefault.java?rev=1355960&r1=1355959&r2=1355960&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/pages/PageClassListDefault.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/pages/PageClassListDefault.java Sun Jul  1 17:31:20 2012
@@ -40,7 +40,7 @@ public class PageClassListDefault implem
     @Override
     public void registerPages(final PageRegistrySpi pageRegistry) {
         pageRegistry.registerPage(PageType.SIGN_IN, WicketSignInPage.class);
-        pageRegistry.registerPage(PageType.ABOUT, AboutPage.class);
+        //pageRegistry.registerPage(PageType.ABOUT, AboutPage.class);
         pageRegistry.registerPage(PageType.ENTITY, EntityPage.class);
         pageRegistry.registerPage(PageType.HOME, HomePage.class);
         pageRegistry.registerPage(PageType.ACTION, ActionPage.class);