AW: Tree List: changing the $tootip based on the line the mouse is over.

Udo Sonnabend | WigaSoft AG U.Sonnabend at wigasoft.ch
Thu Sep 15 20:55:30 UTC 2022


   Hi Doug
   Good to hear, a real abreviation/shortcut - took some time for me get
   the same result, but was a challenging and fun for me ;)
   So, with your own work, you have a working workaround... and hopeful
   Omnis will enhance the event messaging...
   Regards, Udo.

   WigaSoft AG
   Udo Sonnabend
   Entwickler
   Oberstrasse 222 | Postfach 51 | CH-9014 St. Gallen
   Telefon +41 71 274 51 31 | [1]www.wigasoft.ch |
   [2]U.Sonnabend at wigasoft.ch

   Veranstaltungshinweis
   25. - 27. Oktober 2022 Besuchen Sie uns an der [3]IFAS Expo, der
   wichtigste Branchentreffpunkt für den Schweizer Gesundheitssektor, sie
   finden uns in der Halle 7, Stand 30.
   Bestellen Sie jetzt mit unserem Gutscheincode Ihr [4]Eintrittsticket


   Diese Mitteilung kann persönliche, vertrauliche oder rechtlich
   geschützte Informationen enthalten und ist nur für die Verwendung durch
   den beabsichtigten Empfänger bestimmt. Auf Vertraulichkeit oder Rechte
   wird aufgrund von Fehlübertragungen nicht verzichtet. Wenn Sie nicht
   der beabsichtigte Empfänger dieser Mitteilung sind, dürfen Sie diese in
   keiner Form verwenden, verbreiten oder kopieren. Haben Sie diese
   Mitteilung irrtümlich erhalten, dann löschen Sie diese und allfällige
   Kopien und benachrichtigen Sie bitte unverzüglich den Absender – besten
   Dank.
   P Bitte denken Sie an die Umwelt, bevor Sie dieses Mail drucken. Think
   before print!
   -----Ursprüngliche Nachricht-----
   Von: omnisdev-en [[5]mailto:omnisdev-en-bounces at lists.omnis-dev.com] Im
   Auftrag von Doug Easterbrook via omnisdev-en
   Gesendet: Donnerstag, 15. September 2022 03:25
   An: OmnisDev List - English <omnisdev-en at lists.omnis-dev.com>
   Cc: Doug Easterbrook <doug at artsman.com>
   Betreff: Re: Tree List: changing the $tootip based on the line the
   mouse is over.
   hi Udo
   I’ve come a little closer - was corresponging with omnis support and
   here’s the hist of what I have right now.
   On evMouseEnter
   # V1007371 see if we can determine what the line is to make a
   customtooltip of the line Calculate line as mouseover(kMLine) If line>0
   Do iTreeList.$getvisiblenode(line) Returns icNode Calculate Tag as
   icNode.$tag
   Calculate message as 'Click on a field to use that field as part of
   your search criteria’
   If ableToMakeCustomTooltip
   Calculate message as $cinst.$getCustomToolTip(Tag) End If Calculate
   iTreeList.$tooltip as message End If
   Omnis support pointed out that there was a great shortcut to
   $getVisibleNode() based on the line number.  That dramatically
   simplifies the code.   So, I’ll implement this.
   I put in an enhancement request for ‘on evMouseover’ event support.
   We put this in our theatre map external and use it to make custom
   tooltips when people hover over a seat in a theatre .. it’ll say things
   like ’section A Row B Seat 101’
   There is a nice property called '$hot’ that you can enable for a tree
   list so when you run your mouse over the treelist, it highlights which
   line you are on.    if Studio knows that, then evMouseover should be
   possible
   for the meantime, I could run timers to see where people are and call
   the tooltip creation routines… but I think timers are overkill for
   this.
   so, thanks for the suggestions.   it got me where I now know how to do
   it and where this fall short.
   Doug Easterbrook
   Arts Management Systems Ltd.
   [6]mailto:doug at artsman.com
   [7]http://www.artsman.com
   Phone (403) 650-1978
   > On Sep 14, 2022, at 12:46 AM, Udo Sonnabend | WigaSoft AG
   <U.Sonnabend at wigasoft.ch> wrote:
   >
   >   Hi Doug
   >   Yes, only evMouseEnter and evMouseLeave can be triggered. By
   setting up
   >   a timer which evaluates the current node of the mouse position I
   >   thought that it will be possible to change the tooltip. But
   redrawing
   >   the tree component with all different options makes no effect.
   There
   >   seems no possibility to redraw the tooltip even when changing the
   >   $tooltipPos. May be some folks out know a solution ?
   >   So it would be a good enhancement request to Omnis to  provide a
   >   function for redrawing the current tooltip and 2nd getting an
   optional
   >   evMouseMove Event on every component.
   >   Regards,
   >   u.
   >
   >   WigaSoft AG
   >   Udo Sonnabend
   >   Entwickler
   >   Oberstrasse 222 | Postfach 51 | CH-9014 St. Gallen
   >   Telefon +41 71 274 51 31 | [1]www.wigasoft.ch |
   >   [2]U.Sonnabend at wigasoft.ch
   >
   >   Veranstaltungshinweis
   >   25. - 27. Oktober 2022 Besuchen Sie uns an der [3]IFAS Expo, der
   >   wichtigste Branchentreffpunkt für den Schweizer Gesundheitssektor,
   sie
   >   finden uns in der Halle 7, Stand 30.
   >   Bestellen Sie jetzt mit unserem Gutscheincode Ihr
   [4]Eintrittsticket
   >
   >
   >   Diese Mitteilung kann persönliche, vertrauliche oder rechtlich
   >   geschützte Informationen enthalten und ist nur für die Verwendung
   durch
   >   den beabsichtigten Empfänger bestimmt. Auf Vertraulichkeit oder
   Rechte
   >   wird aufgrund von Fehlübertragungen nicht verzichtet. Wenn Sie
   nicht
   >   der beabsichtigte Empfänger dieser Mitteilung sind, dürfen Sie
   diese in
   >   keiner Form verwenden, verbreiten oder kopieren. Haben Sie diese
   >   Mitteilung irrtümlich erhalten, dann löschen Sie diese und
   allfällige
   >   Kopien und benachrichtigen Sie bitte unverzüglich den Absender –
   besten
   >   Dank.
   >   P Bitte denken Sie an die Umwelt, bevor Sie dieses Mail drucken.
   Think
   >   before print!
   >   -----Ursprüngliche Nachricht-----
   >   Von: omnisdev-en
   [[5]mailto:omnisdev-en-bounces at lists.omnis-dev.com] Im
   >   Auftrag von Doug Easterbrook via omnisdev-en
   >   Gesendet: Mittwoch, 14. September 2022 02:33
   >   An: OmnisDev List - English <omnisdev-en at lists.omnis-dev.com>
   >   Cc: Doug Easterbrook <doug at artsman.com>
   >   Betreff: Re: Tree List: changing the $tootip based on the line the
   >   mouse is over.
   >   hi Udo.
   >   long time no talk… : (
   >   thanks for the sample and it has the guts of the answer.   I’ve
   been
   >   playing with it a bit
   >   I can get what I want and set a tooltip — mostly.   When I run my
   mouse
   >   up and down the treelist, no other event is generated unltil I move
   the
   >   mouse out of the treelist area and back in
   >   eg the events on the treelist object are
   >   On evMouseEnter
   >   # V1007371 see if we can determine what the line is to make a
   >   customtooltip of the line Calculate line as mouseover(kMLine) Send
   to
   >   trace log enter line [line]
   >   On evMouseLeave
   >   Calculate line as mouseover(kMLine)
   >   Send to trace log leave line [line]
   >   when I move the cursor down the treelist, I expected a trace to
   look
   >   like
   >   enter line 1
   >   leave line 1
   >   enter line 2
   >   leave line 2
   >   etc
   >   however, that is not to be.   it only gives an entry in the
   tracelog
   >   when you enter the treelist the first time, or move it sideways out
   of
   >   the tree list area and then back in
   >   short of tracking the mouse over the entire window in the main
   event
   >   loop and doing a lot of x-y calculations, I think I’m hooped.
   Might
   >   be time to ask tech support
   >   Doug Easterbrook
   >   Arts Management Systems Ltd.
   >   [6]mailto:doug at artsman.com
   >   [7]http://www.artsman.com
   >   Phone (403) 650-1978
   >> On Sep 13, 2022, at 7:58 AM, Udo Sonnabend | WigaSoft AG
   >   <U.Sonnabend at wigasoft.ch> wrote:
   >>
   >> Hi Doug
   >>
   >> Maybe following Code Sample is what u need.
   >>
   >> Idea:
   >> An Omnis Tree-Component displays a Subset of  a Tree in deep first
   >   order DFS. So travers the tree  in this order by doing $first and
   >   $nextnode recursively. Only count visible nodes from $expanded
   branches
   >   and stop if the line number equals the received mouseover(kmline).
   Put
   >   this code behind your mouse event.
   >>
   >> Hope that fits 😉
   >>
   >> Regards,
   >> Udo.
   >>
   >>
   >> If mouseover(kMLine)
   >>
   >> Calculate line as mouseover(kMLine)
   >> Set reference node to $cobj.$first()
   >> Calculate count as 1
   >> Calculate parentLevel as 0
   >>
   >> While count<line
   >>
   >>   If node.$count&not(node.$isexpanded)&parentLevel=0
   >>     Calculate parentLevel as node.$level
   >>   End If
   >>
   >>   Set reference node to $cobj.$nextnode(node,kTrue)
   >>
   >>   If (node.$level<=parentLevel)|(parentLevel=0)
   >>     Calculate count as count+1
   >>     Calculate parentLevel as 0
   >>   Else
   >>     # do not count, hidden branch ( = not($isexpanded))
   >>   End If
   >>
   >> End While
   >> End If
   >>
   >> Send to trace log [node().$name]
   >>
   >>
   >>
   >> WigaSoft AG
   >> Udo Sonnabend
   >> Entwickler
   >>
   >> Oberstrasse 222 | Postfach 51 | CH-9014 St. Gallen Telefon +41 71
   274
   >> 51 31 | [8]www.wigasoft.ch<http://www.wigasoft.ch/> |
   >> U.Sonnabend at wigasoft.ch<mailto:U.Sonnabend at wigasoft.ch>
   >>
   >>
   >> Veranstaltungshinweis
   >> 25. - 27. Oktober 2022  Besuchen Sie uns an der IFAS
   >   Expo<https://www.ifas-expo.ch/de/expo>, der wichtigste
   >   Branchentreffpunkt für den Schweizer Gesundheitssektor, sie finden
   uns
   >   in der Halle 7, Stand 30.
   >>
   >> Bestellen Sie jetzt mit unserem Gutscheincode Ihr
   >>
   >
   >
   Eintrittsticket<https://www.ifas-expo.ch/de/ticket?voucher=IFAS2022-WI
   >> GASOFT>
   >>
   >>
   >>
   >> Diese Mitteilung kann persönliche, vertrauliche oder rechtlich
   >   geschützte Informationen enthalten und ist nur für die Verwendung
   durch
   >   den beabsichtigten Empfänger bestimmt. Auf Vertraulichkeit oder
   Rechte
   >   wird aufgrund von Fehlübertragungen nicht verzichtet. Wenn Sie
   nicht
   >   der beabsichtigte Empfänger dieser Mitteilung sind, dürfen Sie
   diese in
   >   keiner Form verwenden, verbreiten oder kopieren. Haben Sie diese
   >   Mitteilung irrtümlich erhalten, dann löschen Sie diese und
   allfällige
   >   Kopien und benachrichtigen Sie bitte unverzüglich den Absender –
   besten
   >   Dank.
   >>
   >> P Bitte denken Sie an die Umwelt, bevor Sie dieses Mail drucken.
   >   Think before print!
   >>
   >> ________________________________
   >> Von: omnisdev-en <omnisdev-en-bounces at lists.omnis-dev.com> im
   Auftrag
   >> von Doug Easterbrook via omnisdev-en
   >   <omnisdev-en at lists.omnis-dev.com>
   >> Gesendet: Dienstag, 13. September 2022 00:55
   >> An: OmnisDev List - English <omnisdev-en at lists.omnis-dev.com>
   >> Cc: Doug Easterbrook <doug at artsman.com>
   >> Betreff: Tree List: changing the $tootip based on the line the mouse
   >   is over.
   >>
   >> wondering if anybody has figured out how to change the tooltip on a
   >   tree list for the current line the mouse is over.
   >>
   >> I’ve determined out this much.    In the events on the tree list, I
   >   have
   >>
   >> on evMouseover
   >>  calculate line as mouseover(kmline)
   >>
   >>
   >>
   >> and the value of line is the line I just put my mouse over.   it is
   >   based on the number of visible lines in the treelist.  for example,
   if
   >   lines 1 and 3 are collapsed,  3 is not and I run the mouse over the
   >> 4th line, I get a 4
   >> 4th line, I get a 5
   >>
   >> eg
   >>> Collapsed (Line 1)
   >>> Collapsed (Line 2)
   >>> Expanded (Line 3)
   >> —— Item 1 (line 4)
   >> — — Item 2 (line 5)
   >>
   >>
   >>
   >> since I know the line, I ant to get the $tag for that line the mouse
   >   is over — and then I can figoure out what I want my tooltip to
   change
   >   to based on the line.
   >>
   >>
   >>
   >> has anybody figured out how to  determine the tag as people run the
   >   mouse over the tree list with various things expaned and not
   expanded.
   >>
   >> its easy enough when people click on the line, because you get told
   >> the $node
   >>
   >>
   >>
   >>
   >>
   >>
   >>
   >>
   >> Doug Easterbrook
   >> Arts Management Systems Ltd.
   >> [9]mailto:doug at artsman.com
   >> [10]http://www.artsman.com
   >> Phone (403) 650-1978
   >>
   >> _____________________________________________________________
   >> Manage your list subscriptions at [11]https://lists.omnis-dev.com
   >   Start a
   >> new message -> [12]mailto:omnisdev-en at lists.omnis-dev.com
   >> _____________________________________________________________
   >> Manage your list subscriptions at [13]https://lists.omnis-dev.com
   >   Start a
   >> new message -> [14]mailto:omnisdev-en at lists.omnis-dev.com
   >   _____________________________________________________________
   >   Manage your list subscriptions at [15]https://lists.omnis-dev.com
   Start
   >   a new message -> [16]mailto:omnisdev-en at lists.omnis-dev.com
   >
   > References
   >
   >   1. [8]http://www.wigasoft.ch/
   >   2. [9]mailto:U.Sonnabend at wigasoft.ch
   >   3. [10]https://www.ifas-expo.ch/de/expo
   >   4. [11]https://www.ifas-expo.ch/de/ticket?voucher=IFAS2022-WIGASOFT
   >   5. [12]mailto:omnisdev-en-bounces at lists.omnis-dev.com
   >   6. [13]mailto:doug at artsman.com
   >   7. [14]http://www.artsman.com/
   >   8. [15]http://www.wigasoft.ch<http://www.wigasoft.ch/
   >   9. [16]mailto:doug at artsman.com
   >  10. [17]http://www.artsman.com/
   >  11. [18]https://lists.omnis-dev.com/
   >  12. [19]mailto:omnisdev-en at lists.omnis-dev.com
   >  13. [20]https://lists.omnis-dev.com/
   >  14. [21]mailto:omnisdev-en at lists.omnis-dev.com
   >  15. [22]https://lists.omnis-dev.com/
   >  16. [23]mailto:omnisdev-en at lists.omnis-dev.com
   > _____________________________________________________________
   > Manage your list subscriptions at [24]https://lists.omnis-dev.com
   Start a
   > new message -> [25]mailto:omnisdev-en at lists.omnis-dev.com
   _____________________________________________________________
   Manage your list subscriptions at [26]https://lists.omnis-dev.com Start
   a new message -> [27]mailto:omnisdev-en at lists.omnis-dev.com

References

   1. http://www.wigasoft.ch/
   2. mailto:U.Sonnabend at wigasoft.ch
   3. https://www.ifas-expo.ch/de/expo
   4. https://www.ifas-expo.ch/de/ticket?voucher=IFAS2022-WIGASOFT
   5. mailto:omnisdev-en-bounces at lists.omnis-dev.com
   6. mailto:doug at artsman.com
   7. http://www.artsman.com/
   8. http://www.wigasoft.ch/
   9. mailto:U.Sonnabend at wigasoft.ch
  10. https://www.ifas-expo.ch/de/expo
  11. https://www.ifas-expo.ch/de/ticket?voucher=IFAS2022-WIGASOFT
  12. mailto:omnisdev-en-bounces at lists.omnis-dev.com
  13. mailto:doug at artsman.com
  14. http://www.artsman.com/
  15. http://www.wigasoft.ch<http://www.wigasoft.ch/
  16. mailto:doug at artsman.com
  17. http://www.artsman.com/
  18. https://lists.omnis-dev.com/
  19. mailto:omnisdev-en at lists.omnis-dev.com
  20. https://lists.omnis-dev.com/
  21. mailto:omnisdev-en at lists.omnis-dev.com
  22. https://lists.omnis-dev.com/
  23. mailto:omnisdev-en at lists.omnis-dev.com
  24. https://lists.omnis-dev.com/
  25. mailto:omnisdev-en at lists.omnis-dev.com
  26. https://lists.omnis-dev.com/
  27. mailto:omnisdev-en at lists.omnis-dev.com


More information about the omnisdev-en mailing list