It was defined virtual in twidget but only overriden in tcontrol. So
added it there as a non-virtual function.
Also made it private since most code doesn't really use the function and
that part of the code is a bit more tricky as it should.
the_new_lipk discovered an issue when trying to remove and addon caused
by this commit. Needs more investigation but I don't have time at the
moment. So restore its previous behaviour and look for a proper fix
later.
The code seems to work for this specific case but needs more testing.
This commit finishes the proof-of-concept prototype it seems the big
hurdles in the listbox have been tackled. Now need to focus on getting a
real widget out of this prototype.
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.
It is not perfect yet, but the resizing of the addon list is much faster
now and feels usable. The resizing happens when a row is expanded or
collapsed.
The code is used to experiment with a different approach of the
implementation of a listbox.
This makes sure when the event is processed the state is the proper one.
The code is used to experiment with a different approach of the
implementation of a listbox.
Instead of requesting the window to do a full layout fire a request.
This allows other widgets to intercept the request and handle it at
another level.
The code is used to experiment with a different approach of the
implementation of a listbox.
Using hide instead of expand looks a bit nicer with the size of the rows
in the addon list.
The code is used to experiment with a different approach of the
implementation of a listbox.
The Dark Flagstones terrain had .aliasof at the last line before the
closing tag, which caused a newline to be output right before </code> in
the wiki page, and in turn causing MW to generate invalid XHTML.
This change makes the generated wiki page valid XHTML again (except for
another problem with the actual glamdrol theme, not the page contents).
...and use | instead of the Unicode broken bar (fixes bug #19678)
This also extends the vertical bar escaping to the .aliasof column
contents (in case we ever get base terrains with vertical bars)
By using <code> we should be able to stick to byte-accurate contents
without compromising readability, by styling terrain type strings in a
default monospace font suitable for code display (i.e. | and l should be
distinguishable from each other).
(less prone to breaking by future edits).
After this change, one test seems redundant or superfluous,
but I have not checked to see if it might actually be necessary.
Since changes to fog are not allowed to be undone, no need to clear_shroud().
Redos were not updating the minimap.
And otherwise making the invalidations/draws consistent across the
various events.
The foundation for this was introduced with the enter/ext hex events.
This update allows more of the game to take advantage of this (as
well as consolidating some code to make it more robust in the face
of edits).
The items in the adon list can now be expanded and collapsed, by
default the description is collapsed.
The expanding and collapsing causes a resize event not handled by the
pane causing a huge slowdown. This will needs some love.
The code is used to experiment with a different approach of the
implementation of a listbox.
...on shared vision/maps, rather than team vision/maps.
This is more consistent with what a player sees, and the end result better
handles situations where WML has changed a unit's side during movement.
This allows to select some widgets that otherwise would be outside the
widget area.
The code is used to experiment with a different approach of the
implementation of a listbox.
This transfers the mouse coordinates on the screen to the proper
location on the widget.
The code is used to experiment with a different approach of the
implementation of a listbox.