Alona Kaplan has uploaded a new change for review.

Change subject: webadmin: create VfsPopupWidget and init it with num of vfs
......................................................................

webadmin: create VfsPopupWidget and init it with num of vfs

Change-Id: I665b38a0d5a5df038216eae99364aa7afbcf2a23
Signed-off-by: Alona Kaplan <alkap...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostNicModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.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/gin/WebAdminGinUiBinderWidgets.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
A 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.java
A 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.ui.xml
9 files changed, 167 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/60/36260/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostNicModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostNicModel.java
index ab09e12..d09be71 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostNicModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostNicModel.java
@@ -13,8 +13,10 @@
 
 public class HostNicModel extends Model {
 
+    public static final VfsConfigModel EMPTY_VFS_CONFIG_MODEL = new 
VfsConfigModel();
+
     private final NicLabelModel labelsModel;
-    private VfsConfigModel vfsConfigModel = null;
+    private VfsConfigModel vfsConfigModel = EMPTY_VFS_CONFIG_MODEL;
     private VdsNetworkInterface iface;
 
     public NicLabelModel getLabelsModel() {
@@ -42,7 +44,7 @@
     public VfsConfigModel getVfsConfigModel() {
         return vfsConfigModel;
     }
-    
+
     public VdsNetworkInterface getInterface() {
         return iface;
     }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java
index 882ae22..0666af0 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/VfsConfigModel.java
@@ -1,5 +1,6 @@
 package org.ovirt.engine.ui.uicommonweb.models.hosts;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -19,6 +20,10 @@
     private ListModel<Network> networks = new ListModel<>();
     private ListModel<String> labels = new ListModel<>();
 
+    public VfsConfigModel() {
+        this(new HostNicVfsConfig(), new ArrayList<Network>());
+    }
+
     public VfsConfigModel(HostNicVfsConfig vfsConfig, List<Network> 
allClusterNetworks) {
         setEntity(vfsConfig);
         maxNumOfVfs.setEntity(vfsConfig.getMaxNumOfVfs());
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 faefdce..847eb08 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
@@ -3980,4 +3980,10 @@
     @DefaultStringValue("Virtual Functions (SR-IOV)")
     String vfsConfigTab();
 
+    @DefaultStringValue("Num of VFs setting")
+    String numOfVfsSetting();
+
+    @DefaultStringValue("Vfs Number")
+    String numOfVfs();
+
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/WebAdminGinUiBinderWidgets.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/WebAdminGinUiBinderWidgets.java
index 0c3b101..2bbec36 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/WebAdminGinUiBinderWidgets.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/WebAdminGinUiBinderWidgets.java
@@ -1,6 +1,8 @@
 package org.ovirt.engine.ui.webadmin.gin;
 
 import org.ovirt.engine.ui.common.gin.CommonGinUiBinderWidgets;
+import 
org.ovirt.engine.ui.webadmin.section.main.view.popup.host.VfsConfigWidget;
 
 public interface WebAdminGinUiBinderWidgets extends CommonGinUiBinderWidgets {
+    VfsConfigWidget getVfsConfigWidget();
 }
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 9f70d92..c1ad6a4 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
@@ -23,9 +23,7 @@
 
     @Override
     public void init(HostNicModel model) {
-        super.init(model);
-
-        if (model.getVfsConfigModel() != null) {
+        if (model.getVfsConfigModel() != HostNicModel.EMPTY_VFS_CONFIG_MODEL) {
             if (model.getInterface().getBondName() == null) {
                 // sriov nic
                 getView().showTabs();
@@ -37,6 +35,8 @@
             // regular nic
             getView().showOnlyPf();
         }
+
+        super.init(model);
     }
 
 }
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 dd69ef2..8871261 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
@@ -48,15 +48,22 @@
     @Ignore
     NicLabelWidget labelsWidget;
 
+    @UiField
+    @Ignore
+    VfsConfigWidget vfsConfigWidget;
+
+    private ApplicationConstants constants;
+
     @Inject
     public HostNicPopupView(EventBus eventBus, CommonApplicationResources 
resources, ApplicationConstants constants) {
         super(eventBus, resources);
+        this.constants = constants;
         initWidget(ViewUiBinder.uiBinder.createAndBindUi(this));
-        localize(constants);
+        localize();
         driver.initialize(this);
     }
 
-    private void localize(ApplicationConstants constants) {
+    private void localize() {
         pfTab.setLabel(constants.pfTab());
         vfsConfigTab.setLabel(constants.vfsConfigTab());
     }
@@ -65,11 +72,13 @@
     public void edit(HostNicModel model) {
         driver.edit(model);
         labelsWidget.edit(model.getLabelsModel());
+        vfsConfigWidget.edit(model.getVfsConfigModel());
     }
 
     @Override
     public HostNicModel flush() {
         labelsWidget.flush();
+        vfsConfigWidget.flush();
         return driver.flush();
     }
 
@@ -109,5 +118,4 @@
         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 4c92261..e6d76ed 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
@@ -27,6 +27,9 @@
                                        <t:tab>
                                                <t:DialogTab 
ui:field="vfsConfigTab">
                                                        <t:content>
+                                                               <g:FlowPanel>
+                                                                       
<h:VfsConfigWidget ui:field="vfsConfigWidget"/>
+                                                               </g:FlowPanel>
                                                        </t:content>
                                                </t:DialogTab>
                                        </t:tab>
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.java
new file mode 100644
index 0000000..ec251c5
--- /dev/null
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.java
@@ -0,0 +1,103 @@
+package org.ovirt.engine.ui.webadmin.section.main.view.popup.host;
+
+import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
+import org.ovirt.engine.ui.common.widget.dialog.AdvancedParametersExpander;
+import 
org.ovirt.engine.ui.common.widget.editor.generic.IntegerEntityModelTextBoxEditor;
+import 
org.ovirt.engine.ui.common.widget.uicommon.popup.AbstractModelBoundPopupWidget;
+import org.ovirt.engine.ui.uicommonweb.models.hosts.VfsConfigModel;
+import org.ovirt.engine.ui.webadmin.ApplicationConstants;
+
+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.FlowPanel;
+import com.google.inject.Inject;
+
+public class VfsConfigWidget extends 
AbstractModelBoundPopupWidget<VfsConfigModel> {
+
+    interface Driver extends SimpleBeanEditorDriver<VfsConfigModel, 
VfsConfigWidget> {
+    }
+
+    interface WidgetUiBinder extends UiBinder<FlowPanel, VfsConfigWidget> {
+        WidgetUiBinder uiBinder = GWT.create(WidgetUiBinder.class);
+    }
+
+    interface WidgetIdHandler extends ElementIdHandler<VfsConfigWidget> {
+        WidgetIdHandler idHandler = GWT.create(WidgetIdHandler.class);
+    }
+
+    private final Driver driver = GWT.create(Driver.class);
+
+    interface WidgetStyle extends CssResource {
+        String valueWidth();
+    }
+
+    @UiField
+    WidgetStyle style;
+
+    @UiField
+    @Ignore
+    AdvancedParametersExpander numVfsExpander;
+
+    @UiField
+    @Ignore
+    FlowPanel numVfsExpanderContent;
+
+    @UiField
+    @Path(value = "numOfVfs.entity")
+    IntegerEntityModelTextBoxEditor numOfVfs;
+
+    VfsConfigModel vfsConfigModel;
+
+    @Inject
+    public VfsConfigWidget(ApplicationConstants constants) {
+        initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this));
+        WidgetIdHandler.idHandler.generateAndSetIds(this);
+
+        initExpander(constants);
+        localize(constants);
+        driver.initialize(this);
+        addStyles();
+    }
+
+    private void initExpander(ApplicationConstants constants) {
+        numVfsExpander.initWithContent(numVfsExpanderContent.getElement());
+        numVfsExpander.setTitleWhenExpended(constants.numOfVfsSetting());
+        numVfsExpander.setTitleWhenCollapsed(constants.numOfVfsSetting());
+    }
+
+    private void localize(ApplicationConstants constants) {
+        numOfVfs.setLabel(constants.numOfVfs());
+    }
+
+    protected void addStyles() {
+        numOfVfs.addContentWidgetStyleName(style.valueWidth());
+    }
+
+    interface Style extends CssResource {
+        String valueBox();
+    }
+
+    @Override
+    public void edit(VfsConfigModel model) {
+        vfsConfigModel = model;
+
+        if (vfsConfigModel == null) {
+            return;
+        }
+
+        driver.edit(model);
+
+    }
+
+    @Override
+    public VfsConfigModel flush() {
+        if (vfsConfigModel == null) {
+            return null;
+        }
+
+        return driver.flush();
+    }
+}
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.ui.xml
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.ui.xml
new file mode 100644
index 0000000..ac2780f
--- /dev/null
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/VfsConfigWidget.ui.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent";>
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+       xmlns:g="urn:import:com.google.gwt.user.client.ui" 
xmlns:d="urn:import:org.ovirt.engine.ui.common.widget.dialog"
+       xmlns:e="urn:import:org.ovirt.engine.ui.common.widget.editor.generic"
+       xmlns:ge="urn:import:org.ovirt.engine.ui.common.widget.editor.generic">
+       <ui:with field='constants' 
type='org.ovirt.engine.ui.webadmin.ApplicationConstants' />
+
+       <ui:style 
type="org.ovirt.engine.ui.webadmin.section.main.view.popup.host.VfsConfigWidget.WidgetStyle">
+        .valueWidth {
+            width: 60px;
+        }
+               
+        .numOfVfs {
+            width: 150px;
+        }
+
+        .expanderContent {
+            margin-left: 20px;
+        }
+       </ui:style>
+
+       <g:FlowPanel>
+               <d:AdvancedParametersExpander ui:field="numVfsExpander"/>
+               <g:FlowPanel ui:field="numVfsExpanderContent" 
addStyleNames="{style.expanderContent}">
+                       <ge:IntegerEntityModelTextBoxEditor ui:field="numOfVfs" 
addStyleNames="{style.numOfVfs}" />
+               </g:FlowPanel>
+       </g:FlowPanel>
+
+</ui:UiBinder>
\ No newline at end of file


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I665b38a0d5a5df038216eae99364aa7afbcf2a23
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