@Override public void execute() { // try to fit to the content size int maxWidth = Window.getClientWidth() - 20; // 20 pixels of // margin int w = Math.max( ResizablePanelBad.this.getOffsetWidth(), Math.max( contentWidget.getElement().getScrollWidth(), contentWidget.getElement().getOffsetWidth() ) ) + resizeHandlerSize * 2; if( w > maxWidth ) w = maxWidth; int maxHeight = Window.getClientHeight() - 20; int h = Math.max( ResizablePanelBad.this.getOffsetHeight(), Math.max( contentWidget.getElement().getScrollHeight(), contentWidget.getElement().getOffsetHeight() ) ) + resizeHandlerSize * 2 + titleSize; if( h > maxHeight ) h = maxHeight; PositionAndSize posSize = new PositionAndSize( (Window.getClientWidth() - w) / 2, (Window.getClientHeight() - h) / 2, w, h ); posSize.limit(); RootLayoutPanel.get().setWidgetLeftWidth( ResizablePanelBad.this, posSize.left, Unit.PX, posSize.width, Unit.PX ); RootLayoutPanel.get().setWidgetTopHeight( ResizablePanelBad.this, posSize.top, Unit.PX, posSize.height, Unit.PX ); RootLayoutPanel.get().animate( 300 ); } } );
@Override public void execute() { // try to fit to the content size int maxWidth = Window.getClientWidth() - 20; // 20 pixels of // margin int w = Math.max( ResizablePanelBad.this.getOffsetWidth(), Math.max( contentWidget.getElement().getScrollWidth(), contentWidget.getElement().getOffsetWidth() ) ) + resizeHandlerSize * 2; if( w > maxWidth ) w = maxWidth; int maxHeight = Window.getClientHeight() - 20; int h = Math.max( ResizablePanelBad.this.getOffsetHeight(), Math.max( contentWidget.getElement().getScrollHeight(), contentWidget.getElement().getOffsetHeight() ) ) + resizeHandlerSize * 2 + titleSize; if( h > maxHeight ) h = maxHeight; PositionAndSize posSize = new PositionAndSize( (Window.getClientWidth() - w) / 2, (Window.getClientHeight() - h) / 2, w, h ); posSize.limit(); RootLayoutPanel.get().setWidgetLeftWidth( ResizablePanelBad.this, posSize.left, Unit.PX, posSize.width, Unit.PX ); RootLayoutPanel.get().setWidgetTopHeight( ResizablePanelBad.this, posSize.top, Unit.PX, posSize.height, Unit.PX ); RootLayoutPanel.get().animate( 300 ); } } );
posSize.limit(); RootLayoutPanel.get().setWidgetLeftWidth( ResizablePanelBad.this, posSize.left, Unit.PX, posSize.width, Unit.PX ); RootLayoutPanel.get().setWidgetTopHeight( ResizablePanelBad.this, posSize.top, Unit.PX, posSize.height, Unit.PX ); posSize.limit(); RootLayoutPanel.get().setWidgetLeftWidth( ResizablePanelBad.this, posSize.left, Unit.PX, posSize.width, Unit.PX ); posSize.limit(); RootLayoutPanel.get().setWidgetLeftWidth( ResizablePanelBad.this, posSize.left, Unit.PX, posSize.width, Unit.PX );
posSize.limit(); RootLayoutPanel.get().setWidgetLeftWidth( ResizablePanelBad.this, posSize.left, Unit.PX, posSize.width, Unit.PX ); RootLayoutPanel.get().setWidgetTopHeight( ResizablePanelBad.this, posSize.top, Unit.PX, posSize.height, Unit.PX ); posSize.limit(); RootLayoutPanel.get().setWidgetLeftWidth( ResizablePanelBad.this, posSize.left, Unit.PX, posSize.width, Unit.PX ); posSize.limit(); RootLayoutPanel.get().setWidgetLeftWidth( ResizablePanelBad.this, posSize.left, Unit.PX, posSize.width, Unit.PX );
@Override public void onResize() { int left = ResizablePanelBad.this.getAbsoluteLeft(); int top = ResizablePanelBad.this.getAbsoluteTop(); int width = ResizablePanelBad.this.getOffsetWidth(); int height = ResizablePanelBad.this.getOffsetHeight(); PositionAndSize posSize = new PositionAndSize( left, top, width, height ); boolean needAdjustment = posSize.limit(); if( needAdjustment ) { GWT.log( "onResize => re-resize !" ); RootLayoutPanel.get().setWidgetLeftWidth( ResizablePanelBad.this, posSize.left, Unit.PX, posSize.width, Unit.PX ); RootLayoutPanel.get().setWidgetTopHeight( ResizablePanelBad.this, posSize.top, Unit.PX, posSize.height, Unit.PX ); return; } for( Widget child : getChildren() ) { if( child instanceof RequiresResize ) { ((RequiresResize) child).onResize(); } } }
@Override public void onResize() { int left = ResizablePanelBad.this.getAbsoluteLeft(); int top = ResizablePanelBad.this.getAbsoluteTop(); int width = ResizablePanelBad.this.getOffsetWidth(); int height = ResizablePanelBad.this.getOffsetHeight(); PositionAndSize posSize = new PositionAndSize( left, top, width, height ); boolean needAdjustment = posSize.limit(); if( needAdjustment ) { GWT.log( "onResize => re-resize !" ); RootLayoutPanel.get().setWidgetLeftWidth( ResizablePanelBad.this, posSize.left, Unit.PX, posSize.width, Unit.PX ); RootLayoutPanel.get().setWidgetTopHeight( ResizablePanelBad.this, posSize.top, Unit.PX, posSize.height, Unit.PX ); return; } for( Widget child : getChildren() ) { if( child instanceof RequiresResize ) { ((RequiresResize) child).onResize(); } } }
posSize.limit(); RootLayoutPanel.get().setWidgetLeftWidth( this, posSize.left, Unit.PX, posSize.width, Unit.PX ); RootLayoutPanel.get().setWidgetTopHeight( this, posSize.top, Unit.PX, posSize.height, Unit.PX );
posSize.limit(); RootLayoutPanel.get().setWidgetLeftWidth( this, posSize.left, Unit.PX, posSize.width, Unit.PX ); RootLayoutPanel.get().setWidgetTopHeight( this, posSize.top, Unit.PX, posSize.height, Unit.PX );