----- Original Message ----- > From: "Greg Sheremeta" <gsher...@redhat.com> > To: devel@ovirt.org > Sent: Friday, 20 March, 2015 10:37:04 PM > Subject: [ovirt-devel] [ACTION REQUESTED] new tooltips! don't use > title='tooltip' anymore > > Hi, > > TL;DR: there are new tooltip classes. Please only use the new stuff > going forward. > > ... > > A bunch of patches were merged this week that converted every tooltip > in ovirt-engine to use PatternFly (Bootstrap3) tooltips. Examples: [1]
Nice work, Greg! The column/cell infra cleanup is much appreciated. > > Since we want to keep all of the tooltips looking the same, please > don't use DecoratedPanels or title attributes for tooltips anymore. > Going forward, you must use the WidgetTooltip class (if you're putting > a tooltip on a Widget), or the built in getTooltip() template method > if you're providing a tooltip in a grid. [2] > > As part of this effort, I did some cleanup / refactoring to the Cell > and Column infrastructure. > > A few noteworthy things: > > * All custom Cells that simply provided some variation of tooltip > behavior were removed. Tooltips are now provided for free by the > root objects in the Cell and Column hierarchy. > > * Almost all Columns use the template-method pattern for rendering > a tooltip. Simply override the getTooltip method with tooltip > contents. 'null' is ok (means no tooltip). > > * Cells also use the same template-method pattern for supporting a > tooltip render, but tooltips should render in Columns wherever > possible. Only use direct Cell rendering if absolutely necessary -- > for example, in CompositeCells. > > * Text truncation behavior now lives in TextCell. There are two > truncation methods -- fixed length limit, or CSS overflow-based. > Text that is truncated will show in a tooltip, unless a manual > tooltip is provided on that Column. (In other words, if text is > too long to fit in a column, '...' will appear and a tooltip will > show the full contents. Unless you override that behavior by > setting your own tooltip in getTooltip().) > > * The Element ID Framework is fully integrated now. All Cell render > methods are passed a unique ID. Please use it in your render. This > helps with automated tests. > > > Some code examples: > > in UIBinder: > > <t:WidgetTooltip ui:field="tooltip"> > <g:SomeWidget ...> > </t:WidgetTooltip> > > ... > > @UiField > WidgetTooltip tooltip; > > ... > > tooltip.setHtml(someToolipValue); > tooltip.reconfigure(); > > > > in a Column: > > @Override > public SafeHtml getTooltip(XXXX object) { > String tooltipContent = object.someProperty(); > return SafeHtmlUtils.fromString(tooltipContent); > } > > or, if a constant tooltip: > > @Override > public SafeHtml getTooltip(XXXX object) { > return SafeHtmlUtils.fromTrustedConstant(constants.someConstant()); > } > > > Let me know if there are any questions, or if you see any bugs! > > Thanks, > Greg > > [1] http://i.imgur.com/rZ5oIIb.png > http://i.imgur.com/6lpKuSD.png > http://i.imgur.com/hYcZSuT.png > http://i.imgur.com/9oKZnK4.png > > [2] you can also put a tooltip on an Element, but try to use a > Widget if you can. See TooltipMixin::addTooltipToElement() > > > Greg Sheremeta > Red Hat, Inc. > Sr. Software Engineer, RHEV > Cell: 919-807-1086 > gsher...@redhat.com > _______________________________________________ > Devel mailing list > Devel@ovirt.org > http://lists.ovirt.org/mailman/listinfo/devel > _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel