Fixed some GUI bugs. Arranger GUI temporarily fixed.
commit66d2dbd3ca1e0a329dfe4de5526dd280a568affa
authorEvanR <evanrinehart@gmail.com>
Mon, 5 Jan 2009 04:34:24 +0000 (4 22:34 -0600)
committerEvanR <evanrinehart@gmail.com>
Mon, 5 Jan 2009 04:34:24 +0000 (4 22:34 -0600)
treed21fae8e3ca2e22b23814f6d086fa2ab9f64ba7f
parent6b03b5dd46d2bad0dfc8018506b77602eed7b9a4
Fixed some GUI bugs. Arranger GUI temporarily fixed.

The scroll group widget is beyond repair. I tried
my best to make it do what it should be doing by
using kludges and an almost trivial subclass. The
bottom line is that the scroll group widget is broken.

Details: When the scroll group is manipulated, it does
not call its own callback. It does call relayout on
its children. However, when the window is maximized,
the scroll group itself does not fully relayout itselt
correctly. In corrects itself if it scrolls twice more.
In some circumstances the scroll group will get caught
in a strange loop if the children are at the very edge
of the scrolling region, and fooling with it enough
will fix it, but it is still broken. In this program,
maximize, scrollTo, and other factors lead to graphical
breakage.

The scroll group widget will be dumped in a new branch
soon. It will be replaced with two scroll bar widgets
that simply use the regular callback api, which the
scroll group should be doing, and control the main
canvases just like layout was controlling the timelines,
event editor, virtual keyboard, and track info.
src/arranger.cpp
src/timeline.cpp
src/timeline.h
src/trackmodule.cpp
src/ui.cpp
src/ui.fl