Tomas Jelinek has uploaded a new change for review. Change subject: webadmin: WIP: already merged fix of the fix of the broken layout ......................................................................
webadmin: WIP: already merged fix of the fix of the broken layout Change-Id: If2d5ce42ebec9e6e0be384dd2b4fb84d7abe34be Signed-off-by: Tomas Jelinek <[email protected]> --- A frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/EntityModelDetachableWidgetWithInfo.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/EntityModelWidgetWithInfo.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/EntityModelWidgetWithInfo.ui.xml A frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/BaseEntityModelDetachableWidget.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidget.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidget.ui.xml A frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidgetWithLabel.java A frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidgetWithLabel.ui.xml M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmPopupWidget.java 11 files changed, 292 insertions(+), 102 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/56/24956/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/EntityModelDetachableWidgetWithInfo.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/EntityModelDetachableWidgetWithInfo.java new file mode 100644 index 0000000..41166cd --- /dev/null +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/EntityModelDetachableWidgetWithInfo.java @@ -0,0 +1,34 @@ +package org.ovirt.engine.ui.common.widget; + +import com.google.gwt.user.client.ui.HasEnabled; +import org.ovirt.engine.ui.common.widget.editor.EntityModelLabel; +import org.ovirt.engine.ui.common.widget.editor.generic.EntityModelDetachableWidget; +import org.ovirt.engine.ui.common.widget.editor.generic.EntityModelDetachableWidgetWithLabel; + +public class EntityModelDetachableWidgetWithInfo extends EntityModelWidgetWithInfo implements HasDetachable, HasEnabled { + + public EntityModelDetachableWidgetWithInfo(EntityModelLabel label, AbstractValidatedWidgetWithLabel contentWidget) { + super(label, new EntityModelDetachableWidget(contentWidget)); + } + + @Override + public void setDetachableIconVisible(boolean visible) { + ((HasDetachable) contentWidget).setDetachableIconVisible(visible); + } + + @Override + public void setAttached(boolean attached) { + ((HasDetachable) contentWidget).setAttached(attached); + } + + @Override + public void setEnabled(boolean enabled) { + ((HasEnabled) contentWidget).setEnabled(enabled); + } + + @Override + public boolean isEnabled() { + return ((HasEnabled) contentWidget).isEnabled(); + } + +} diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/EntityModelWidgetWithInfo.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/EntityModelWidgetWithInfo.java index cdd5b93..bff9dbe 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/EntityModelWidgetWithInfo.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/EntityModelWidgetWithInfo.java @@ -28,10 +28,10 @@ InfoIcon infoIcon; @UiField(provided = true) - AbstractValidatedWidget contentWidget; + Composite contentWidget; @Inject - public EntityModelWidgetWithInfo(EntityModelLabel label, AbstractValidatedWidget contentWidget) { + public EntityModelWidgetWithInfo(EntityModelLabel label, Composite contentWidget) { this.label = label; this.contentWidget = contentWidget; diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/EntityModelWidgetWithInfo.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/EntityModelWidgetWithInfo.ui.xml index 7bb4ab1..6279106 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/EntityModelWidgetWithInfo.ui.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/EntityModelWidgetWithInfo.ui.xml @@ -18,7 +18,7 @@ </g:HorizontalPanel> </g:cell> <g:cell width="230px"> - <w:AbstractValidatedWidget ui:field="contentWidget" /> + <g:Composite ui:field="contentWidget" /> </g:cell> </g:HorizontalPanel> diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/BaseEntityModelDetachableWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/BaseEntityModelDetachableWidget.java new file mode 100644 index 0000000..cf9cf13 --- /dev/null +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/BaseEntityModelDetachableWidget.java @@ -0,0 +1,70 @@ +package org.ovirt.engine.ui.common.widget.editor.generic; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.dom.client.Style.Display; +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.Composite; +import com.google.gwt.user.client.ui.HasEnabled; +import com.google.gwt.user.client.ui.Image; +import com.google.gwt.user.client.ui.UIObject; +import com.google.gwt.user.client.ui.Widget; +import org.ovirt.engine.ui.common.CommonApplicationResources; +import org.ovirt.engine.ui.common.widget.AbstractValidatedWidget; +import org.ovirt.engine.ui.common.widget.HasDetachable; + +public abstract class BaseEntityModelDetachableWidget extends Composite implements HasDetachable { + + private static final CommonApplicationResources resource = GWT.create(CommonApplicationResources.class); + + private Image attachedSeparatedImage; + + interface BaseStyle extends CssResource { + String contentWidgetWithDetachable(); + + String contentWidgetWithoutDetachable(); + } + + private BaseStyle style; + + private UIObject decoratedWidget; + + // can not be as a constructor because needs to be called after the widgets get bind properly in children + protected void initialize(UIObject decoratedWidget, Image attachedSeparatedImage, BaseStyle style) { + this.decoratedWidget = decoratedWidget; + this.attachedSeparatedImage = attachedSeparatedImage; + this.style = style; + + setAttached(true); + + // by default it is a regular widget - needs to be made detachable explicitly + setDetachableIconVisible(false); + } + + @Override + public void setDetachableIconVisible(boolean visible) { + if (visible) { + attachedSeparatedImage.getElement().getStyle().setDisplay(Display.INLINE); + } else { + attachedSeparatedImage.getElement().getStyle().setDisplay(Display.NONE); + } + + changeWidgetStyle(decoratedWidget, visible); + } + + protected void changeWidgetStyle(UIObject widget, boolean detachableIconVisible) { + if (detachableIconVisible) { + widget.removeStyleName(style.contentWidgetWithoutDetachable()); + widget.setStyleName(style.contentWidgetWithDetachable()); + } else { + widget.removeStyleName(style.contentWidgetWithDetachable()); + widget.setStyleName(style.contentWidgetWithoutDetachable()); + } + } + + @Override + public void setAttached(boolean attached) { + attachedSeparatedImage.setResource(attached ? resource.joinedIcon() : resource.separatedIcon()); + } +} diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidget.java index 1efd63a..f6ca691 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidget.java @@ -1,39 +1,26 @@ package org.ovirt.engine.ui.common.widget.editor.generic; import com.google.gwt.core.client.GWT; -import com.google.gwt.dom.client.LabelElement; -import com.google.gwt.dom.client.Style.Display; -import com.google.gwt.resources.client.CssResource; +import com.google.gwt.dom.client.Style.Float; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; -import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.HasEnabled; import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.SimplePanel; import com.google.gwt.user.client.ui.Widget; -import org.ovirt.engine.ui.common.CommonApplicationResources; import org.ovirt.engine.ui.common.widget.AbstractValidatedWidgetWithLabel; -import org.ovirt.engine.ui.common.widget.HasDetachable; -import org.ovirt.engine.ui.common.widget.HasLabel; -public class EntityModelDetachableWidget extends Composite implements HasLabel, HasDetachable, HasEnabled { +/** + * Takes a AbstractValidatedWidgetWithLabel, decorates it with the detachable icon but does not render it's label + */ +public class EntityModelDetachableWidget extends BaseEntityModelDetachableWidget implements HasEnabled { interface WidgetUiBinder extends UiBinder<Widget, EntityModelDetachableWidget> { WidgetUiBinder uiBinder = GWT.create(WidgetUiBinder.class); } - interface Style extends CssResource { - String contentWidget(); - - String labelEnabled(); - - String labelDisabled(); + interface Style extends BaseStyle { } - - private static final CommonApplicationResources resource = GWT.create(CommonApplicationResources.class); - - @UiField - LabelElement label; @UiField Image attachedSeparatedImage; @@ -41,47 +28,19 @@ @UiField(provided = true) SimplePanel contentWidgetContainer; + private AbstractValidatedWidgetWithLabel decorated; + @UiField Style style; - private AbstractValidatedWidgetWithLabel decorated; - public EntityModelDetachableWidget(AbstractValidatedWidgetWithLabel decorated) { this.decorated = decorated; - contentWidgetContainer = decorated.getContentWidgetContainer(); + this.contentWidgetContainer = decorated.getContentWidgetContainer(); + contentWidgetContainer.getElement().getStyle().setFloat(Float.RIGHT); initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this)); - setAttached(true); - - // by default it is a regular widget - needs to be made detachable explicitly - setDetachableIconVisible(false); - } - - @Override - public void setDetachableIconVisible(boolean visible) { - if (visible) { - attachedSeparatedImage.getElement().getStyle().setDisplay(Display.INLINE); - contentWidgetContainer.setStyleName(style.contentWidget()); - } else { - contentWidgetContainer.removeStyleName(style.contentWidget()); - attachedSeparatedImage.getElement().getStyle().setDisplay(Display.NONE); - } - } - - @Override - public void setAttached(boolean attached) { - attachedSeparatedImage.setResource(attached ? resource.joinedIcon() : resource.separatedIcon()); - } - - @Override - public String getLabel() { - return label.getInnerText(); - } - - @Override - public void setLabel(String label) { - this.label.setInnerText(label); + initialize(contentWidgetContainer, attachedSeparatedImage, style); } @Override @@ -92,11 +51,5 @@ @Override public void setEnabled(boolean enabled) { decorated.setEnabled(enabled); - - if (enabled) { - label.replaceClassName(style.labelDisabled(), style.labelEnabled()); - } else { - label.replaceClassName(style.labelEnabled(), style.labelDisabled()); - } } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidget.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidget.ui.xml index 4fe6b44..f34fce2 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidget.ui.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidget.ui.xml @@ -1,6 +1,7 @@ <?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"> +<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui" + xmlns:w="urn:import:org.ovirt.engine.ui.common.widget"> <ui:with field='resources' type='org.ovirt.engine.ui.common.CommonApplicationResources' /> @@ -19,31 +20,21 @@ padding: 0 5px; } - .contentWidget { + .contentWidgetWithoutDetachable, .contentWidgetWithDetachable { float: right; + } + .contentWidgetWithoutDetachable { padding: 0 5px; + width: 230px; } - .label { - font-size: 13px; - padding: 0 5px; - font-family: Verdana,sans-serif; - line-height: 30px; + .contentWidgetWithDetachable { + padding: 0 0px; } - .labelEnabled { - color: #333333; - } - - .labelDisabled { - color: gray; - } </ui:style> <g:HTMLPanel ui:field="wrapperPanel" addStyleNames="{style.wrapper}"> - - <label ui:field="label" class="{style.label} {style.labelEnabled}" /> - <g:FlowPanel addStyleNames="{style.contentWrapper}"> <g:Image ui:field="attachedSeparatedImage" addStyleNames="{style.image}" /> <g:SimplePanel ui:field="contentWidgetContainer" /> diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidgetWithLabel.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidgetWithLabel.java new file mode 100644 index 0000000..abb1047 --- /dev/null +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidgetWithLabel.java @@ -0,0 +1,80 @@ +package org.ovirt.engine.ui.common.widget.editor.generic; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.dom.client.LabelElement; +import com.google.gwt.dom.client.Style.Display; +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.Composite; +import com.google.gwt.user.client.ui.HasEnabled; +import com.google.gwt.user.client.ui.Image; +import com.google.gwt.user.client.ui.SimplePanel; +import com.google.gwt.user.client.ui.Widget; +import org.ovirt.engine.ui.common.CommonApplicationResources; +import org.ovirt.engine.ui.common.widget.AbstractValidatedWidgetWithLabel; +import org.ovirt.engine.ui.common.widget.HasDetachable; +import org.ovirt.engine.ui.common.widget.HasLabel; + +public class EntityModelDetachableWidgetWithLabel extends BaseEntityModelDetachableWidget implements HasLabel, HasEnabled { + + interface WidgetUiBinder extends UiBinder<Widget, EntityModelDetachableWidgetWithLabel> { + WidgetUiBinder uiBinder = GWT.create(WidgetUiBinder.class); + } + + interface Style extends BaseStyle { + + String labelEnabled(); + + String labelDisabled(); + } + + @UiField + LabelElement label; + + @UiField(provided = true) + SimplePanel contentWidgetContainer; + + @UiField + Image attachedSeparatedImage; + + @UiField + Style style; + + private AbstractValidatedWidgetWithLabel decorated; + + public EntityModelDetachableWidgetWithLabel(AbstractValidatedWidgetWithLabel decorated) { + this.decorated = decorated; + contentWidgetContainer = decorated.getContentWidgetContainer(); + + initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this)); + + initialize(contentWidgetContainer, attachedSeparatedImage, style); + } + + @Override + public String getLabel() { + return label.getInnerText(); + } + + @Override + public void setLabel(String label) { + this.label.setInnerText(label); + } + + @Override + public boolean isEnabled() { + return decorated.isEnabled(); + } + + @Override + public void setEnabled(boolean enabled) { + decorated.setEnabled(enabled); + + if (enabled) { + label.replaceClassName(style.labelDisabled(), style.labelEnabled()); + } else { + label.replaceClassName(style.labelEnabled(), style.labelDisabled()); + } + } +} diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidgetWithLabel.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidgetWithLabel.ui.xml new file mode 100644 index 0000000..2189af8 --- /dev/null +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidgetWithLabel.ui.xml @@ -0,0 +1,60 @@ +<?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"> + + <ui:with field='resources' type='org.ovirt.engine.ui.common.CommonApplicationResources' /> + + <ui:style type="org.ovirt.engine.ui.common.widget.editor.generic.EntityModelDetachableWidgetWithLabel.Style"> + .image { + vertical-align: -4px; + } + + .wrapper { + text-align: left; + } + + .contentWrapper { + float: right; + width: 230px; + padding: 0 5px; + } + + .contentWidgetWithoutDetachable, .contentWidgetWithDetachable { + float: right; + } + .contentWidgetWithoutDetachable { + padding: 0 5px; + width: 230px; + } + + .contentWidgetWithDetachable { + padding: 0 0px; + } + + .label { + font-size: 13px; + padding: 0 5px; + font-family: Verdana,sans-serif; + line-height: 30px; + } + + .labelEnabled { + color: #333333; + } + + .labelDisabled { + color: gray; + } + </ui:style> + + <g:HTMLPanel ui:field="wrapperPanel" addStyleNames="{style.wrapper}"> + + <label ui:field="label" class="{style.label} {style.labelEnabled}" /> + + <g:FlowPanel addStyleNames="{style.contentWrapper}"> + <g:Image ui:field="attachedSeparatedImage" addStyleNames="{style.image}" /> + <g:SimplePanel ui:field="contentWidgetContainer" /> + </g:FlowPanel> + </g:HTMLPanel> + +</ui:UiBinder> diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java index 59aaa23..f0e5adb 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java @@ -29,6 +29,7 @@ import org.ovirt.engine.ui.common.CommonApplicationTemplates; import org.ovirt.engine.ui.common.idhandler.WithElementId; import org.ovirt.engine.ui.common.widget.Align; +import org.ovirt.engine.ui.common.widget.EntityModelDetachableWidgetWithInfo; import org.ovirt.engine.ui.common.widget.EntityModelWidgetWithInfo; import org.ovirt.engine.ui.common.widget.HasDetachable; import org.ovirt.engine.ui.common.widget.dialog.AdvancedParametersExpander; @@ -44,6 +45,7 @@ import org.ovirt.engine.ui.common.widget.editor.generic.EntityModelCheckBoxEditor; import org.ovirt.engine.ui.common.widget.editor.generic.EntityModelCheckBoxOnlyEditor; import org.ovirt.engine.ui.common.widget.editor.generic.EntityModelDetachableWidget; +import org.ovirt.engine.ui.common.widget.editor.generic.EntityModelDetachableWidgetWithLabel; import org.ovirt.engine.ui.common.widget.editor.generic.EntityModelRadioButtonEditor; import org.ovirt.engine.ui.common.widget.editor.generic.EntityModelTextBoxEditor; import org.ovirt.engine.ui.common.widget.editor.generic.EntityModelTextBoxOnlyEditor; @@ -221,19 +223,19 @@ protected DialogTab systemTab; @UiField(provided = true) - public EntityModelDetachableWidget detachableMemSizeEditor; + public EntityModelDetachableWidgetWithLabel detachableMemSizeEditor; @Path(value = "memSize.entity") @WithElementId("memSize") public EntityModelTextBoxEditor<Integer> memSizeEditor; - @UiField(provided = true) @Path(value = "totalCPUCores.entity") @WithElementId("totalCPUCores") public StringEntityModelTextBoxOnlyEditor totalvCPUsEditor; @UiField(provided = true) - InfoIcon totalVCpuInfoIcon; + @Ignore + public EntityModelDetachableWidgetWithInfo totalvCPUsEditorWithInfoIcon; @UiField @Ignore @@ -761,6 +763,7 @@ initPoolSpecificWidgets(resources, messages); initTextBoxEditors(); initSpiceProxy(); + initTotalVcpus(); initDetachableFields(); @@ -791,7 +794,7 @@ } private void initDetachableFields() { - detachableMemSizeEditor = new EntityModelDetachableWidget(memSizeEditor); + detachableMemSizeEditor = new EntityModelDetachableWidgetWithLabel(memSizeEditor); } protected void initialize() { @@ -805,6 +808,14 @@ spiceProxyEnabledCheckboxWithInfoIcon = new EntityModelWidgetWithInfo(label, spiceProxyOverrideEnabledEditor); } + private void initTotalVcpus() { + EntityModelLabel label = new EntityModelLabel(); + label.setText(constants.numOfVCPUs()); + totalvCPUsEditor = new StringEntityModelTextBoxOnlyEditor(new ModeSwitchingVisibilityRenderer()); + totalvCPUsEditorWithInfoIcon = new EntityModelDetachableWidgetWithInfo(label, totalvCPUsEditor); + totalvCPUsEditorWithInfoIcon.setExplanation(applicationTemplates.italicText(messages.hotPlugUnplugCpuWarning())); + } + public void setSpiceProxyOverrideExplanation(String explanation) { spiceProxyEnabledCheckboxWithInfoIcon.setExplanation(applicationTemplates.italicText(explanation)); } @@ -812,7 +823,6 @@ private void initTextBoxEditors() { descriptionEditor = new StringEntityModelTextBoxEditor(new ModeSwitchingVisibilityRenderer()); commentEditor = new StringEntityModelTextBoxEditor(new ModeSwitchingVisibilityRenderer()); - totalvCPUsEditor = new StringEntityModelTextBoxOnlyEditor(new ModeSwitchingVisibilityRenderer()); numOfVmsEditor = new IntegerEntityModelTextBoxEditor(new ModeSwitchingVisibilityRenderer()); cpuPinning = new StringEntityModelTextBoxOnlyEditor(new ModeSwitchingVisibilityRenderer()); cpuSharesAmountEditor = new IntegerEntityModelTextBoxOnlyEditor(new ModeSwitchingVisibilityRenderer()); @@ -857,7 +867,6 @@ }); - totalVCpuInfoIcon = new InfoIcon(applicationTemplates.italicText(messages.hotPlugUnplugCpuWarning()), resources); } /** diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml index a6a1de1..8258f2f 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml @@ -337,10 +337,6 @@ padding-left: 5px; } - .totalvcpusTextBox { - float: right; - } - .cpuSahresValueTextBox { padding-left: 5px; } @@ -448,21 +444,17 @@ <t:DialogTab ui:field="systemTab"> <t:content> <g:FlowPanel> - <g:FlowPanel addStyleNames="{style.labelToCouple}"> - <g:Label text="{constants.numOfVCPUs}" addStyleNames="{style.labelToCoupleLabel}"/> - <d:InfoIcon ui:field="totalVCpuInfoIcon"/> - <ge:StringEntityModelTextBoxOnlyEditor ui:field="totalvCPUsEditor" addStyleNames="{style.totalvcpusTextBox}"/> - </g:FlowPanel> - <ge:EntityModelDetachableWidget ui:field="detachableMemSizeEditor"/> - <g:FlowPanel addStyleNames="{style.sectionPanel}"> - <d:AdvancedParametersExpander ui:field="vcpusAdvancedParameterExpander"/> - <g:FlowPanel ui:field="vcpusAdvancedParameterExpanderContent" addStyleNames="{style.generalExpanderContent}"> - <e:ListModelListBoxEditor ui:field="corePerSocketEditor" /> - <e:ListModelListBoxEditor ui:field="numOfSocketsEditor" /> - </g:FlowPanel> + <ge:EntityModelDetachableWidgetWithLabel ui:field="detachableMemSizeEditor"/> + <w:EntityModelDetachableWidgetWithInfo ui:field="totalvCPUsEditorWithInfoIcon" /> + <g:FlowPanel addStyleNames="{style.sectionPanel}"> + <d:AdvancedParametersExpander ui:field="vcpusAdvancedParameterExpander"/> + <g:FlowPanel ui:field="vcpusAdvancedParameterExpanderContent" addStyleNames="{style.generalExpanderContent}"> + <e:ListModelListBoxEditor ui:field="corePerSocketEditor" /> + <e:ListModelListBoxEditor ui:field="numOfSocketsEditor" /> </g:FlowPanel> - <g:Label ui:field="generalLabel" addStyleNames="{style.sectionLabel}" text="{constants.initialRunGeneral}" /> - <e:ListModelListBoxEditor ui:field="timeZoneEditor" /> + </g:FlowPanel> + <g:Label ui:field="generalLabel" addStyleNames="{style.sectionLabel}" text="{constants.initialRunGeneral}" /> + <e:ListModelListBoxEditor ui:field="timeZoneEditor" /> </g:FlowPanel> </t:content> </t:DialogTab> diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmPopupWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmPopupWidget.java index cf69d61..50d6585 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmPopupWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmPopupWidget.java @@ -48,6 +48,7 @@ protected PopupWidgetConfigMap createWidgetConfiguration() { return super.createWidgetConfiguration(). putAll(poolSpecificFields(), hiddenField()). + putOne(totalvCPUsEditorWithInfoIcon, simpleField().detachable().visibleInAdvancedModeOnly()). putOne(detachableMemSizeEditor, simpleField().detachable().visibleInAdvancedModeOnly()); } } -- To view, visit http://gerrit.ovirt.org/24956 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If2d5ce42ebec9e6e0be384dd2b4fb84d7abe34be Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tomas Jelinek <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
