[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lmi] Supplemental report column selection
From: |
Vadim Zeitlin |
Subject: |
Re: [lmi] Supplemental report column selection |
Date: |
Mon, 14 Aug 2017 15:11:29 +0200 |
On Sun, 13 Aug 2017 16:09:40 +0000 Greg Chicares <address@hidden> wrote:
GC> The GUI for selecting supplemental reports:
GC> File | Preferences
GC> "View" tab
GC> could be easier to use.
It's hard to argue with this.
GC> I think a single wxCheckListBox might be an improvement: then we'd
GC> have just one list with dozens of choices, and end users could
GC> pick up to twelve just by checking boxes.
I agree that it would be a (big) improvement, but I'm not sure if it's
going to be ideal because there would still be too many items in it IMO. Of
course, maybe this dialog is used so rarely that it doesn't matter, but if
we wanted to make it as convenient to use as possible, I think something
would need to be done in order to reduce the number of choices, e.g. by
grouping them somehow. But I don't know what would be the best way to do it
from the user point of view, unfortunately.
GC> Column order matters greatly for supplemental reports, so we'd have
GC> to provide a way to sort the listbox items. In the 'widgets' sample,
GC> I see a wxEditableListBox example that has a user-sortable order,
GC> but what we want is the UserSortable and Checkable properties in one
GC> control, without the Editable property. I'm guessing that the up and
GC> down arrows to change the order are a wxRearrangeCtrl embedded in
GC> wxEditableListBox, so maybe what I'm envisioning is a wxCheckListBox
GC> with a wxRearrangeCtrl to manage the order of its items.
Yes, this would indeed be the best choice.
GC> It isn't indispensable to integrate them into a single control, but we
GC> really would need this to work in wxXRC.
Neither of wxRearrange{List,Ctrl,Dialog} classes is currently available
from XRC, but this would be very simple to change, at least for the first
two (the latter one would be trivial to handle in XRC without support for
its AddExtraControls() method too, but supporting this method nicely would
be a bit more difficult -- but you don't need this one, in any case).
GC> Vadim, if I've expressed the idea clearly enough, can you tell me
GC> what specific controls we'd use to accomplish this?
wxRearrangeCtrl. We can't use wxRearrangeDialog because we want it to be a
page in an existing dialog instead of a standalone one and we don't want to
use just a wxRearrangeList because we don't have any existing buttons for
moving its items around, so it's simpler to use wxRearrangeCtrl which
combines both the list and the buttons.
GC> I don't find a
GC> wxRearrangeCtrl in any of the wx samples. This image search:
GC> https://www.google.com/search?q=wxRearrangeCtrl&tbm=isch
GC> finds inheritance diagrams but no screenshot of the actual control.
I've added the screenshots to the manual now (see
https://github.com/wxWidgets/wxWidgets/commit/7316ce76269d9637d46a7fbdecc9849673151271
which includes the images, although they don't load for me in the diff view
right now for some reason -- you can still view them by clicking the "View"
button however). And I also attach a screenshot of the entire
wxRearrangeDialog where I (as if you wouldn't recognize my stroke) artfully
circled the wxRearrangeCtrl part.
GC> Should all built-in wx controls have XRC handlers built into wx?
They should, but sometimes they get forgotten or there is not enough time
to write them. In this particular case I've written all these classes for
using them internally in wxHeaderCtrl, so XRC support wasn't needed for
what I needed them for and so I didn't add it. Again, it would be pretty
simple to add it now.
GC> Once we've chosen the right control and implemented it (or chosen
GC> a handful, experimented with them, and picked the best one), there's
GC> another step:
GC> http://savannah.nongnu.org/support/?105590
GC> Save and retrieve supplemental reports
GC> because the improvements mentioned above merely make less tedious
GC> to pick a set of columns, but in practice there are a few sets that
GC> get used over and over again, and picking a file that embodies one
GC> of those sets is much easier than selecting each of its elements
GC> repeatedly.
The first UI that comes to mind here is to put a wxComboBox on top of this
page allowing to select an existing supplemental report kind, by name, and
"Save" button allowing to save the current selection under the name entered
into wxComboBox.
GC> And then there's another step:
GC> http://savannah.nongnu.org/support/?105589
GC> Allow multiple supplemental reports
GC> which (like anything else) is a daunting task as long as we're
GC> using XSL templates, but becomes tractable when we generate PDF
GC> files in a less hideous way.
Yes, it shouldn't be a big problem to have more than one supplemental
report. Of course, right now, I haven't implemented even a single one of
them yet -- but I'll keep this in mind when I get to them.
Regards,
VZ