package org.ovirt.engine.ui.webadmin.section.main.view.popup.storage;
import org.ovirt.engine.ui.uicommonweb.models.storage.LocalStorageModel;
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 LocalStorageView extends AbstractStorageView<LocalStorageModel> {
interface Driver extends SimpleBeanEditorDriver<LocalStorageModel, LocalStorageView> {
Driver driver = GWT.create(Driver.class);
}
interface ViewUiBinder extends UiBinder<Widget, LocalStorageView> {
ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class);
}
@UiField
WidgetStyle style;
@UiField(provided = true)
@Path(value = "path.entity")
EntityModelTextBoxEditor localPathEditor;
@UiField
Label message;
@Inject
public LocalStorageView() {
createPathEditor();
localPathEditor = pathEditor;
initWidget(ViewUiBinder.uiBinder.createAndBindUi(this));
localize(ClientGinjectorProvider.instance().getApplicationConstants());
addStyles();
Driver.driver.initialize(this);
}
void addStyles() {
localPathEditor.addContentWidgetStyleName(style.localPathContentWidget());
}
void localize(ApplicationConstants constants) {
localPathEditor.setLabel(constants.storagePopupLocalPathLabel());
}
@Override
public void edit(LocalStorageModel object) {
Driver.driver.edit(object);
}
@Override
public LocalStorageModel flush() {
return Driver.driver.flush();
}
interface WidgetStyle extends CssResource {
String localPathContentWidget();
}
@Override
public void focus() {
localPathEditor.setFocus(true);
}
}