workspace: make paned contents prettier
authorAndrew Chadwick <andrewc-git@piffle.org>
Mon, 7 Oct 2013 16:22:24 +0000 (17:22 +0100)
committerAndrew Chadwick <andrewc-git@piffle.org>
Thu, 10 Oct 2013 01:45:55 +0000 (02:45 +0100)
commit852c3c89502690ab1702c6a77d9d19e9eacde119
treee519b3ae77c92a8ea6b90a6f89e8c74b7dae5304
parent1941224852221de233ae0717a50f2b64466d47b6
workspace: make paned contents prettier

Add visible frames implemented as GtkScrolledWindow wrappers for the
sidebar and canvas Paned slots to improve the distinctiveness of these
elements from their flanking toolbar and statusbar.

We now automatically repack the central canvas's widget hierarchy to make
its frame vanish when entering fullscreen mode, and undo the change when
leaving.  Users will want the full extent of the screen when fullscreened.

Using a GtkScrolledWindow and not a GtkFrame for the canvas makes the UI
more consistent (my test themes assign different appearances to frames and
scrolledwindows inside paned). It also raises the possibility of "merely"
exposing a couple of GtkAdjustments on the TiledDrawWidget to allow real
scrolling, at least when MyPaint is not in fullscreen mode.  A somewhat
dynamic system where the visible extents are the actual document bbox plus
one sensibly-sized page might work acceptably (i.e. patches welcome).
gui/workspace.py