Greg Sheremeta has uploaded a new change for review.

Change subject: userportal, webadmin: add WidgetTooltip
......................................................................

userportal, webadmin: add WidgetTooltip

Added a WidgetTooltip class that wraps b:Tooltip. This wrapper class just
facilitates sharing of configuration values with ElementTooltip.

WrapperTooltip is used to wrap Widgets. ElementTooltip works on non-widget
Elements.

Example usage:
<t:WidgetTooltip text="some tooltip text">
    <g:Label> ... </g:Label>
</t:WidgetTooltip>

Change-Id: Ic8380921c9a2a206e58fd737059e66212dbc52a9
Signed-off-by: Greg Sheremeta <[email protected]>
---
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/cell/AbstractTooltipCell.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tooltip/ElementTooltip.java
A 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tooltip/TooltipConfig.java
A 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tooltip/WidgetTooltip.java
M packaging/branding/ovirt.brand/ovirt.css
5 files changed, 103 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/57/37757/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/cell/AbstractTooltipCell.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/cell/AbstractTooltipCell.java
index 4a1f3cd..eb41733 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/cell/AbstractTooltipCell.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/cell/AbstractTooltipCell.java
@@ -176,7 +176,6 @@
      */
     private ElementTooltip addTooltipToCell(SafeHtml tooltipContent, Element 
parent, NativeEvent event) {
         ElementTooltip tooltip = new ElementTooltip(parent);
-        tooltip.setContainer("body"); //$NON-NLS-1$
 
         tooltip.setContent(tooltipContent);
         tooltip.reconfigure();
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tooltip/ElementTooltip.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tooltip/ElementTooltip.java
index ad7cfa0..969907a 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tooltip/ElementTooltip.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tooltip/ElementTooltip.java
@@ -52,16 +52,16 @@
     private static final String HIDE = "hide"; //$NON-NLS-1$
     private static final String DESTROY = "destroy"; //$NON-NLS-1$
 
-    private boolean isAnimated = true;
-    private boolean isHTML = true;
-    private Placement placement = Placement.TOP;
-    private Trigger trigger = Trigger.HOVER;
+    private boolean isAnimated = TooltipConfig.IS_ANIMATED;
+    private boolean isHTML = TooltipConfig.IS_HTML;
+    private Placement placement = TooltipConfig.PLACEMENT;
+    private Trigger trigger = TooltipConfig.TRIGGER;
     private SafeHtml content = null;
-    private String container = null;
+    private String container = TooltipConfig.CONTAINER;
     private final String selector = null;
 
-    private int hideDelayMs = 0;
-    private int showDelayMs = 200;
+    private int hideDelayMs = TooltipConfig.HIDE_DELAY_MS;
+    private int showDelayMs = TooltipConfig.SHOW_DELAY_MS;
     private int reaperInterval = 200;
     private Timer reaperTimer = null;
 
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tooltip/TooltipConfig.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tooltip/TooltipConfig.java
new file mode 100644
index 0000000..f41b614
--- /dev/null
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tooltip/TooltipConfig.java
@@ -0,0 +1,37 @@
+package org.ovirt.engine.ui.common.widget.tooltip;
+
+import org.gwtbootstrap3.client.ui.constants.Placement;
+import org.gwtbootstrap3.client.ui.constants.Trigger;
+
+/**
+ * Constant configuration values shared across all tooltips.
+ */
+public class TooltipConfig {
+
+    public enum Width {
+        W220 ("tooltip-w220"), //$NON-NLS-1$
+        W320 ("tooltip-w320"), //$NON-NLS-1$
+        W420 ("tooltip-w420"), //$NON-NLS-1$
+        W520 ("tooltip-w520"), //$NON-NLS-1$
+        W620 ("tooltip-w620"); //$NON-NLS-1$
+
+        private final String widthClass; // in px
+
+        Width(String widthClass) {
+            this.widthClass = widthClass;
+        }
+
+        public String getWidthClass() {
+            return widthClass;
+        }
+    }
+
+    public final static boolean IS_ANIMATED = true;
+    public final static boolean IS_HTML = true;
+    public final static Placement PLACEMENT = Placement.TOP;
+    public final static Trigger TRIGGER = Trigger.HOVER;
+    public final static String CONTAINER = "body"; //$NON-NLS-1$
+    public final static int HIDE_DELAY_MS = 0;
+    public final static int SHOW_DELAY_MS = 500;
+
+}
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tooltip/WidgetTooltip.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tooltip/WidgetTooltip.java
new file mode 100644
index 0000000..a129f13
--- /dev/null
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tooltip/WidgetTooltip.java
@@ -0,0 +1,33 @@
+package org.ovirt.engine.ui.common.widget.tooltip;
+
+import org.gwtbootstrap3.client.ui.Tooltip;
+
+import com.google.gwt.user.client.ui.Widget;
+
+/**
+ * Wrapper around Bootstrap Tooltip that sets up oVirt-specific config values.
+ * Use as a drop-in for b:Tooltip.
+ */
+public class WidgetTooltip extends Tooltip {
+
+    public WidgetTooltip(Widget w) {
+        super(w);
+        init();
+    }
+
+    public WidgetTooltip() {
+        super();
+        init();
+    }
+
+    private void init() {
+        this.setIsAnimated(TooltipConfig.IS_ANIMATED);
+        this.setPlacement(TooltipConfig.PLACEMENT);
+        this.setIsHtml(TooltipConfig.IS_HTML);
+        this.setTrigger(TooltipConfig.TRIGGER);
+        this.setShowDelayMs(TooltipConfig.SHOW_DELAY_MS);
+        this.setHideDelayMs(TooltipConfig.HIDE_DELAY_MS);
+        this.setContainer(TooltipConfig.CONTAINER);
+    }
+
+}
diff --git a/packaging/branding/ovirt.brand/ovirt.css 
b/packaging/branding/ovirt.brand/ovirt.css
index 49dc1fc..da8bddb 100644
--- a/packaging/branding/ovirt.brand/ovirt.css
+++ b/packaging/branding/ovirt.brand/ovirt.css
@@ -22,3 +22,29 @@
 .labelDisabled {
     color: gray;
 }
+
+
+/***************************************
+Tooltips
+TODO: use SASS, break into tooltips.sass
+****************************************/
+
+.tooltip-w220 .tooltip-inner {
+    max-width: 220px !important;
+}
+
+.tooltip-w320 .tooltip-inner {
+    max-width: 320px !important;
+}
+
+.tooltip-w420 .tooltip-inner {
+    max-width: 420px !important;
+}
+
+.tooltip-w520 .tooltip-inner {
+    max-width: 520px !important;
+}
+
+.tooltip-w620 .tooltip-inner {
+    max-width: 620px !important;
+}


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

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

Reply via email to