org.vaadin.tori.util.ComponentUtil.java Source code

Java tutorial

Introduction

Here is the source code for org.vaadin.tori.util.ComponentUtil.java

Source

/*
 * Copyright 2014 Vaadin Ltd.
 * 
 * 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.vaadin.tori.util;

import org.vaadin.dialogs.ConfirmDialog;
import org.vaadin.dialogs.ConfirmDialog.Factory;
import org.vaadin.dialogs.DefaultConfirmDialogFactory;

import com.vaadin.server.Sizeable.Unit;
import com.vaadin.ui.Alignment;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickListener;
import com.vaadin.ui.Component;
import com.vaadin.ui.HasComponents;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Label;
import com.vaadin.ui.MenuBar;
import com.vaadin.ui.MenuBar.MenuItem;

public class ComponentUtil {

    public enum HeadingLevel {
        H1, H2, H3, H4
    }

    public static Label getHeadingLabel(final String content, final HeadingLevel level) {
        final Label label = new Label(content);
        label.addStyleName(level.name().toLowerCase());
        return label;
    }

    public static HorizontalLayout getHeaderLayout(final String titleString) {
        final HorizontalLayout result = new HorizontalLayout();
        result.setWidth(100.0f, Unit.PERCENTAGE);
        result.setHeight(56.0f, Unit.PIXELS);
        result.setSpacing(true);
        result.setMargin(true);
        result.addStyleName("headerlayout");
        Component title = getHeadingLabel(titleString, HeadingLevel.H2);
        result.addComponent(title);
        result.setComponentAlignment(title, Alignment.MIDDLE_LEFT);
        return result;
    }

    public static MenuBar getDropdownMenu() {
        final MenuBar result = new MenuBar();
        MenuItem rootItem = result.addItem("", null);
        result.setMoreMenuItem(rootItem);
        result.addStyleName("dropdown");
        return result;
    }

    public static Button getSecondaryButton(final String caption, final ClickListener clickListener) {
        Button button = new Button(caption, clickListener);
        button.addStyleName("secondarybutton");
        return button;
    }

    public static Factory getConfirmDialogFactory() {
        return new DefaultConfirmDialogFactory() {
            @Override
            public ConfirmDialog create(final String caption, final String message, final String okCaption,
                    final String cancelCaption) {
                ConfirmDialog confirmDialog = super.create(caption, message, okCaption, cancelCaption);
                confirmDialog.getOkButton().addStyleName("secondarybutton");
                HasComponents parent = confirmDialog.getOkButton().getParent();
                return confirmDialog;
            }
        };
    }
}