UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

185 lines (147 loc) 4.81 kB
/* ************************************************************************ qooxdoo - the new era of web development http://qooxdoo.org Copyright: 2004-2008 1&1 Internet AG, Germany, http://www.1und1.de License: MIT: https://opensource.org/licenses/MIT See the LICENSE file in the project's top-level directory for details. Authors: * Sebastian Werner (wpbasti) * Fabian Jakobs (fjakobs) ************************************************************************ */ /* ************************************************************************ ************************************************************************ */ /** * * @asset(qx/icon/${qx.icontheme}/16/actions/help-about.png) * @asset(qx/icon/${qx.icontheme}/32/actions/help-about.png) */ qx.Class.define("qxl.demobrowser.demo.widget.Tooltip", { extend : qx.application.Standalone, members : { main: function() { this.base(arguments); var scroller = new qx.ui.container.Scroll(); this.getRoot().add(scroller, {edge : 0}); var layout = new qx.ui.layout.Grid(10, 10); this.container = new qx.ui.container.Composite(layout).set({ padding: 20 }); scroller.add(this.container); this.createSharedToolTip(); this.createIconToolTip(); this.createToolTip(); this.createShortTimeoutToolTip(); this.createRichToolTip(); this.createToolTipText(); this.createToolTipIcon(); this.createToolTipTextIcon(); }, __columns : 4, __index : 0, add : function(widget) { this.container.add(widget, { row: Math.floor(this.__index / this.__columns), column : this.__index % this.__columns }); this.__index += 1; }, createSharedToolTip : function() { var tooltip = new qx.ui.tooltip.ToolTip("Shared ToolTip"); tooltip.addListener("appear", function(e) { var label = "Shared tool tip of button #"; if (this.getOpener() == button1) { label += "1"; } else { label += "2"; } tooltip.setLabel(label); }); var button1 = new qx.ui.form.Button("Button #1 (Shared ToolTip)"); button1.setToolTip(tooltip); this.add(button1); var button2 = new qx.ui.form.Button("Button #2 (Shared ToolTip)"); button2.setToolTip(tooltip); this.add(button2); }, createIconToolTip : function() { var button = new qx.ui.form.Button("Icon only ToolTip").set({ toolTip: new qx.ui.tooltip.ToolTip(null, "icon/16/actions/help-about.png") }); this.add(button); }, createToolTip : function() { var button = new qx.ui.form.Button("ToolTip with icon and label").set({ toolTip: new qx.ui.tooltip.ToolTip( "Hello World #3", "icon/16/actions/help-about.png" ) }); this.add(button); }, createShortTimeoutToolTip : function() { var tooltip = new qx.ui.tooltip.ToolTip( "Such a great tooltip with a (show) timeout of 50ms.", "icon/32/actions/help-about.png" ); tooltip.setShowTimeout(50); var button = new qx.ui.form.Button("Short timeout ToolTip"); this.add(button); button.setToolTip(tooltip); }, createRichToolTip : function() { var tooltip = new qx.ui.tooltip.ToolTip( "A long label text with auto-wrapping. " + "This also may contain <b style='color:red'>rich HTML</b> markup " + "and with a (show) timeout of 50ms.", "icon/32/actions/help-about.png"); tooltip.setWidth(200); tooltip.setRich(true); tooltip.setShowTimeout(50); var button = new qx.ui.form.Button("ToolTip with icon and rich text"); this.add(button); button.setToolTip(tooltip); }, createToolTipText : function() { var button = new qx.ui.form.Button("Button with ToolTipText").set({ toolTipText : "Tooltip text" }); this.add(button); }, createToolTipIcon : function() { var button = new qx.ui.form.Button("Button with ToolTipIcon").set({ toolTipIcon : "icon/16/actions/help-about.png" }); this.add(button); }, createToolTipTextIcon : function() { var button = new qx.ui.form.Button("Button with ToolTipText and ToolTipIcon").set({ toolTipText : "Tooltip text", toolTipIcon : "icon/16/actions/help-about.png" }); this.add(button); } }, /* ***************************************************************************** DESTRUCT ***************************************************************************** */ destruct : function() { this._disposeObjects("container"); } });