package org.ovirt.engine.ui.webadmin.section.main.view.tab.gluster; import javax.inject.Inject; import org.ovirt.engine.core.common.businessentities.GlusterVolumeEntity; import org.ovirt.engine.ui.uicommonweb.models.gluster.VolumeGeneralModel; import org.ovirt.engine.ui.uicommonweb.models.gluster.VolumeListModel; import org.ovirt.engine.ui.webadmin.ApplicationResources; import org.ovirt.engine.ui.webadmin.gin.ClientGinjectorProvider; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.gluster.SubTabVolumeGeneralPresenter; import org.ovirt.engine.ui.webadmin.section.main.view.AbstractSubTabFormView; import org.ovirt.engine.ui.webadmin.uicommon.model.DetailModelProvider; import org.ovirt.engine.ui.webadmin.widget.form.FormBuilder; import org.ovirt.engine.ui.webadmin.widget.form.FormItem; import org.ovirt.engine.ui.webadmin.widget.form.GeneralFormPanel; import org.ovirt.engine.ui.webadmin.widget.label.TextBoxLabel; import com.google.gwt.core.client.GWT; import com.google.gwt.editor.client.Editor; import com.google.gwt.editor.client.SimpleBeanEditorDriver; import com.google.gwt.uibinder.client.UiField; public class SubTabVolumeGeneralView extends AbstractSubTabFormView<GlusterVolumeEntity, VolumeListModel, VolumeGeneralModel> implements SubTabVolumeGeneralPresenter.ViewDef, Editor<VolumeGeneralModel> { interface Driver extends SimpleBeanEditorDriver<VolumeGeneralModel, SubTabVolumeGeneralView> { Driver driver = GWT.create(Driver.class); } // We need this in order to find the icon for alert messages: private final ApplicationResources resources; @UiField(provided = true) GeneralFormPanel formPanel; TextBoxLabel name = new TextBoxLabel(); TextBoxLabel volumeType = new TextBoxLabel(); TextBoxLabel replicaCount = new TextBoxLabel(); TextBoxLabel numOfBricks = new TextBoxLabel(); FormBuilder formBuilder; @Inject public SubTabVolumeGeneralView(DetailModelProvider<VolumeListModel, VolumeGeneralModel> modelProvider) { super(modelProvider); // Inject a reference to the resources: resources = ClientGinjectorProvider.instance().getApplicationResources(); // Init form panel: formPanel = new GeneralFormPanel(); initWidget(formPanel); Driver.driver.initialize(this); // Build a form using the FormBuilder formBuilder = new FormBuilder(formPanel, 2, 4); formBuilder.addFormItem(new FormItem("Name",name , 0, 0)); formBuilder.addFormItem(new FormItem("Volume Type",volumeType , 1, 0)); formBuilder.addFormItem(new FormItem("Replica Count",replicaCount , 2, 0)); formBuilder.addFormItem(new FormItem("Num of Bricks", numOfBricks, 3, 0)); } @SuppressWarnings("unchecked") @Override public void setMainTabSelectedItem(GlusterVolumeEntity selectedItem) { Driver.driver.edit(getDetailModel()); formBuilder.showForm(getDetailModel(), Driver.driver); } }