<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi Hilaire,</p>
    <p>What you say makes sense. If an owner provides a #balloonText,
      why not use it? Smalltalk still amazes me after decades using it.
      It took less than 10 minutes to prepare update #7835, that I just
      pushed to github. And the code is simple and makes sense. Now, for
      instance, in a Browser, if you place the mouse over the scrollbars
      or other widget without balloon help, it will show the one for the
      window.</p>
    <p>There is some chance this is annoying in some cases. Please
      everyone, if you see some place where this is not good, just tell,
      and we'll find a way to avoid it if desired.</p>
    <p>Thanks Hilaire for raising this. Cuis doesn't follow any other
      criteria than what makes sense for us. And we're all learning all
      the time, and Cuis can always improve as we do it.</p>
    <p>Cheers,</p>
    <div class="moz-cite-prefix">On 2026-02-08 8:43 AM, Hilaire
      Fernandes via Cuis-dev wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:f3e10bc8-31a0-4e58-a6df-2e6854e5dacd@free.fr">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <p>Hi, </p>
      <p>I don't know if this can be improved, but I think it is worth
        sharing this minor concern.</p>
      <p>Observe in the code below, to build a simple view, how I need
        to duplicate the balloon text to all the view sub-morphs. The
        expected behavior was that balloon text will be needed for the
        encompassing morph (top view) if no balloon text was set in the
        sub-morphs.</p>
      <p>But may, be this should be the normal behavior.</p>
      <pre>initialize
    | scroll |
    super initialize.
    self beColumn.
    date := LabelMorph contents: (model date printFormat: #(1 2 3 $/ 1 1 1))  fontSize: 12 emphasis: 1.
    date <b>setBalloonText</b>: model balloonText.
    description := TextParagraphMorph contents: (model description justified italic pointSize: 10):: 
        color: Color white ;
        setHeightOnContent ;
        <b>setBalloonText</b>: model balloonText;
        borderWidth: 0.
    self addMorph:  date layoutSpec: LayoutSpec keepMorphExtent ;
        addMorphUseAll: (scroll := PluggableScrollPane new 
            layoutSpec: LayoutSpec useAll;
            <b>setBalloonText</b>: model balloonText;
            color: Color white;
            scroller: description);
        morphExtent: TimelineEntryView extent.
    scroll adoptWidgetsColor: self defaultColor.
    scroll verticalScrollBar morphWidth: 6.
    self <b>setBalloonText</b>: model balloonText </pre>
      <p><br>
      </p>
      <pre class="moz-signature" cols="72">-- 
<a class="moz-txt-link-freetext" href="http://mamot.fr/@drgeo"
      moz-do-not-send="true">http://mamot.fr/@drgeo</a></pre>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
Juan Vuletich
<a class="moz-txt-link-abbreviated" href="http://www.cuis.st">www.cuis.st</a>
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich</pre>
  </body>
</html>