Alona Kaplan has uploaded a new change for review.

Change subject: webadmin: edit panel for sriov enabled nics
......................................................................

webadmin: edit panel for sriov enabled nics

Change-Id: I72f82871b3ea7a90ec68d2779c4e835cdac2c692
Signed-off-by: Alona Kaplan <alkap...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/TabName.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostNicPopupPresenterWidget.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.ui.xml
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/BondPanel.java
6 files changed, 124 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/59/36259/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/TabName.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/TabName.java
index ccbd4d9..eee1aa5 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/TabName.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/TabName.java
@@ -24,6 +24,8 @@
     RESOURCE_ALLOCATION_TAB,
     SYSTEM_TAB,
     TAB_RNG,
-    FIRST_RUN;
+    FIRST_RUN,
+    PF_TAB,
+    VFS_CONFIG_TAB;
 
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
index 6fb55cc..faefdce 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
@@ -3973,4 +3973,11 @@
 
     @DefaultStringValue("NUMA Support")
     String numaSupport();
+
+    @DefaultStringValue("Physical Function")
+    String pfTab();
+
+    @DefaultStringValue("Virtual Functions (SR-IOV)")
+    String vfsConfigTab();
+
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostNicPopupPresenterWidget.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostNicPopupPresenterWidget.java
index 07e4549..9f70d92 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostNicPopupPresenterWidget.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostNicPopupPresenterWidget.java
@@ -9,6 +9,11 @@
 public class HostNicPopupPresenterWidget extends 
AbstractModelBoundPopupPresenterWidget<HostNicModel, 
HostNicPopupPresenterWidget.ViewDef> {
 
     public interface ViewDef extends 
AbstractModelBoundPopupPresenterWidget.ViewDef<HostNicModel> {
+        void showTabs();
+
+        void showOnlyPf();
+
+        void showOnlyVfsConfig();
     }
 
     @Inject
@@ -16,4 +21,22 @@
         super(eventBus, view);
     }
 
+    @Override
+    public void init(HostNicModel model) {
+        super.init(model);
+
+        if (model.getVfsConfigModel() != null) {
+            if (model.getInterface().getBondName() == null) {
+                // sriov nic
+                getView().showTabs();
+            } else {
+                // sriov bond slave
+                getView().showOnlyVfsConfig();
+            }
+        } else {
+            // regular nic
+            getView().showOnlyPf();
+        }
+    }
+
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.java
index 7a33f6d..dd69ef2 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.java
@@ -1,9 +1,13 @@
 package org.ovirt.engine.ui.webadmin.section.main.view.popup.host;
 
 import org.ovirt.engine.ui.common.CommonApplicationResources;
-import org.ovirt.engine.ui.common.view.popup.AbstractModelBoundPopupView;
+import org.ovirt.engine.ui.common.view.popup.AbstractTabbedModelBoundPopupView;
 import org.ovirt.engine.ui.common.widget.dialog.SimpleDialogPanel;
+import org.ovirt.engine.ui.common.widget.dialog.tab.DialogTab;
+import org.ovirt.engine.ui.common.widget.dialog.tab.DialogTabPanel;
+import org.ovirt.engine.ui.uicommonweb.models.TabName;
 import org.ovirt.engine.ui.uicommonweb.models.hosts.HostNicModel;
+import org.ovirt.engine.ui.webadmin.ApplicationConstants;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.host.HostNicPopupPresenterWidget;
 
 import com.google.gwt.core.shared.GWT;
@@ -11,9 +15,10 @@
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.uibinder.client.UiBinder;
 import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.ui.SimplePanel;
 import com.google.inject.Inject;
 
-public class HostNicPopupView extends 
AbstractModelBoundPopupView<HostNicModel> implements 
HostNicPopupPresenterWidget.ViewDef {
+public class HostNicPopupView extends 
AbstractTabbedModelBoundPopupView<HostNicModel> implements 
HostNicPopupPresenterWidget.ViewDef {
 
     interface Driver extends SimpleBeanEditorDriver<HostNicModel, 
HostNicPopupView> {
     }
@@ -25,14 +30,35 @@
     }
 
     @UiField
+    SimplePanel mainPanel;
+
+    @UiField
+    SimplePanel contentPanel;
+
+    @UiField
+    DialogTabPanel tabPanel;
+
+    @UiField
+    protected DialogTab pfTab;
+
+    @UiField
+    protected DialogTab vfsConfigTab;
+
+    @UiField
     @Ignore
     NicLabelWidget labelsWidget;
 
     @Inject
-    public HostNicPopupView(EventBus eventBus, CommonApplicationResources 
resources) {
+    public HostNicPopupView(EventBus eventBus, CommonApplicationResources 
resources, ApplicationConstants constants) {
         super(eventBus, resources);
         initWidget(ViewUiBinder.uiBinder.createAndBindUi(this));
+        localize(constants);
         driver.initialize(this);
+    }
+
+    private void localize(ApplicationConstants constants) {
+        pfTab.setLabel(constants.pfTab());
+        vfsConfigTab.setLabel(constants.vfsConfigTab());
     }
 
     @Override
@@ -53,4 +79,35 @@
         labelsWidget.focusInput();
     }
 
+    @Override
+    public DialogTabPanel getTabPanel() {
+        return tabPanel;
+    }
+
+    @Override
+    protected void populateTabMap() {
+        getTabNameMapping().put(TabName.PF_TAB, this.pfTab);
+        getTabNameMapping().put(TabName.VFS_CONFIG_TAB, this.vfsConfigTab);
+    }
+
+    @Override
+    public void showTabs() {
+        // Do nothing- it is the regular config
+    }
+
+    @Override
+    public void showOnlyPf() {
+        tabPanel.setVisible(false);
+        contentPanel.setWidget(pfTab.getContent());
+        mainPanel.setWidth("400px"); //$NON-NLS-1$
+        mainPanel.setHeight("215px"); //$NON-NLS-1$
+    }
+
+    @Override
+    public void showOnlyVfsConfig() {
+        tabPanel.setVisible(false);
+        contentPanel.setWidget(vfsConfigTab.getContent());
+        mainPanel.setWidth("400px"); //$NON-NLS-1$
+    }
+
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.ui.xml
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.ui.xml
index 7b9398d..4c92261 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.ui.xml
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostNicPopupView.ui.xml
@@ -2,12 +2,36 @@
 <!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent";>
 <ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
        xmlns:d="urn:import:org.ovirt.engine.ui.common.widget.dialog"
-       
xmlns:h="urn:import:org.ovirt.engine.ui.webadmin.section.main.view.popup.host">
+       
xmlns:h="urn:import:org.ovirt.engine.ui.webadmin.section.main.view.popup.host"
+       xmlns:t="urn:import:org.ovirt.engine.ui.common.widget.dialog.tab"
+       xmlns:g="urn:import:com.google.gwt.user.client.ui">
 
-       <d:SimpleDialogPanel width="400px" height="215px" >
+       <ui:style>
+               .labelWidget {
+                       position: absolute !important;
+                       width: auto !important;
+               }
+       </ui:style>
+
+       <d:SimpleDialogPanel ui:field="mainPanel" width="505px" height="600px" >
                <d:content>
-                       <h:NicLabelWidget ui:field="labelsWidget" />
+                       <g:SimplePanel ui:field="contentPanel">
+                               <t:DialogTabPanel ui:field="tabPanel" 
height="100%">
+                                       <t:tab>
+                                               <t:DialogTab ui:field="pfTab">
+                                                       <t:content>
+                                                               
<h:NicLabelWidget ui:field="labelsWidget" addStyleNames="{style.labelWidget}" />
+                                                       </t:content>
+                                               </t:DialogTab>
+                                       </t:tab>
+                                       <t:tab>
+                                               <t:DialogTab 
ui:field="vfsConfigTab">
+                                                       <t:content>
+                                                       </t:content>
+                                               </t:DialogTab>
+                                       </t:tab>
+                               </t:DialogTabPanel>
+                       </g:SimplePanel>
                </d:content>
        </d:SimpleDialogPanel>
-
 </ui:UiBinder>
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/BondPanel.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/BondPanel.java
index c999e38..cd53fb8 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/BondPanel.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/BondPanel.java
@@ -54,7 +54,9 @@
         for (NetworkInterfaceModel networkInterfaceModel : bonded) {
             NicPanel nicPanel = new NicPanel(networkInterfaceModel, style);
             nicPanel.parentPanel = this;
-            nicPanel.actionButton.setVisible(false);
+            if (!networkInterfaceModel.isSriovEnabled()) {
+                nicPanel.actionButton.setVisible(false);
+            }
             vPanel.add(nicPanel);
         }
 


-- 
To view, visit http://gerrit.ovirt.org/36259
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I72f82871b3ea7a90ec68d2779c4e835cdac2c692
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alona Kaplan <alkap...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to