solving layout problems related to hight and scrolling
authorAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Fri, 20 Oct 2017 16:04:34 +0000 (18:04 +0200)
committerAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Fri, 20 Oct 2017 16:04:34 +0000 (18:04 +0200)
src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/RegistrationWorksetViewBean.java
src/main/java/eu/etaxonomy/vaadin/ui/view/ViewAreaBean.java

index fb592acee0a34783ccc7f7e611335449294a6ea9..e89a55fff7639cf82f19aa9b3ec85b095d79b38a 100644 (file)
@@ -143,6 +143,7 @@ public class RegistrationWorksetViewBean extends AbstractPageView<RegistrationWo
         addContentComponent(workingsetHeader, null);
 
         registrationListPanel = createRegistrationsList(workingset);
+        registrationListPanel.setHeight("100%");
         registrationListPanel.setStyleName("registration-list");
         registrationListPanel.setCaption("Registrations");
         addContentComponent(registrationListPanel, 1.0f);
@@ -210,7 +211,6 @@ public class RegistrationWorksetViewBean extends AbstractPageView<RegistrationWo
         registrationsGrid.setComponentAlignment(buttonContainer, Alignment.MIDDLE_RIGHT);
 
         Panel namesTypesPanel = new Panel(registrationsGrid);
-        namesTypesPanel.setSizeFull();
         return namesTypesPanel;
     }
 
index 6b800d1af14257413ac3b5c57a1b4a872419480c..170bd67711ae797288288ae9a1355fa6b2108b4e 100644 (file)
@@ -4,11 +4,12 @@ import org.springframework.beans.factory.annotation.Autowired;
 
 import com.vaadin.navigator.View;
 import com.vaadin.navigator.ViewDisplay;
+import com.vaadin.shared.ui.MarginInfo;
 import com.vaadin.spring.annotation.SpringComponent;
 import com.vaadin.spring.annotation.UIScope;
 import com.vaadin.ui.Component;
-import com.vaadin.ui.CssLayout;
 import com.vaadin.ui.HorizontalLayout;
+import com.vaadin.ui.VerticalLayout;
 
 import eu.etaxonomy.cdm.vaadin.toolbar.Toolbar;
 import eu.etaxonomy.vaadin.ui.MainMenu;
@@ -32,23 +33,21 @@ class ViewAreaBean extends HorizontalLayout implements ViewDisplay, ToolbarDispl
 
        private Component toolbar = null;
 
-       private CssLayout contentArea;
+       // private VerticalLayout contentArea;
 
-       private CssLayout mainArea;
+       private VerticalLayout mainArea;
+
+       private Component currentViewComponent = null;
 
     public ViewAreaBean() {
 
         setSizeFull();
 
-        mainArea = new CssLayout();
+        mainArea = new VerticalLayout();
         mainArea.setPrimaryStyleName("valo-toolbar");
         mainArea.setSizeFull();
-        contentArea = new CssLayout();
-        contentArea.setPrimaryStyleName("valo-content");
-        contentArea.addStyleName("v-scrollable");
-        contentArea.setSizeFull();
+        mainArea.setMargin(new MarginInfo(false, false, true, false));
 
-        mainArea.addComponent(contentArea);
         addComponent(mainArea);
         setExpandRatio(mainArea, 1);
     }
@@ -70,8 +69,12 @@ class ViewAreaBean extends HorizontalLayout implements ViewDisplay, ToolbarDispl
 
        @Override
        public void showView(View view) {
-               contentArea.removeAllComponents();
-               contentArea.addComponent(Component.class.cast(view));
+           if(currentViewComponent != null){
+               mainArea.removeComponent(currentViewComponent);
+           }
+           currentViewComponent = Component.class.cast(view);
+           mainArea.addComponent(currentViewComponent);
+           mainArea.setExpandRatio(Component.class.cast(view), 1);
        }
 
 }