Lior Vernia has uploaded a new change for review. Change subject: webadmin: Changed editor prohibition reason mechanism ......................................................................
webadmin: Changed editor prohibition reason mechanism The tooltip displayed over disabled editor widgets (change prohibition reason) is now updated upon call to setChangeProhibitionReason() rather than setIsChangeable(). This means that the correct tooltip will be shown even if setChangeProhibitionReason() is called after setIsChangeable(false), which hasn't been the case up 'til now. Change-Id: Ifb76b2348922bfebf62c54da4ee2a8ca45ebef31 Signed-off-by: Lior Vernia <lver...@redhat.com> --- M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/editor/UiCommonEditorVisitor.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/HasEnabledWithHints.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/WidgetWithLabelEditor.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/Model.java 5 files changed, 21 insertions(+), 14 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/64/16464/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/editor/UiCommonEditorVisitor.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/editor/UiCommonEditorVisitor.java index 1dc685c..b04d8a2 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/editor/UiCommonEditorVisitor.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/editor/UiCommonEditorVisitor.java @@ -109,6 +109,11 @@ onIsChangablePropertyChange(functionalEditor, ownerModel); } + // ChangeProhibitionReason + else if ("ChangeProhibitionReason".equals(propName)) { //$NON-NLS-1$ + onChangeProhibitionReasonChange(functionalEditor, ownerModel); + } + // IsAvailable else if ("IsAvailable".equals(propName)) { //$NON-NLS-1$ onIsAvailablePropertyChange(functionalEditor, ownerModel); @@ -205,10 +210,14 @@ if (model.getIsChangable()) { editor.setEnabled(true); } else { - editor.disable(model.getChangeProhibitionReason()); + editor.setEnabled(false); } } + void onChangeProhibitionReasonChange(HasEnabledWithHints editor, EntityModel model) { + editor.setDisabilityHint(model.getChangeProhibitionReason()); + } + void onIsAvailablePropertyChange(HasAccess editor, EntityModel model) { boolean isAvailable = model.getIsAvailable(); editor.setAccessible(isAvailable); diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.java index 12b1e2b..88ab1db 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.java @@ -195,17 +195,12 @@ } if (!keepTitleOnSetEnabled) { - updateWidgetTitle(null); + setDisabilityHint(null); } } @Override - public void disable(String disabilityHint) { - setEnabled(false); - updateWidgetTitle(disabilityHint); - } - - private void updateWidgetTitle(String title) { + public void setDisabilityHint(String title) { contentWidget.asWidget().setTitle(title); } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/HasEnabledWithHints.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/HasEnabledWithHints.java index fbf1bfe..b5c7fdc 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/HasEnabledWithHints.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/HasEnabledWithHints.java @@ -9,11 +9,11 @@ public interface HasEnabledWithHints extends HasEnabled { /** - * Disables this widget, providing an disability hint. + * Sets a disability hint for a widget, to be shown if it's disabled. * * @param disabilityHint * Disability hint describing reason why this widget is disabled (can be {@code null}). */ - void disable(String disabilityHint); + void setDisabilityHint(String disabilityHint); } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/WidgetWithLabelEditor.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/WidgetWithLabelEditor.java index 7d1c09d..ea25e54 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/WidgetWithLabelEditor.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/WidgetWithLabelEditor.java @@ -72,8 +72,8 @@ } @Override - public void disable(String disabilityHint) { - widgetWithLabel.disable(disabilityHint); + public void setDisabilityHint(String disabilityHint) { + widgetWithLabel.setDisabilityHint(disabilityHint); } @Override diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/Model.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/Model.java index d183309..7be3598 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/Model.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/Model.java @@ -282,7 +282,7 @@ if (isChangable) { - privateChangeProhibitionReason = null; + setChangeProhibitionReason(null); } } return this; @@ -297,7 +297,10 @@ public void setChangeProhibitionReason(String value) { - privateChangeProhibitionReason = value; + if (privateChangeProhibitionReason != value) { + privateChangeProhibitionReason = value; + onPropertyChanged(new PropertyChangedEventArgs("ChangeProhibitionReason")); //$NON-NLS-1$ + } } private boolean isSelected; -- To view, visit http://gerrit.ovirt.org/16464 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ifb76b2348922bfebf62c54da4ee2a8ca45ebef31 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Lior Vernia <lver...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches