Lior Vernia has uploaded a new change for review.

Change subject: webadmin: Added explanation to mappings format
......................................................................

webadmin: Added explanation to mappings format

The explanation is shown as an InfoIcon tooltip. The line looks like
crap in the Add Host dialog, I couldn't work the CSS any better.

Change-Id: I8a8f45188a9d21a700c6c1caaa54196389caa005
Signed-off-by: Lior Vernia <[email protected]>
---
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/InfoIcon.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/provider/NeutronAgentWidget.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/provider/NeutronAgentWidget.ui.xml
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/NeutronAgentModel.java
M 
frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/provider/ProviderPopupView.java
7 files changed, 79 insertions(+), 40 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/88/16988/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/InfoIcon.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/InfoIcon.java
index 6af551d..6f96e51 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/InfoIcon.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/InfoIcon.java
@@ -49,4 +49,8 @@
         infoImage = new Image(resources.dialogIconHelp());
         infoImageHover = new Image(resources.dialogIconHelpRollover());
     }
+
+    public void setText(SafeHtml text) {
+        infoPanel.setWidget(new HTML(text));
+    }
 }
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/provider/NeutronAgentWidget.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/provider/NeutronAgentWidget.java
index a839acd..cfe750d 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/provider/NeutronAgentWidget.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/provider/NeutronAgentWidget.java
@@ -1,24 +1,26 @@
 package org.ovirt.engine.ui.common.widget.uicommon.popup.provider;
 
 import org.ovirt.engine.ui.common.CommonApplicationConstants;
+import org.ovirt.engine.ui.common.CommonApplicationResources;
+import org.ovirt.engine.ui.common.CommonApplicationTemplates;
 import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
 import org.ovirt.engine.ui.common.idhandler.WithElementId;
+import org.ovirt.engine.ui.common.widget.dialog.InfoIcon;
+import org.ovirt.engine.ui.common.widget.editor.EntityModelLabel;
 import org.ovirt.engine.ui.common.widget.editor.EntityModelPasswordBoxEditor;
 import org.ovirt.engine.ui.common.widget.editor.EntityModelTextBoxEditor;
+import org.ovirt.engine.ui.common.widget.editor.EntityModelTextBoxOnlyEditor;
 import 
org.ovirt.engine.ui.common.widget.uicommon.popup.AbstractModelBoundPopupWidget;
 import org.ovirt.engine.ui.uicommonweb.models.providers.NeutronAgentModel;
 import org.ovirt.engine.ui.uicompat.Event;
 import org.ovirt.engine.ui.uicompat.EventArgs;
 import org.ovirt.engine.ui.uicompat.IEventListener;
-import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs;
-
 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.gwt.user.client.ui.Label;
 import com.google.inject.Inject;
 
 public class NeutronAgentWidget extends 
AbstractModelBoundPopupWidget<NeutronAgentModel> {
@@ -40,13 +42,17 @@
     }
 
     @UiField
-    @Path(value = "interfaceMappings.entity")
-    @WithElementId("interfaceMappings")
-    EntityModelTextBoxEditor interfaceMappings;
+    @Path(value = "interfaceMappingsLabel.entity")
+    @WithElementId("interfaceMappingsLabel")
+    EntityModelLabel mappingsLabel;
 
     @UiField
-    @Ignore
-    Label qpidTitle;
+    @Path(value = "interfaceMappings.entity")
+    @WithElementId("interfaceMappings")
+    EntityModelTextBoxOnlyEditor interfaceMappings;
+
+    @UiField(provided = true)
+    InfoIcon mappingsExplanation;
 
     @UiField
     @Path(value = "qpidHost.entity")
@@ -71,12 +77,19 @@
     @UiField
     Style style;
 
+    private final CommonApplicationTemplates templates;
+
     @Inject
-    public NeutronAgentWidget(CommonApplicationConstants constants) {
+    public NeutronAgentWidget(CommonApplicationConstants constants,
+            CommonApplicationResources resources,
+            CommonApplicationTemplates templates) {
+
+        this.templates = templates;
+
+        mappingsExplanation = new InfoIcon(templates.italicText(new String()), 
resources);
         initWidget(ViewUiBinder.uiBinder.createAndBindUi(this));
         ViewIdHandler.idHandler.generateAndSetIds(this);
 
-        qpidTitle.setText(constants.qpid());
         qpidHost.setLabel(constants.hostQpid());
         qpidPort.setLabel(constants.portQpid());
         qpidUsername.setLabel(constants.usernameQpid());
@@ -87,25 +100,16 @@
 
     @Override
     public void edit(final NeutronAgentModel model) {
-        qpidTitle.setVisible(model.getIsAvailable());
-        interfaceMappings.setLabel((String) 
model.getInterfaceMappingsLabel().getEntity());
-        model.getPropertyChangedEvent().addListener(new IEventListener() {
-
-            @Override
-            public void eventRaised(Event ev, Object sender, EventArgs args) {
-                if ("IsAvailable".equals(((PropertyChangedEventArgs) 
args).PropertyName)) { //$NON-NLS-1$
-                    qpidTitle.setVisible(model.getIsAvailable());
-                }
-            }
-        });
-        
model.getInterfaceMappingsLabel().getEntityChangedEvent().addListener(new 
IEventListener() {
-
-            @Override
-            public void eventRaised(Event ev, Object sender, EventArgs args) {
-                interfaceMappings.setLabel((String) 
model.getInterfaceMappingsLabel().getEntity());
-            }
-        });
         driver.edit(model);
+        mappingsExplanation.setText(templates.italicText((String) 
model.getInterfaceMappingsExplanation().getEntity()));
+        
model.getInterfaceMappingsExplanation().getEntityChangedEvent().addListener(new 
IEventListener() {
+
+            @Override
+            public void eventRaised(Event ev, Object sender, EventArgs args) {
+                mappingsExplanation.setText(templates.italicText((String) 
model.getInterfaceMappingsExplanation()
+                        .getEntity()));
+            }
+        });
     }
 
     @Override
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/provider/NeutronAgentWidget.ui.xml
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/provider/NeutronAgentWidget.ui.xml
index ce40578..98c58f1 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/provider/NeutronAgentWidget.ui.xml
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/provider/NeutronAgentWidget.ui.xml
@@ -1,7 +1,8 @@
 <?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:e="urn:import:org.ovirt.engine.ui.common.widget.editor">
+       xmlns:g="urn:import:com.google.gwt.user.client.ui" 
xmlns:e="urn:import:org.ovirt.engine.ui.common.widget.editor"
+       xmlns:d="urn:import:org.ovirt.engine.ui.common.widget.dialog">
 
        <ui:with field='constants' 
type='org.ovirt.engine.ui.common.CommonApplicationConstants'/>
        <ui:style 
type="org.ovirt.engine.ui.common.widget.uicommon.popup.provider.NeutronAgentWidget.Style">
@@ -22,11 +23,17 @@
        </ui:style>
 
        <g:FlowPanel>
-               <g:FlowPanel>
-                       <e:EntityModelTextBoxEditor 
ui:field="interfaceMappings"/>
-               </g:FlowPanel>
+               <g:HorizontalPanel width="100%">
+                       <g:cell verticalAlignment="ALIGN_MIDDLE">
+                               <g:HorizontalPanel width="100%">
+                                       <e:EntityModelLabel 
ui:field="mappingsLabel" width="100%" />
+                                       <d:InfoIcon 
ui:field="mappingsExplanation" />
+                               </g:HorizontalPanel>
+                       </g:cell>
+                       <e:EntityModelTextBoxOnlyEditor 
ui:field="interfaceMappings" />
+               </g:HorizontalPanel>
                <g:FlowPanel addStyleNames="{style.sectionStyle}">
-                       <g:Label ui:field="qpidTitle" 
addStyleNames="{style.qpidHeader}"/>
+                       <g:Label text="{constants.qpid}" 
addStyleNames="{style.qpidHeader}"/>
                        <g:FlowPanel addStyleNames="{style.qpidInnerPanel}">
                                <e:EntityModelTextBoxEditor 
ui:field="qpidHost"/>
                                <e:EntityModelTextBoxEditor 
ui:field="qpidPort"/>
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/NeutronAgentModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/NeutronAgentModel.java
index b3e7974..3db44cd 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/NeutronAgentModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/NeutronAgentModel.java
@@ -21,6 +21,7 @@
     private final ListModel pluginType;
 
     private EntityModel interfaceMappingsLabel = new EntityModel();
+    private EntityModel interfaceMappingsExplanation = new EntityModel();
     private EntityModel interfaceMappings = new EntityModel();
     private EntityModel qpidHost = new EntityModel();
     private EntityModel qpidPort = new EntityModel();
@@ -35,12 +36,16 @@
         return pluginType;
     }
 
-    public EntityModel getInterfaceMappings() {
-        return interfaceMappings;
-    }
-
     public EntityModel getInterfaceMappingsLabel() {
         return interfaceMappingsLabel;
+    }
+
+    public EntityModel getInterfaceMappingsExplanation() {
+        return interfaceMappingsExplanation;
+    }
+
+    public EntityModel getInterfaceMappings() {
+        return interfaceMappings;
     }
 
     public EntityModel getQpidHost() {
@@ -80,18 +85,27 @@
                         
getInterfaceMappingsLabel().setEntity(ConstantsManager.getInstance()
                                 .getConstants()
                                 .bridgeMappings());
+                        
getInterfaceMappingsExplanation().setEntity(ConstantsManager.getInstance()
+                                .getConstants()
+                                .bridgeMappingsExplanation());
                             break;
                         case LINUX_BRIDGE:
                         default:
                         
getInterfaceMappingsLabel().setEntity(ConstantsManager.getInstance()
                                 .getConstants()
                                 .interfaceMappings());
+                        
getInterfaceMappingsExplanation().setEntity(ConstantsManager.getInstance()
+                                .getConstants()
+                                .interfaceMappingsExplanation());
                     }
                 }
             }
         });
 
         
getInterfaceMappingsLabel().setEntity(ConstantsManager.getInstance().getConstants().interfaceMappings());
+        
getInterfaceMappingsExplanation().setEntity(ConstantsManager.getInstance()
+                .getConstants()
+                .interfaceMappingsExplanation());
         getQpidPort().setEntity(QPID_PORT_DEFAULT);
     }
 
diff --git 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java
 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java
index 3835aec..ffaee75 100644
--- 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java
+++ 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java
@@ -1942,6 +1942,12 @@
     @DefaultStringValue("Bridge Mappings")
     String bridgeMappings();
 
+    @DefaultStringValue("Please use a comma-separated list of 
'label:interface'")
+    String interfaceMappingsExplanation();
+
+    @DefaultStringValue("Please use a comma-separated list of 'label:bridge'")
+    String bridgeMappingsExplanation();
+
     @DefaultStringValue("The given mappings are of an invalid format.")
     String interfaceMappingsInvalid();
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java
index 4592639..2b4a16f 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java
@@ -444,7 +444,7 @@
             }
         });
         providerTypeEditor = new ListModelListBoxEditor<Object>(new 
EnumRenderer());
-        neutronAgentWidget = new NeutronAgentWidget(constants);
+        neutronAgentWidget = new NeutronAgentWidget(constants, resources, 
applicationTemplates);
     }
 
     void localize(ApplicationConstants constants) {
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/provider/ProviderPopupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/provider/ProviderPopupView.java
index a8c4ad8..9029b96 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/provider/ProviderPopupView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/provider/ProviderPopupView.java
@@ -18,6 +18,7 @@
 import org.ovirt.engine.ui.uicommonweb.models.providers.ProviderModel;
 import org.ovirt.engine.ui.webadmin.ApplicationConstants;
 import org.ovirt.engine.ui.webadmin.ApplicationResources;
+import org.ovirt.engine.ui.webadmin.ApplicationTemplates;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.provider.ProviderPopupPresenterWidget;
 
 import com.google.gwt.core.client.GWT;
@@ -125,12 +126,15 @@
 
     @SuppressWarnings({ "rawtypes", "unchecked" })
     @Inject
-    public ProviderPopupView(EventBus eventBus, ApplicationResources 
resources, ApplicationConstants constants) {
+    public ProviderPopupView(EventBus eventBus,
+            ApplicationResources resources,
+            ApplicationConstants constants,
+            ApplicationTemplates templates) {
         super(eventBus, resources);
 
         typeEditor = new ListModelListBoxEditor<Object>(new EnumRenderer());
         requiresAuthenticationEditor = new 
EntityModelCheckBoxEditor(Align.RIGHT);
-        neutronAgentWidget = new NeutronAgentWidget(constants);
+        neutronAgentWidget = new NeutronAgentWidget(constants, resources, 
templates);
 
         this.resources = resources;
         this.constants = constants;


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8a8f45188a9d21a700c6c1caaa54196389caa005
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Lior Vernia <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to