![JAR search and dependency download from the Maven repository](/logo.png)
com.extjs.gxt.ui.client.widget.Viewport Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gxt Show documentation
Show all versions of gxt Show documentation
Rich Internet Application Framework for GWT
/*
* Sencha GXT 2.3.0 - Sencha for GWT
* Copyright(c) 2007-2013, Sencha, Inc.
* [email protected]
*
* http://www.sencha.com/products/gxt/license/
*/
package com.extjs.gxt.ui.client.widget;
import com.extjs.gxt.ui.client.GXT;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.Window;
/**
* A LayoutContainer that fills the browser window and monitors window resizing.
* Viewports are best used for applications that will fill the browser without
* window scrolling. Children of the viewport can allow scrolling.
*
* Code snippet:
*
*
* Viewport viewport = new Viewport();
* viewport.add(new ContentPanel(), new MarginData(10));
* RootPanel.get().add(viewport);
*
*
*
* The viewport is not added to the root panel automatically. Is is not
* necessary to call {@link #layout()} after adding the viewport to the
* RootPanel. Layout will be called after being added to the root panel.
*
*
* - Inherited Events:
* - LayoutContainer AfterLayout
*
- ScrollContainer Scroll
* - Container BeforeAdd
* - Container Add
* - Container BeforeRemove
* - Container Remove
* - BoxComponent Move
* - BoxComponent Resize
* - Component Enable
* - Component Disable
* - Component BeforeHide
* - Component Hide
* - Component BeforeShow
* - Component Show
* - Component Attach
* - Component Detach
* - Component BeforeRender
* - Component Render
* - Component BrowserEvent
* - Component BeforeStateRestore
* - Component StateRestore
* - Component BeforeStateSave
* - Component SaveState
*
*/
public class Viewport extends LayoutContainer {
private String loadingPanelId = "loading";
private boolean enableScroll;
public Viewport() {
monitorWindowResize = true;
baseStyle = "x-viewport";
getFocusSupport().setIgnore(false);
}
/**
* Returns the window resizing state.
*
* @return true if window scrolling is enabled
*/
public boolean getEnableScroll() {
return enableScroll;
}
/**
* The loading panel id.
*
* @return the id
*/
public String getLoadingPanelId() {
return loadingPanelId;
}
public void onAttach() {
setEnableScroll(enableScroll);
setSize(Window.getClientWidth(), Window.getClientHeight());
super.onAttach();
GXT.hideLoadingPanel(loadingPanelId);
}
/**
* Sets whether window scrolling is enabled.
*
* @param enableScroll the window scroll state
*/
public void setEnableScroll(boolean enableScroll) {
this.enableScroll = enableScroll;
Window.enableScrolling(enableScroll);
}
/**
* The element id of the loading panel which will be hidden when the viewport
* is attached (defaults to 'loading').
*
* @param loadingPanelId the loading panel element id
*/
public void setLoadingPanelId(String loadingPanelId) {
this.loadingPanelId = loadingPanelId;
}
@Override
protected void onRender(Element parent, int index) {
super.onRender(parent, 0);
}
@Override
protected void onWindowResize(int width, int height) {
setSize(width, height);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy