package org.ovirt.engine.ui.webadmin.section.main.view.popup.configure;
import org.ovirt.engine.ui.common.view.AbstractPopupView;
import org.ovirt.engine.ui.common.widget.dialog.PopupNativeKeyPressHandler;
import org.ovirt.engine.ui.common.widget.dialog.SimpleDialogButton;
import org.ovirt.engine.ui.common.widget.dialog.SimpleDialogPanel;
import org.ovirt.engine.ui.common.widget.dialog.tab.DialogTab;
import org.ovirt.engine.ui.webadmin.ApplicationConstants;
import org.ovirt.engine.ui.webadmin.gin.AssetProvider;
import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.configure.ConfigurePopupPresenterWidget;
import org.ovirt.engine.ui.webadmin.section.main.view.popup.instancetypes.InstanceTypesView;
import org.ovirt.engine.ui.webadmin.section.main.view.popup.macpool.SharedMacPoolView;
import org.ovirt.engine.ui.webadmin.section.main.view.popup.scheduling.ClusterPolicyView;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.inject.Inject;
public class ConfigurePopupView extends AbstractPopupView<SimpleDialogPanel> implements ConfigurePopupPresenterWidget.ViewDef {
interface ViewUiBinder extends UiBinder<SimpleDialogPanel, ConfigurePopupView> {
ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class);
}
@UiField
SimpleDialogButton closeButton;
@UiField
DialogTab rolesTab;
@UiField
DialogTab clusterPoliciesTab;
@UiField
DialogTab systemPermissionsTab;
@UiField
DialogTab instanceTypesTab;
@UiField
DialogTab macPoolsTab;
@UiField
SimplePanel rolesTabPanel;
@UiField
SimplePanel clusterPoliciesTabPanel;
@UiField
SimplePanel systemPermissionTabPanel;
@UiField
SimplePanel instanceTypesTabPanel;
@UiField
SimplePanel macPoolsTabPanel;
private static final ApplicationConstants constants = AssetProvider.getConstants();
@Inject
public ConfigurePopupView(
EventBus eventBus,
RoleView roleView,
ClusterPolicyView clusterPolicyView,
SystemPermissionView systemPermissionView,
InstanceTypesView instanceTypesView,
SharedMacPoolView sharedMacPoolView) {
super(eventBus);
initWidget(ViewUiBinder.uiBinder.createAndBindUi(this));
localize();
rolesTabPanel.add(roleView);
clusterPolicyView.setWidth("100%"); //$NON-NLS-1$
clusterPoliciesTabPanel.add(clusterPolicyView);
systemPermissionTabPanel.add(systemPermissionView);
instanceTypesView.setWidth("100%"); //$NON-NLS-1$
instanceTypesTabPanel.add(instanceTypesView);
macPoolsTabPanel.add(sharedMacPoolView);
}
void localize() {
closeButton.setText(constants.closeButtonLabel());
rolesTab.setLabel(constants.configureRoleTabLabel());
clusterPoliciesTab.setLabel(constants.configureClusterPolicyTabLabel());
systemPermissionsTab.setLabel(constants.configureSystemPermissionTabLabel());
instanceTypesTab.setLabel(constants.instanceTypes());
macPoolsTab.setLabel(constants.configureMacPoolsTabLabel());
}
@Override
public HasClickHandlers getCloseButton() {
return closeButton;
}
@Override
public HasClickHandlers getCloseIconButton() {
return asWidget().getCloseIconButton();
}
@Override
public void setPopupKeyPressHandler(PopupNativeKeyPressHandler handler) {
asWidget().setKeyPressHandler(handler);
}
@Override
public void hideClusterPolicyTab() {
clusterPoliciesTab.setVisible(false);
}
}