Added custom portal view
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-portlet@73905 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
0c78725475
commit
ef56fdc786
|
@ -0,0 +1,118 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package org.gcube.portlets.user.td.client;
|
||||||
|
|
||||||
|
import com.allen_sauer.gwt.log.client.Log;
|
||||||
|
import com.google.gwt.core.client.GWT;
|
||||||
|
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||||
|
import com.google.gwt.user.client.Window;
|
||||||
|
import com.sencha.gxt.core.client.dom.XDOM;
|
||||||
|
import com.sencha.gxt.widget.core.client.container.SimpleContainer;
|
||||||
|
import com.sencha.gxt.widget.core.client.container.Viewport.ViewportAppearance;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author "Federico De Faveri defaveri@isti.cnr.it"
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class PortalViewport extends SimpleContainer {
|
||||||
|
|
||||||
|
protected int rightScrollBarSize = 17;
|
||||||
|
|
||||||
|
protected boolean enableScroll;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a viewport layout container with the default appearance.
|
||||||
|
*/
|
||||||
|
public PortalViewport() {
|
||||||
|
this(GWT.<ViewportAppearance> create(ViewportAppearance.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a viewport layout container with the specified appearance.
|
||||||
|
*
|
||||||
|
* @param appearance the appearance of the viewport layout container
|
||||||
|
*/
|
||||||
|
public PortalViewport(ViewportAppearance appearance) {
|
||||||
|
super(true);
|
||||||
|
SafeHtmlBuilder sb = new SafeHtmlBuilder();
|
||||||
|
appearance.render(sb);
|
||||||
|
setElement(XDOM.create(sb.toSafeHtml()));
|
||||||
|
monitorWindowResize = true;
|
||||||
|
getFocusSupport().setIgnore(false);
|
||||||
|
resize();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns true if window scrolling is enabled.
|
||||||
|
*
|
||||||
|
* @return true if window scrolling is enabled
|
||||||
|
*/
|
||||||
|
public boolean getEnableScroll() {
|
||||||
|
return enableScroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets whether window scrolling is enabled.
|
||||||
|
*
|
||||||
|
* @param enableScroll true to enable window scrolling
|
||||||
|
*/
|
||||||
|
public void setEnableScroll(boolean enableScroll) {
|
||||||
|
this.enableScroll = enableScroll;
|
||||||
|
Window.enableScrolling(enableScroll);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the rightScrollBarSize
|
||||||
|
*/
|
||||||
|
public int getRightScrollBarSize() {
|
||||||
|
return rightScrollBarSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param rightScrollBarSize the rightScrollBarSize to set
|
||||||
|
*/
|
||||||
|
public void setRightScrollBarSize(int rightScrollBarSize) {
|
||||||
|
this.rightScrollBarSize = rightScrollBarSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onAttach() {
|
||||||
|
setEnableScroll(enableScroll);
|
||||||
|
resize();
|
||||||
|
super.onAttach();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void resize()
|
||||||
|
{
|
||||||
|
int viewWidth = calculateWidth() - rightScrollBarSize;
|
||||||
|
int viewHeight = calculateHeight();
|
||||||
|
Log.trace("resize viewWidth: "+viewWidth+" viewHeight: "+viewHeight+" clientWidth: "+Window.getClientWidth()+" clientHeight: "+Window.getClientHeight());
|
||||||
|
setPixelSize(viewWidth, viewHeight);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected void onWindowResize(int width, int height) {
|
||||||
|
int viewWidth = calculateWidth();
|
||||||
|
int viewHeight = calculateHeight();
|
||||||
|
Log.trace("onWindowResize viewWidth: "+viewWidth+" viewHeight: "+viewHeight+" clientWidth: "+Window.getClientWidth()+" clientHeight: "+Window.getClientHeight());
|
||||||
|
setPixelSize(viewWidth, viewHeight);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected int calculateWidth()
|
||||||
|
{
|
||||||
|
int leftBorder = getAbsoluteLeft();
|
||||||
|
return Window.getClientWidth() - 2 * leftBorder;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected int calculateHeight()
|
||||||
|
{
|
||||||
|
int topBorder = getAbsoluteTop();
|
||||||
|
return Window.getClientHeight() - topBorder - 34;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue