package org.ovirt.engine.ui.webadmin.section.main.view.popup.gluster;
import java.util.ArrayList;
import org.ovirt.engine.core.common.businessentities.GlusterBrickEntity;
import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
import org.ovirt.engine.ui.uicommonweb.models.ListModel;
import org.ovirt.engine.ui.uicommonweb.models.gluster.AddBrickModel;
import org.ovirt.engine.ui.webadmin.ApplicationConstants;
import org.ovirt.engine.ui.webadmin.ApplicationResources;
import org.ovirt.engine.ui.webadmin.idhandler.ElementIdHandler;
import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.gluster.AddBrickPopupPresenterWidget;
import org.ovirt.engine.ui.webadmin.section.main.view.popup.AbstractModelBoundPopupView;
import org.ovirt.engine.ui.webadmin.widget.dialog.SimpleDialogPanel;
import org.ovirt.engine.ui.webadmin.widget.editor.EntityModelCellTable;
import org.ovirt.engine.ui.webadmin.widget.table.column.EntityModelTextColumn;
import com.google.gwt.core.client.GWT;
import com.google.gwt.editor.client.SimpleBeanEditorDriver;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.inject.Inject;
public class AddBrickPopupView extends AbstractModelBoundPopupView<AddBrickModel> implements AddBrickPopupPresenterWidget.ViewDef {
interface Driver extends SimpleBeanEditorDriver<AddBrickModel, AddBrickPopupView> {
Driver driver = GWT.create(Driver.class);
}
interface ViewUiBinder extends UiBinder<SimpleDialogPanel, AddBrickPopupView> {
ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class);
}
interface ViewIdHandler extends ElementIdHandler<AddBrickPopupView> {
ViewIdHandler idHandler = GWT.create(ViewIdHandler.class);
}
@UiField(provided = true)
@Ignore
EntityModelCellTable<ListModel> brickList;
@Inject
public AddBrickPopupView(EventBus eventBus, ApplicationResources resources, ApplicationConstants constants) {
super(eventBus, resources);
initBrickList();
initWidget(ViewUiBinder.uiBinder.createAndBindUi(this));
ViewIdHandler.idHandler.generateAndSetIds(this);
localize(constants);
Driver.driver.initialize(this);
}
private void initBrickList() {
brickList = new EntityModelCellTable<ListModel>(true);
brickList.addEntityModelColumn(new EntityModelTextColumn<EntityModel>() {
@Override
public String getValue(EntityModel model) {
return ((GlusterBrickEntity)model.getEntity()).getQualifiedName();
}
}, "Bricks");
}
private void localize(ApplicationConstants constants) {
}
@Override
public void focusInput() {
}
@Override
public void edit(AddBrickModel object) {
brickList.setRowData(new ArrayList<EntityModel>());
brickList.edit(object);
object.initSelections();
Driver.driver.edit(object);
}
@Override
public AddBrickModel flush() {
brickList.flush();
return Driver.driver.flush();
}
}