package org.vaadin.mideaas.frontend;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickListener;
import com.vaadin.ui.UI;
import com.vaadin.ui.Window;
import com.vaadin.ui.Window.CloseEvent;
import com.vaadin.ui.Window.CloseListener;
import com.vaadin.ui.themes.BaseTheme;
@SuppressWarnings("serial")
public class ShowLogButton extends Button implements ClickListener {
private final LogView logView;
public ShowLogButton(String text, LogView logView) {
super(text);
this.logView = logView;
setStyleName(BaseTheme.BUTTON_LINK);
}
@Override
public void attach() {
super.attach();
addClickListener(this);
}
private void openLogWindow() {
Window w = new Window("Log");
w.center();
w.setWidth("80%");
w.setHeight("80%");
w.setContent(logView);
logView.setSizeFull();
UI.getCurrent().addWindow(w);
setEnabled(false);
w.addCloseListener(new CloseListener() {
@Override
public void windowClose(CloseEvent e) {
ShowLogButton.this.setEnabled(true);
}
});
}
@Override
public void buttonClick(ClickEvent event) {
openLogWindow();
}
}