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

Reply via email to