tree 42e06d9966d3ede14803e0143d35b58400602459
parent c187a3c8849ba5e409f79ead21cd5bc82173d9f8
author kkinnunen <kkinnunen@nvidia.com> 1420008598 -0800
committer Commit bot <commit-bot@chromium.org> 1420008598 -0800

debugger: Make settings widget resizeable

The settings widget was laid out by hand, eg. the widths of most
elements were hardcoded. This prevented it from being laid out by the Qt
widget system. This in turn prevents the widget from shrinking to its
optimal size. This in turn causes cascading effect where the geometry of
many of the UI widgets has to be hard-coded. This in turn prevents
proper resizing of the UI.

Make Qt layout the settings widget by following changes:

a) Group settings in QGroupBox groups instead of hand-written
layouts and labels hardcoded in certain places.

b) Remove "Expanding" size policy from settings widget. The widget
calculates its own size based on the widgets inside. Thus "Preferred"
is the correct policy to use, as expanding the widget will not
bring any new content visible.

c) Remove maximum width 250 from Settings widget

d) Make "canvas settings and image layout", eg. the horizontal layout
holding the settings widget divide the space between the picture and
settings like so: settings uses up only as much as it needs (stretch
factor 0), while picture uses up everything else (stretch factor 1).

In order to do a) reasonably, reorganize the UI and the code a bit:

a1) Rename settings group "visual filter" to "Visualizations".
a2) Make "visual filter: on/off" combo box a checkbox in
"Visualizations".
a3) Move "Mega viz" setting checkbox from "raster" (or "render targets")
section to "Visualizations"
a4) Move "PathOps" setting checkbox from "raster" to "Visualizations"

a5) Make Raster and GL checkboxes use QGroupBox checkbox feature

a6) Move "current command", "command hitbox" and "zoom level" from
"Settings" widget to part of "Inspector" concept. These pieces of
information are now visualized as their own box in the right-hand
bar, below settings.

a7) Do not expose settings user selects through the UI widgets
state that record the user interacts with. Instead, expose it as state
of the "settings widget". Thus settings widget provides "raster settings
changed" signal, which the client hook to and then query the state
through the object API.

This makes the full window a bit shorter.

This commit is part of work that tries to make the
debugger window to be a bit more resizeable, so that it would fit
1900x1200 screen.

Review URL: https://codereview.chromium.org/829933002
