Java tutorial
/* * Copyright 2014 Alen Caljkusic. * * 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 com.zklogtool.web.components; import java.io.File; import com.vaadin.annotations.AutoGenerated; import com.vaadin.server.UserError; import com.vaadin.ui.AbsoluteLayout; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickListener; import com.vaadin.ui.CheckBox; import com.vaadin.ui.CustomComponent; import com.vaadin.ui.HorizontalLayout; import com.vaadin.ui.TabSheet; import com.vaadin.ui.TabSheet.Tab; import com.vaadin.ui.TextField; import com.vaadin.ui.VerticalLayout; import com.vaadin.ui.Window; public class OpenTransactionLogFileDialog extends CustomComponent { /*- VaadinEditorProperties={"grid":"RegularGrid,20","showGrid":true,"snapToGrid":true,"snapToObject":true,"movingGuides":false,"snappingDistance":10} */ @AutoGenerated private AbsoluteLayout mainLayout; @AutoGenerated private VerticalLayout verticalLayout_1; @AutoGenerated private Button openButton; @AutoGenerated private HorizontalLayout horizontalLayout_1; @AutoGenerated private CheckBox startFromLastCheckbox; @AutoGenerated private CheckBox followCheckbox; @AutoGenerated private TextField snapshotDirectoryLabel; @AutoGenerated private TextField transactionLogFileLabel; @AutoGenerated private TextField nameLabel; public OpenTransactionLogFileDialog(final TabSheet displayTabSheet, final Window windowHandle) { buildMainLayout(); setCompositionRoot(mainLayout); openButton.addClickListener(new ClickListener() { @Override public void buttonClick(com.vaadin.ui.Button.ClickEvent event) { File transactionLogFile = new File(transactionLogFileLabel.getValue()); File snapshotDir = new File(snapshotDirectoryLabel.getValue()); if (!transactionLogFile.isFile() && !transactionLogFile.isDirectory()) { transactionLogFileLabel.setComponentError(new UserError("IO problem")); return; } if (snapshotDirectoryLabel.getValue() != null && !snapshotDirectoryLabel.getValue().isEmpty() && !snapshotDir.isDirectory()) { snapshotDirectoryLabel.setComponentError(new UserError("IO problem")); return; } TransactionLogView transactionLogView = new TransactionLogView(transactionLogFile, snapshotDir, followCheckbox.getValue(), startFromLastCheckbox.getValue(), displayTabSheet, nameLabel.getValue()); HorizontalLayout horizontalLayout = new HorizontalLayout(); horizontalLayout.setCaption(nameLabel.getValue()); horizontalLayout.addComponent(transactionLogView); horizontalLayout.setWidth("100%"); horizontalLayout.setHeight("100%"); Tab transactionLogTab = displayTabSheet.addTab(horizontalLayout); transactionLogTab.setClosable(true); displayTabSheet.setSelectedTab(transactionLogTab); windowHandle.close(); } }); } @AutoGenerated private AbsoluteLayout buildMainLayout() { // common part: create layout mainLayout = new AbsoluteLayout(); mainLayout.setImmediate(false); mainLayout.setWidth("100%"); mainLayout.setHeight("100%"); // top-level component properties setWidth("100.0%"); setHeight("100.0%"); // verticalLayout_1 verticalLayout_1 = buildVerticalLayout_1(); mainLayout.addComponent(verticalLayout_1, "top:0.0px;left:0.0px;"); return mainLayout; } @AutoGenerated private VerticalLayout buildVerticalLayout_1() { // common part: create layout verticalLayout_1 = new VerticalLayout(); verticalLayout_1.setImmediate(false); verticalLayout_1.setWidth("-1px"); verticalLayout_1.setHeight("-1px"); verticalLayout_1.setMargin(true); verticalLayout_1.setSpacing(true); // nameLabel nameLabel = new TextField(); nameLabel.setCaption("Name"); nameLabel.setImmediate(false); nameLabel.setWidth("-1px"); nameLabel.setHeight("-1px"); nameLabel.setRequired(true); verticalLayout_1.addComponent(nameLabel); // transactionLogFileLabel transactionLogFileLabel = new TextField(); transactionLogFileLabel .setCaption("Transaction log file or directory containing transaction log files to open"); transactionLogFileLabel.setImmediate(false); transactionLogFileLabel.setWidth("540px"); transactionLogFileLabel.setHeight("-1px"); transactionLogFileLabel.setRequired(true); verticalLayout_1.addComponent(transactionLogFileLabel); // snapshotDirectoryLabel snapshotDirectoryLabel = new TextField(); snapshotDirectoryLabel.setCaption("Directory containing snapshot files"); snapshotDirectoryLabel.setImmediate(false); snapshotDirectoryLabel.setWidth("540px"); snapshotDirectoryLabel.setHeight("-1px"); verticalLayout_1.addComponent(snapshotDirectoryLabel); // horizontalLayout_1 horizontalLayout_1 = buildHorizontalLayout_1(); verticalLayout_1.addComponent(horizontalLayout_1); // button_1 openButton = new Button(); openButton.setCaption("Open"); openButton.setImmediate(true); openButton.setWidth("-1px"); openButton.setHeight("-1px"); verticalLayout_1.addComponent(openButton); return verticalLayout_1; } @AutoGenerated private HorizontalLayout buildHorizontalLayout_1() { // common part: create layout horizontalLayout_1 = new HorizontalLayout(); horizontalLayout_1.setImmediate(false); horizontalLayout_1.setWidth("-1px"); horizontalLayout_1.setHeight("-1px"); horizontalLayout_1.setMargin(false); horizontalLayout_1.setSpacing(true); // followCheckbox followCheckbox = new CheckBox(); followCheckbox.setCaption("Follow"); followCheckbox.setImmediate(false); followCheckbox.setWidth("-1px"); followCheckbox.setHeight("-1px"); horizontalLayout_1.addComponent(followCheckbox); // startFromLastCheckbox startFromLastCheckbox = new CheckBox(); startFromLastCheckbox.setCaption("Start from last transaction"); startFromLastCheckbox.setImmediate(false); startFromLastCheckbox.setWidth("-1px"); startFromLastCheckbox.setHeight("-1px"); horizontalLayout_1.addComponent(startFromLastCheckbox); return horizontalLayout_1; } }