package org.ovirt.engine.ui.webadmin.section.main.view.popup.storage;
import org.ovirt.engine.ui.uicommonweb.models.storage.NfsStorageModel;
import org.ovirt.engine.ui.webadmin.ApplicationConstants;
import org.ovirt.engine.ui.webadmin.gin.ClientGinjectorProvider;
import org.ovirt.engine.ui.webadmin.widget.editor.EntityModelTextBoxEditor;
import com.google.gwt.core.client.GWT;
import com.google.gwt.editor.client.SimpleBeanEditorDriver;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
import com.google.inject.Inject;
public class NfsStorageView extends AbstractStorageView<NfsStorageModel> {
interface Driver extends SimpleBeanEditorDriver<NfsStorageModel, NfsStorageView> {
Driver driver = GWT.create(Driver.class);
}
interface ViewUiBinder extends UiBinder<Widget, NfsStorageView> {
ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class);
}
@UiField
WidgetStyle style;
@UiField(provided = true)
@Path(value = "path.entity")
EntityModelTextBoxEditor nfsPathEditor;
@UiField
@Ignore
Label nfsMessageLabel;
@UiField
Label message;
@Inject
public NfsStorageView() {
createPathEditor();
nfsPathEditor = pathEditor;
initWidget(ViewUiBinder.uiBinder.createAndBindUi(this));
localize(ClientGinjectorProvider.instance().getApplicationConstants());
addStyles();
Driver.driver.initialize(this);
}
void addStyles() {
nfsPathEditor.addContentWidgetStyleName(style.nfsPathContentWidget());
}
void localize(ApplicationConstants constants) {
nfsPathEditor.setLabel(constants.storagePopupNfsPathLabel());
nfsMessageLabel.setText(constants.storagePopupNfsMessageLabel());
}
@Override
public void edit(NfsStorageModel object) {
Driver.driver.edit(object);
nfsMessageLabel.setVisible(object.getPath().getIsAvailable());
}
@Override
public NfsStorageModel flush() {
return Driver.driver.flush();
}
interface WidgetStyle extends CssResource {
String nfsPathContentWidget();
}
@Override
public void focus() {
nfsPathEditor.setFocus(true);
}
}