Thank you for reporting this bug. We will make it our priority to review this report.
  1. #1
    Sencha User
    Join Date
    Jan 2013
    Posts
    4
    Vote Rating
    0
    unconsionable is on a distinguished road

      0  

    Default Bug with BorderLayoutContainer (gxt 3.0.1)

    Bug with BorderLayoutContainer (gxt 3.0.1)


    I need global vertical scroller on BorderLayoutContainer (not only for center child). I add west, south, east, north and center zones to BorderLayoutContainer. On west, south, east, north zones I put ContentPanel. On CenterZone I put VerticalLayoutContainer. If BorderLayouContainer height = -1 I have incorrect behavior of components.

    Example code:
    Code:
    <!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
    
    
    <ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder' 
        xmlns:container="urn:import:com.sencha.gxt.widget.core.client.container"
        xmlns:gxt="urn:import:com.sencha.gxt.widget.core.client" 
        xmlns:g="urn:import:com.google.gwt.user.client.ui"
        xmlns:button="urn:import:com.sencha.gxt.widget.core.client.button"
        xmlns:form='urn:import:com.sencha.gxt.widget.core.client.form'>
    
    
    	<ui:with type="com.sencha.gxt.core.client.util.Margins" field="outerMargins">
        	<ui:attributes top="0" right="0" bottom="0" left="0" />
      	</ui:with>
      	
    	<ui:with type="com.sencha.gxt.widget.core.client.container.BorderLayoutContainer.BorderLayoutData" field="northData" />
    	<ui:with type="com.sencha.gxt.widget.core.client.container.BorderLayoutContainer.BorderLayoutData" field="westData" />
    	<ui:with type="com.sencha.gxt.widget.core.client.container.BorderLayoutContainer.BorderLayoutData" field="centerData" />
    	<ui:with type="com.sencha.gxt.widget.core.client.container.BorderLayoutContainer.BorderLayoutData" field="eastData" />
    	<ui:with type="com.sencha.gxt.widget.core.client.container.BorderLayoutContainer.BorderLayoutData" field="southData" />
     
    	<container:BorderLayoutContainer ui:field="con" borders="true" pixelSize="-1, -1">
    		
    		<container:north layoutData="{northData}">
    			<gxt:ContentPanel>
    			    <g:Label text="north zone"/>    
    			</gxt:ContentPanel>
    		</container:north>
    		
    		<container:west layoutData="{westData}">
    			<gxt:ContentPanel>
    				<g:Label text="west zone"/>    
    			</gxt:ContentPanel>
    		</container:west>
    		
    		<container:center layoutData="{centerData}">
    		    <container:VerticalLayoutContainer ui:field="centerContainer" pixelSize="-1, -1"/>
    		</container:center>
    		
    		<container:east layoutData="{eastData}">
    			<gxt:ContentPanel>
    			    <g:Label text="east zone"/>    
    			</gxt:ContentPanel>
    		</container:east>
    		
    		<container:south layoutData="{southData}">
    			<gxt:ContentPanel pixelSize="1024, 300">
    			    <g:Label text="south zone"/>    
    			</gxt:ContentPanel>
    		</container:south>
    		
    	</container:BorderLayoutContainer>
    		
    </ui:UiBinder>
    Code:
    import com.google.gwt.core.client.EntryPoint;
    import com.google.gwt.core.client.GWT;
    import com.google.gwt.uibinder.client.UiBinder;
    import com.google.gwt.uibinder.client.UiField;
    import com.google.gwt.user.client.ui.Composite;
    import com.google.gwt.user.client.ui.RootPanel;
    import com.google.gwt.user.client.ui.Widget;
    import com.sencha.gxt.core.client.util.Margins;
    import com.sencha.gxt.widget.core.client.button.TextButton;
    import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
    import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData;
    
    
    public class TestBinder extends Composite implements EntryPoint {
    
    
    	private static TestBinderUiBinder uiBinder = GWT
    			.create(TestBinderUiBinder.class);
    
    
    	interface TestBinderUiBinder extends UiBinder<Widget, TestBinder> {
    	}
    
    
    	@UiField
    	VerticalLayoutContainer centerContainer;
    	
    	public TestBinder() {
    		initWidget(uiBinder.createAndBindUi(this));
    		
    		for (int i=0; i<100; i++){
    			centerContainer.add(new TextButton(String.valueOf(i)), new VerticalLayoutData(1, 25, new Margins(4)));
    		}	
    	}
    
    
    	@Override
    	public void onModuleLoad() {
    		RootPanel.get().add(new TestBinder());
    	}
    }
    Untitled.jpg

    I do not see footer container, west and east zones height are reduced to the minimum.

  2. #2
    Sencha - GXT Dev Team
    Join Date
    Feb 2009
    Location
    Minnesota
    Posts
    2,634
    Vote Rating
    80
    Colin Alworth is just really nice Colin Alworth is just really nice Colin Alworth is just really nice Colin Alworth is just really nice Colin Alworth is just really nice

      0  

    Default


    I think this is the expected behavior. You haven't assigned a size to the BorderLC, so it doesn't know which container to use to size the other two (center, east, west).

    The problem with following the html flow layout (i.e. letting the contents size the parent) is that it doesn't issue any events - there is no way for the east/west to be notified if center has grown. I believe you could use ResizeLayoutPanel to be notified when it changes size (using various browser specific tweaks), and then to notify each other child of the new height to work with, but this is not a built in use case.

Thread Participants: 1

film izle

hd film izle

film sitesi

takipci kazanma sitesi

takipci kazanma sitesi

güzel olan herşey

takipci alma sitesi

komik eğlenceli videolar