package org.aplikator.client.local.panels;
import org.gwtbootstrap3.client.ui.Column;
import org.gwtbootstrap3.client.ui.Row;
import org.gwtbootstrap3.client.ui.constants.ColumnSize;
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Label;
public class ContentsPanel extends Composite implements AcceptsOneWidget {
public interface ContentsPanelResources extends ClientBundle {
public static final ContentsPanelResources INSTANCE = GWT.create(ContentsPanelResources.class);
@Source("ContentsPanel.css")
public ContentsPanelCss css();
}
public interface ContentsPanelCss extends CssResource {
public String contentsHeader();
public String contentsFrame();
public String contentsHolder();
}
static {
ContentsPanelResources.INSTANCE.css().ensureInjected();
}
private Row headerPanel = new Row();
private Row contents = new Row();
private Label headerText = new Label();
private Column holder = new Column(ColumnSize.XS_12);
public ContentsPanel() {
headerPanel.add(headerText);
// headerPanel.setWidth("100%");
// headerPanel.setHeight("2em");
// headerPanel.getElement().getStyle().setPosition(Position.RELATIVE);
// contents.getElement().getStyle().setPosition(Position.RELATIVE);
// ScrollPanel scroller = new ScrollPanel(contents);
// contents.setSize("100%", "100%");
holder.add(headerPanel);
holder.add(contents);
initWidget(holder);
//headerPanel.setStyleName(ContentsPanelResources.INSTANCE.css().contentsHeader());
//holder.setStyleName(ContentsPanelResources.INSTANCE.css().contentsFrame());
//contents.setStyleName(ContentsPanelResources.INSTANCE.css().contentsHolder());
}
public void setWidget(IsWidget wdgt) {
contents.clear();
if (wdgt != null) {
contents.add(wdgt);
}
}
public void setTitle(String title) {
headerText.setText(title);
}
/**
* Adjusts the widget's size such that it fits within the window's client
* area.
*/
/*
* public void adjustSize(int windowWidth, int windowHeight) { int
* scrollWidth = windowWidth - holder.getAbsoluteLeft() - 3; if (scrollWidth
* < 1) { scrollWidth = 1; }
*
* int scrollHeight = windowHeight - holder.getAbsoluteTop() - 3; if
* (scrollHeight < 1) { scrollHeight = 1; }
*
* holder.setPixelSize(scrollWidth, scrollHeight); }
*/
}