ru.codeinside.gses.webui.components.UserInfoPanel.java Source code

Java tutorial

Introduction

Here is the source code for ru.codeinside.gses.webui.components.UserInfoPanel.java

Source

/*
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 * Copyright (c) 2013, MPL CodeInside http://codeinside.ru
 */

package ru.codeinside.gses.webui.components;

import com.vaadin.terminal.ThemeResource;
import com.vaadin.ui.Button;
import com.vaadin.ui.Component;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.TabSheet;
import com.vaadin.ui.TabSheet.Tab;
import com.vaadin.ui.themes.BaseTheme;

final public class UserInfoPanel extends HorizontalLayout implements TabSheet.CloseHandler {

    public UserInfoPanel(final String userLogin) {
        setMargin(true);
        setWidth("100%");
        Button logoutLink = new Button("");
        logoutLink.setStyleName(BaseTheme.BUTTON_LINK);
        logoutLink.addListener(new Logout());

        addComponent(new EmployeeInfo(userLogin, logoutLink));
    }

    public static UserInfoPanel addClosableToTabSheet(TabSheet tabSheet, String login) {
        UserInfoPanel uip = new UserInfoPanel(login);
        Tab tab = tabSheet.addTab(uip, login, new ThemeResource("../runo/icons/16/user.png"));
        tab.setDescription("     ??");
        tab.setClosable(true);
        return uip;
    }

    @Override
    public void onTabClose(TabSheet tabsheet, Component tabContent) {
        getApplication().getMainWindow().getApplication().close();
    }

}