package com.akjava.gwt.lib.client.experimental;
import com.akjava.gwt.html5.client.file.ui.DropDockDataArrayRootPanel;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.Widget;
public abstract class VisibleControlableDropDockDataArrayRootPanel extends DropDockDataArrayRootPanel{
private Panel topPanel;
private Widget rightPanel;
private Panel leftPanel;
private Panel bottomPanel;
private Panel centerPanel;
public void setCenterPanel(Panel centerPanel) {
this.centerPanel = centerPanel;
}
private int topSize;
private int rightSize;
private int leftSize;
private int bottomSize;
private boolean topPanelVisible;
private boolean bottomPanelVisible;
private boolean leftPanelVisible;
private boolean rightPanelVisible;
public void setVisiblePanels(boolean topPanelVisible,boolean bottomPanelVisible,boolean leftPanelVisible,boolean rightPanelVisible){
this.clear();
this.topPanelVisible=topPanelVisible;
this.bottomPanelVisible=bottomPanelVisible;
this.leftPanelVisible=leftPanelVisible;
this.rightPanelVisible=rightPanelVisible;
if(topPanel!=null && topPanelVisible){
addNorth(topPanel, topSize);
topPanel.setSize("100%","100%");
}
if(bottomPanel!=null && bottomPanelVisible){
addSouth(bottomPanel, bottomSize);
topPanel.setSize("100%","100%");
}
if(leftPanel!=null && leftPanelVisible){
addWest(leftPanel, leftSize);
leftPanel.setSize("100%","100%");
}
if(rightPanel!=null && rightPanelVisible){
addEast(rightPanel, rightSize);
rightPanel.setSize("100%","100%");
}
add(centerPanel);//center always show
}
public void setTop(Panel topPanel,int topSize){
this.topPanel=topPanel;
this.topSize=topSize;
}
public void setBottom(Panel bottomPanel,int bottomSize){
this.bottomPanel=bottomPanel;
this.bottomSize=bottomSize;
}
public void setRight(Widget rightPanel,int rightSize){
this.rightPanel=rightPanel;
this.rightSize=rightSize;
}
public void setLeft(Panel leftPanel,int leftSize){
this.leftPanel=leftPanel;
this.leftSize=leftSize;
}
public void switchRight(){
setVisiblePanels(topPanelVisible, bottomPanelVisible, leftPanelVisible, !rightPanelVisible);
}
//TODO more
}