org.activiti.explorer.ui.AbstractOneViewPage Maven / Gradle / Ivy
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.activiti.explorer.ui;
import org.activiti.explorer.ui.custom.ToolBar;
import com.vaadin.ui.Component;
import com.vaadin.ui.GridLayout;
/**
* Superclass for one view pages
*
* @author Tijs Rademakers
*/
public abstract class AbstractOneViewPage extends AbstractPage {
private static final long serialVersionUID = 1L;
/**
* Override this method (and call super()) when you want to influence the UI.
*/
protected void initUi() {
addMainLayout();
setSizeFull();
addMenuBar();
}
/**
* Subclasses are expected to provide their own menuBar.
*/
protected void addMenuBar() {
// Remove any old menu bar
String activeEntry = null;
if (toolBar != null) {
activeEntry = toolBar.getCurrentEntryKey();
grid.removeComponent(toolBar);
}
// Create menu bar
ToolBar menuBar = createMenuBar();
if (menuBar != null) {
toolBar = createMenuBar();
grid.addComponent(toolBar, 0, 0);
if (activeEntry != null) {
toolBar.setActiveEntry(activeEntry);
}
}
}
protected void addMainLayout() {
grid = new GridLayout(1, 2);
grid.setSizeFull();
// Height division
grid.setRowExpandRatio(1, 1.0f);
setCompositionRoot(grid);
}
protected void setDetailComponent(Component detail) {
if (grid.getComponent(0, 1) != null) {
grid.removeComponent(0, 1);
}
if (detail != null) {
grid.addComponent(detail, 0, 1);
}
}
protected Component getDetailComponent() {
return grid.getComponent(0, 1);
}
}