Mail archive link


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 :-).

 
dev/keeping_gui_elements_updated.txt · Last modified: 2008/05/01 11:11 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki