/* * Copyright 2014-2015 CyberVision, Inc. * * 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.kaaproject.avro.ui.gwt.client.widget; public class AvroWidgetsConfig { private static final String PX = "px"; private final int recordPanelWidthPx; private final int fieldsColumnWidthPx; private final int labelsColumnWidthPx; private final int arrayPanelWidthPx; private final int unionPanelWidthPx; private final int gridHeightPx; private final int tableHeightPx; private final int dependenciesHeightPx; private final int dependenciesPageSize; public static class Builder { private static final int DEFAULT_RECORD_PANEL_WIDTH_PX = 700; private static final int DEFAULT_LABELS_COLUMN_WIDTH_PX = 200; private static final int DEFAULT_GRID_HEIGHT_PX = 180; private static final int DEFAULT_TABLE_HEIGHT_PX = 200; private static final int DEFAULT_DEPENDENCIES_HEIGHT_PX = 200; private static final int DEFAULT_DEPENDENCIES_PAGE_SIZE = 4; private int recordPanelWidthPx = DEFAULT_RECORD_PANEL_WIDTH_PX; private int labelsColumnWidthPx = DEFAULT_LABELS_COLUMN_WIDTH_PX; private int gridHeightPx = DEFAULT_GRID_HEIGHT_PX; private int tableHeightPx = DEFAULT_TABLE_HEIGHT_PX; private int dependenciesHeightPx = DEFAULT_DEPENDENCIES_HEIGHT_PX; private int dependenciesPageSize = DEFAULT_DEPENDENCIES_PAGE_SIZE; public Builder() {} public Builder recordPanelWidth(int widthPx) { this.recordPanelWidthPx = widthPx; return this; } public Builder labelsColumnWidth(int widthPx) { this.labelsColumnWidthPx = widthPx; return this; } public Builder gridHeight(int heightPx) { this.gridHeightPx = heightPx; return this; } public Builder tableHeight(int heightPx) { this.tableHeightPx = heightPx; return this; } public Builder dependenciesHeight(int heightPx) { this.dependenciesHeightPx = heightPx; return this; } public Builder dependenciesPageSize(int pageSize) { this.dependenciesPageSize = pageSize; return this; } public AvroWidgetsConfig createConfig() { return new AvroWidgetsConfig(recordPanelWidthPx, labelsColumnWidthPx, gridHeightPx, tableHeightPx, dependenciesHeightPx, dependenciesPageSize); } } public AvroWidgetsConfig(int recordPanelWidthPx, int labelsColumnWidthPx, int gridHeightPx, int tableHeightPx, int dependenciesHeightPx, int dependenciesPageSize) { this.recordPanelWidthPx = recordPanelWidthPx; this.fieldsColumnWidthPx = (int) ((float)(recordPanelWidthPx - 200) * 0.6f); this.labelsColumnWidthPx = labelsColumnWidthPx; this.arrayPanelWidthPx = recordPanelWidthPx - 100; this.unionPanelWidthPx = recordPanelWidthPx - 50; this.gridHeightPx = gridHeightPx; this.tableHeightPx = tableHeightPx; this.dependenciesHeightPx = dependenciesHeightPx; this.dependenciesPageSize = dependenciesPageSize; } public int getRecordPanelWidthPx() { return recordPanelWidthPx; } public String getRecordPanelWidth() { return recordPanelWidthPx + PX; } public int getFieldsColumnWidthPx() { return fieldsColumnWidthPx; } public String getFieldsColumnWidth() { return fieldsColumnWidthPx + PX; } public int getLabelsColumnWidthPx() { return labelsColumnWidthPx; } public String getLabelsColumnWidth() { return labelsColumnWidthPx + PX; } public int getArrayPanelWidthPx() { return arrayPanelWidthPx; } public String getArrayPanelWidth() { return arrayPanelWidthPx + PX; } public int getUnionPanelWidthPx() { return unionPanelWidthPx; } public String getUnionPanelWidth() { return unionPanelWidthPx + PX; } public int getGridHeightPx() { return gridHeightPx; } public String getGridHeight() { return gridHeightPx + PX; } public int getTableHeightPx() { return tableHeightPx; } public String getTableHeight() { return tableHeightPx + PX; } public int getDependenciesHeightPx() { return dependenciesHeightPx; } public String getDependenciesHeigh() { return dependenciesHeightPx + PX; } public int getDependenciesPageSize() { return dependenciesPageSize; } }