Differences

This shows you the differences between two versions of the page.

Link to this comparison view

dev:keeping_gui_elements_updated [2018/02/07 16:07]
dev:keeping_gui_elements_updated [2022/05/06 16:07] (current)
Line 1: Line 1:
 +[[http://sourceforge.net/mailarchive/message.php?msg_name=200706112350.09420.glaurent%40telegraph-road.org|Mail archive link]]
 +
 +<code>
 +
 +Keeping GUI elements updated, e.g. notifying the NotationView if a
 +segment has changed, is done through the RefreshStatus class. This
 +class holds a set of 'observer IDs'. Every Segment carries a
 +RefreshStatus, and every edit part displaying one has an observer ID.
 +
 +
 +Whenever a change is made in a segment, its RefreshStatus is set to
 +'has changed' for all observer IDs. Then each observer, whenever it's
 +refreshed, checks its status ID to see if the segment it displays has
 +changed since last update. This is done in EditViewBase::paintEvent().
 +
 +
 +It certainly could have been done better, but it works :-).
 +
 +</code>
  
 
 
dev/keeping_gui_elements_updated.txt ยท Last modified: 2022/05/06 16:07 (external edit)
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki