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
