package org.aperteworkflow.editor.ui.permission;
import com.vaadin.ui.Button;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Label;
import com.vaadin.ui.themes.BaseTheme;
public class PermissionWrapperBox extends HorizontalLayout {
private PermissionWrapperHandler handler;
private PermissionWrapper permissionWrapper;
private Label roleNameLabel;
private Button deleteButton;
public PermissionWrapperBox(PermissionWrapper permissionWrapper, PermissionWrapperHandler handler) {
this.handler = handler;
this.permissionWrapper = permissionWrapper;
initComponent();
initLayout();
}
public PermissionWrapper getPermissionWrapper() {
return permissionWrapper;
}
private void initComponent() {
roleNameLabel = new Label(permissionWrapper.getRoleName());
deleteButton = new Button();
deleteButton.setCaption(" X ");
deleteButton.setStyleName(BaseTheme.BUTTON_LINK);
deleteButton.addListener(new Button.ClickListener() {
@Override
public void buttonClick(Button.ClickEvent event) {
handler.removePermissionWrapper(permissionWrapper);
}
});
}
private void initLayout() {
setSpacing(true);
addComponent(roleNameLabel);
addComponent(deleteButton);
}
}