Daniel Erez has uploaded a new change for review. Change subject: webadmin: extract disk type radio buttons panel ......................................................................
webadmin: extract disk type radio buttons panel Disk Dialog: Extracted disk type panel to a generic RadioButtonsHorizontalPanel for easy reuse in other dialogs. Change-Id: Iff7a7063466827bf54777a5b89a8512ee446e6a8 Bug-Url: https://bugzilla.redhat.com/?????? Signed-off-by: Daniel Erez <[email protected]> --- A frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/RadioButtonsHorizontalPanel.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.ui.xml 3 files changed, 61 insertions(+), 46 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/51/33151/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/RadioButtonsHorizontalPanel.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/RadioButtonsHorizontalPanel.java new file mode 100644 index 0000000..f7119bd --- /dev/null +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/RadioButtonsHorizontalPanel.java @@ -0,0 +1,30 @@ +package org.ovirt.engine.ui.common.widget; + +import com.google.gwt.dom.client.Style.Unit; +import com.google.gwt.event.dom.client.ClickHandler; +import com.google.gwt.uibinder.client.UiConstructor; +import com.google.gwt.user.client.ui.RadioButton; + +import com.google.gwt.user.client.ui.HorizontalPanel; + + +public class RadioButtonsHorizontalPanel extends HorizontalPanel { + private String name; + + @UiConstructor + public RadioButtonsHorizontalPanel(String name) { + setStyleName("avw_contentWidget_pfly_fix"); //$NON-NLS-1$ + this.name = name; + } + + public void addRadioButton(String text, boolean value, boolean enabled, ClickHandler clickHandler) { + RadioButton radioButton = new RadioButton(name); + radioButton.setText(text); + radioButton.setValue(value); + radioButton.setEnabled(enabled); + radioButton.addClickHandler(clickHandler); + radioButton.getElement().getStyle().setMarginLeft(10, Unit.PX); + radioButton.getElement().getStyle().setMarginRight(20, Unit.PX); + add(radioButton); + } +} diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.java index 30a0e8b..3408bce 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.java @@ -22,6 +22,7 @@ import org.ovirt.engine.ui.common.idhandler.ElementIdHandler; import org.ovirt.engine.ui.common.idhandler.WithElementId; import org.ovirt.engine.ui.common.widget.Align; +import org.ovirt.engine.ui.common.widget.RadioButtonsHorizontalPanel; import org.ovirt.engine.ui.common.widget.ValidatedPanelWidget; import org.ovirt.engine.ui.common.widget.dialog.InfoIcon; import org.ovirt.engine.ui.common.widget.dialog.ProgressPopupContent; @@ -71,7 +72,6 @@ import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Label; -import com.google.gwt.user.client.ui.RadioButton; import com.google.gwt.user.client.ui.VerticalPanel; public class VmDiskPopupWidget extends AbstractModelBoundPopupWidget<AbstractDiskModel> { @@ -196,16 +196,6 @@ InfoIcon interfaceInfoIcon; @UiField - @Ignore - @WithElementId - RadioButton internalDiskRadioButton; - - @UiField - @Ignore - @WithElementId - RadioButton externalDiskRadioButton; - - @UiField VerticalPanel createDiskPanel; @UiField @@ -221,7 +211,7 @@ HorizontalPanel topPanel; @UiField - HorizontalPanel diskTypePanel; + RadioButtonsHorizontalPanel diskTypePanel; @Ignore @WithElementId @@ -246,6 +236,9 @@ @Ignore AbstractStorageView storageView; + @UiField + CommonApplicationConstants constants; + private final Driver driver = GWT.create(Driver.class); boolean isNewLunDiskEnabled; @@ -260,6 +253,7 @@ boolean isLunDiskEnabled) { this.isNewLunDiskEnabled = isLunDiskEnabled; this.progressContent = createProgressContentWidget(); + this.constants = constants; initManualWidgets(constants, resources, templates); initWidget(ViewUiBinder.uiBinder.createAndBindUi(this)); localize(constants); @@ -641,28 +635,30 @@ } }); - internalDiskRadioButton.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - disk.getIsInternal().setEntity(true); - revealDiskPanel(disk); - } - }); - externalDiskRadioButton.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - disk.getIsInternal().setEntity(false); - revealStorageView(disk); - revealDiskPanel(disk); - } - }); - internalDiskRadioButton.setValue(disk.getIsNew() ? true - : disk.getDisk().getDiskStorageType() == DiskStorageType.IMAGE); - externalDiskRadioButton.setValue(disk.getIsNew() ? false - : disk.getDisk().getDiskStorageType() == DiskStorageType.LUN); + diskTypePanel.addRadioButton( + constants.internalDisk(), + disk.getIsNew() || disk.getDisk().getDiskStorageType() == DiskStorageType.IMAGE, + disk.getIsNew(), + new ClickHandler() { + @Override + public void onClick(ClickEvent event) { + disk.getIsInternal().setEntity(true); + revealDiskPanel(disk); + } + }); - internalDiskRadioButton.setEnabled(disk.getIsNew()); - externalDiskRadioButton.setEnabled(disk.getIsNew()); + diskTypePanel.addRadioButton( + constants.externalDisk(), + !disk.getIsNew() && disk.getDisk().getDiskStorageType() == DiskStorageType.LUN, + disk.getIsNew(), + new ClickHandler() { + @Override + public void onClick(ClickEvent event) { + disk.getIsInternal().setEntity(false); + revealStorageView(disk); + revealDiskPanel(disk); + } + }); storageModel = new StorageModel(new NewEditStorageModelBehavior()); @@ -727,7 +723,7 @@ private void revealDiskPanel(final AbstractDiskModel disk) { boolean isAttachDisk = disk.getIsAttachDisk().getEntity(); - boolean isInternal = internalDiskRadioButton.getValue(); + boolean isInternal = disk.getIsInternal().getEntity(); boolean isInVm = disk.getVm() != null; // Hide tables @@ -808,9 +804,6 @@ @Override public int setTabIndexes(int nextTabIndex) { attachEditor.setTabIndex(nextTabIndex++); - - internalDiskRadioButton.setTabIndex(nextTabIndex++); - externalDiskRadioButton.setTabIndex(nextTabIndex++); sizeEditor.setTabIndex(nextTabIndex++); sizeExtendEditor.setTabIndex(nextTabIndex++); aliasEditor.setTabIndex(nextTabIndex++); diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.ui.xml index 173c39b..eb2b467 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.ui.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmDiskPopupWidget.ui.xml @@ -40,11 +40,6 @@ display: block; } - .diskTypeRadioButton { - margin-right: 21px; - padding-left: 9px; - } - .mainPanel { width: 100%; } @@ -96,10 +91,7 @@ <g:HorizontalPanel ui:field="topPanel" addStyleNames="{style.obrand_topPanel}"> <ge:EntityModelCheckBoxEditor ui:field="attachEditor" addStyleNames="{style.attachEditor}"/> </g:HorizontalPanel> - <g:HorizontalPanel ui:field="diskTypePanel" addStyleNames="{style.obrand_diskTypePanel} avw_contentWidget_pfly_fix"> - <g:RadioButton ui:field="internalDiskRadioButton" name="disktype" text="{constants.internalDisk}" addStyleNames="{style.diskTypeRadioButton}"/> - <g:RadioButton ui:field="externalDiskRadioButton" name="disktype" text="{constants.externalDisk}" addStyleNames="{style.diskTypeRadioButton}"/> - </g:HorizontalPanel> + <w:RadioButtonsHorizontalPanel ui:field="diskTypePanel" name="diskTypePanel" addStyleNames="{style.obrand_diskTypePanel}"/> <g:VerticalPanel ui:field="createDiskPanel" addStyleNames="{style.mainPanel}"> <g:HorizontalPanel> <g:VerticalPanel> -- To view, visit http://gerrit.ovirt.org/33151 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iff7a7063466827bf54777a5b89a8512ee446e6a8 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Daniel Erez <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
