package org.ovirt.engine.ui.common.widget; import org.ovirt.engine.ui.common.editor.UiCommonEditorDriver; import org.ovirt.engine.ui.common.idhandler.HasElementId; import org.ovirt.engine.ui.common.utils.ElementIdUtils; import org.ovirt.engine.ui.common.view.popup.FocusableComponentsContainer; import org.ovirt.engine.ui.common.widget.editor.generic.EntityModelCheckBoxEditor; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; import com.google.gwt.core.client.GWT; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Widget; public class EntityModelCheckBoxWidget extends Composite implements HasEditorDriver<EntityModel<Boolean>>, HasElementId, FocusableComponentsContainer { interface Driver extends UiCommonEditorDriver<EntityModel<Boolean>, EntityModelCheckBoxWidget> { } interface ViewUiBinder extends UiBinder<Widget, EntityModelCheckBoxWidget> { ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class); } @Ignore @UiField Label checkBoxTitle; @Path(value = "entity") @UiField(provided = true) EntityModelCheckBoxEditor checkBoxEditor; private final Driver driver = GWT.create(Driver.class); public EntityModelCheckBoxWidget(Align align, String title, String label) { checkBoxEditor = new EntityModelCheckBoxEditor(align); checkBoxEditor.setLabel(label); initWidget(ViewUiBinder.uiBinder.createAndBindUi(this)); driver.initialize(this); checkBoxTitle.setText(title); } @Override public int setTabIndexes(int nextTabIndex) { checkBoxEditor.setTabIndex(nextTabIndex++); return nextTabIndex; } @Override public void setElementId(String elementId) { checkBoxEditor.setElementId(ElementIdUtils.createElementId(elementId, "checkBox")); //$NON-NLS-1$ } @Override public void edit(EntityModel<Boolean> object) { driver.edit(object); } @Override public EntityModel<Boolean> flush() { return driver.flush(); } @Override public void cleanup() { driver.cleanup(); } }