...on top of each other
This sacrifices vertical space (not needed for the first panel, not
essential for the second) in order to get us more horizontal space for
the third panel with the selection's contents, which is actually the
most important panel.
The various panels had external headers for some reason, in spite of two
of them being listboxes with their own internal headers.
By removing those external headers (and making the rightmost panel's
scroll_label have an associated header with a cell padding trick to make
it look consistent with the listboxes' headers) we can save some
valuable vertical space.
This commit also changes a few strings in order to clarify the purpose
of each panel.
...on the bottom left corner of the screen
Finally achieved this in a resolution-safe manner (unlike 2010-10-22T22:22:50Z!shadowm@wesnoth.org)
by moving the label to a separate layer of the parent stacked widget that
goes beneath the main button-littered layer (to avoid stealing events).
The title screen background is now composed
of two images. game_title_background is
scaled to fill the screen, while game_title
is scaled to fit in the screen while preserving
aspect ratio and aligned into the middle.
...shows the same page as the Add-ons Manager's own Help button
Thanks to lipkab for help with the buttons layout trick.
The rest is kind of a hack because:
1) GUI2 doesn't use display objects, so I needed to acquire one from
the constructor (optionally, to avoid problems with the test suite)
2) If the button id is "help", it is handled by a hardcoded hack that
handles the titlescreen dialog in gui2::twindow::get_retval_by_id()
and closes the dialog prematurely right after our local callback is
executed; so the id is "show_help" instead
Notice that there is precedent for (1) in gui2::teditor_settings.
...fields and implement a button to toggle them all at once
Also needed to do some refactoring to achieve the tracking part. Not
that anyone really needs to see that in a separate commit.
...for the areas containing the type checkboxes and the status listbox
The previous grid layout seemed strictly presentational and rather
unhelpful from an organizational/semantic standpoint. The new layout
should also make a couple of upcoming changes to the dialog's widget
arrangement and contents easier to implement.
This widget is slated to replace the current listbox in the
future. The code however is only ready as proof-of-concept code, and
not usable in real code yet.
The code is used to experiment with a different approach of the
implementation of a listbox.
This widget is used to postpone instantiation of a widget. This will be used
in the new matrix widget where the definition needs a widget which will only
be available when the matrix widget is instantiated in a window.
The code is used to experiment with a different approach of the
implementation of a listbox.
It allows to use a viewport in a grid. It's now also possible to own the
widget in the viewport.
The code is used to experiment with a different approach of the
implementation of a listbox.
In order to test with formatting growing listboxes I need a growing
listbox. When showing the addon dialogue only one is shown, the others
are loaded with the load button. The code is a bit hacky, but hidden
under the --new-widgets switch.
The code is used to experiment with a different approach of the
implementation of a listbox.
This allows the usage of the mouse in the pane. Also increases the size
of the pane to have a bit more space to move the mouse around.
Note the offset to the mouse movement and what it affects on the screen
is intentionally.
The code is used to experiment with a different approach of the
implementation of a listbox.
The previous limit was an artificial limit, using the character limit
feels less arbitrary. Did some other cosmetic fixes to let the dialogue
look nicely for different window widths.
The exact presentation isn't yet final, and the code isn't too elegant
either, but the way it is right now should be more or less easy for
translators to handle. The coloring is an experiment and it'll be
removed if people don't like it.