[GRASS-dev] [GRASS GIS] #3471: Custom dropdown control doesn’t recognize mouse events

#3471: Custom dropdown control doesn’t recognize mouse events
----------------------------------------+-------------------------
Reporter: cmbarton | Owner: grass-dev@…
     Type: defect | Status: new
Priority: normal | Milestone: 7.2.3
Component: wxGUI | Version: 7.2.2
Keywords: wxPython, dropdown control | CPU: Unspecified
Platform: MacOSX |
----------------------------------------+-------------------------
A custom drop-down list control does not respond to mouse scroll and mouse
down events in wxPython 3 and above. It does respond to arrow key events.
While this might be fixable in the rather convoluted custom control code,
It is not clear why this control is even needed now.

Look at g.mapset. Mapset name is a standard drop-down list and works fine.
Location name is the custom control and does not. This control is used
sporadically in only a few places. It would be best to replace it with a
standard wxPython control.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3471&gt;
GRASS GIS <https://grass.osgeo.org>

#3471: Custom dropdown control doesn’t recognize mouse events
--------------------------+----------------------------------------
  Reporter: cmbarton | Owner: grass-dev@…
      Type: defect | Status: closed
  Priority: normal | Milestone: 7.2.3
Component: wxGUI | Version: 7.2.2
Resolution: fixed | Keywords: wxPython, dropdown control
       CPU: Unspecified | Platform: MacOSX
--------------------------+----------------------------------------
Changes (by cmbarton):

* status: new => closed
* resolution: => fixed

Comment:

Checking the new Mac binaries, this seems to be fixed in version 7.2.2. I
will close unless I run into it again.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3471#comment:1&gt;
GRASS GIS <https://grass.osgeo.org>

#3471: Custom dropdown control doesn’t recognize mouse events
--------------------------+----------------------------------------
  Reporter: cmbarton | Owner: grass-dev@…
      Type: defect | Status: reopened
  Priority: major | Milestone: 7.2.3
Component: wxGUI | Version: 7.2.2
Resolution: | Keywords: wxPython, dropdown control
       CPU: Unspecified | Platform: MacOSX
--------------------------+----------------------------------------
Changes (by cmbarton):

* status: closed => reopened
* priority: normal => major
* resolution: fixed =>

Comment:

I was wrong. This is still a problem. In fact, the dropdown menu is now
invisible. See settings/grass working environment/change location and
mapset. The change mapset control cannot be used at all. Upgrading to
major (maybe should be critical) since it makes a set of functions
completely unusable.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3471#comment:2&gt;
GRASS GIS <https://grass.osgeo.org>

#3471: Custom dropdown control doesn’t recognize mouse events
--------------------------+----------------------------------------
  Reporter: cmbarton | Owner: grass-dev@…
      Type: defect | Status: reopened
  Priority: major | Milestone: 7.2.4
Component: wxGUI | Version: 7.2.2
Resolution: | Keywords: wxPython, dropdown control
       CPU: Unspecified | Platform: MacOSX
--------------------------+----------------------------------------

Comment (by annakrat):

I replaced MapsetSelect with simpler widget in r72754. Needs more testing,
it's used in

* Settings - Change location and mapset/Change mapset
* Add multiple maps dialog
* in module dialogs, e.g. g.mapsets - allows multiple mapsets

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3471#comment:5&gt;
GRASS GIS <https://grass.osgeo.org>

#3471: Custom dropdown control doesn’t recognize mouse events
--------------------------+----------------------------------------
  Reporter: cmbarton | Owner: grass-dev@…
      Type: defect | Status: reopened
  Priority: major | Milestone: 7.2.4
Component: wxGUI | Version: 7.2.2
Resolution: | Keywords: wxPython, dropdown control
       CPU: Unspecified | Platform: MacOSX
--------------------------+----------------------------------------

Comment (by cmbarton):

Thanks. I will recompile as soon as I can, maybe tomorrow if all goes
well, and test. If not tomorrow, then the beginning of next week.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3471#comment:6&gt;
GRASS GIS <https://grass.osgeo.org>

#3471: Custom dropdown control doesn’t recognize mouse events
--------------------------+----------------------------------------
  Reporter: cmbarton | Owner: grass-dev@…
      Type: defect | Status: reopened
  Priority: major | Milestone: 7.2.4
Component: wxGUI | Version: 7.2.2
Resolution: | Keywords: wxPython, dropdown control
       CPU: Unspecified | Platform: MacOSX
--------------------------+----------------------------------------

Comment (by cmbarton):

I've compiled trunk and this seems to fix the problem. I tested on several
modules and found no problems. I'm testing with wxPython 4.0.0. When this
is back ported to 7.2 and 7.4 and tested, we can close. Thanks much.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3471#comment:7&gt;
GRASS GIS <https://grass.osgeo.org>

#3471: Custom dropdown control doesn’t recognize mouse events
--------------------------+----------------------------------------
  Reporter: cmbarton | Owner: grass-dev@…
      Type: defect | Status: reopened
  Priority: major | Milestone: 7.2.4
Component: wxGUI | Version: 7.2.2
Resolution: | Keywords: wxPython, dropdown control
       CPU: Unspecified | Platform: MacOSX
--------------------------+----------------------------------------

Comment (by annakrat):

In [changeset:"72856" 72856]:
{{{
#!CommitTicketReference repository="" revision="72856"
wxGUI: use simpler widget for MapsetSelect to avoid wxWidgets bug #17771
on mac (merge from trunk, see #3471)
}}}

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3471#comment:8&gt;
GRASS GIS <https://grass.osgeo.org>

#3471: Custom dropdown control doesn’t recognize mouse events
--------------------------+----------------------------------------
  Reporter: cmbarton | Owner: grass-dev@…
      Type: defect | Status: closed
  Priority: major | Milestone: 7.2.4
Component: wxGUI | Version: 7.2.2
Resolution: fixed | Keywords: wxPython, dropdown control
       CPU: Unspecified | Platform: MacOSX
--------------------------+----------------------------------------
Changes (by annakrat):

* status: reopened => closed
* resolution: => fixed

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3471#comment:9&gt;
GRASS GIS <https://grass.osgeo.org>

#3471: Custom dropdown control doesn’t recognize mouse events
--------------------------+----------------------------------------
  Reporter: cmbarton | Owner: grass-dev@…
      Type: defect | Status: reopened
  Priority: major | Milestone: 7.6.2
Component: wxGUI | Version: 7.2.2
Resolution: | Keywords: wxPython, dropdown control
       CPU: Unspecified | Platform: MacOSX
--------------------------+----------------------------------------
Changes (by cmbarton):

* status: closed => reopened
* resolution: fixed =>
* milestone: 7.2.4 => 7.6.2

Comment:

Reopening. I thought these were all fixed. But I recently found more of
these drop downs in the analytical dialogs accessible from the display
window menu bar. These include the profiler, histogrammer, bivariate
scatterplot tool. If this pull down is controlled by a single piece of
code somewhere for these modules, it can be easily fixed like the other
instances. I'll move the milestone up to the current stable version too.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3471#comment:10&gt;
GRASS GIS <https://grass.osgeo.org>

#3471: Custom dropdown control doesn’t recognize mouse events
--------------------------+----------------------------------------
  Reporter: cmbarton | Owner: grass-dev@…
      Type: defect | Status: reopened
  Priority: major | Milestone: 7.6.2
Component: wxGUI | Version: 7.2.2
Resolution: | Keywords: wxPython, dropdown control
       CPU: Unspecified | Platform: MacOSX
--------------------------+----------------------------------------

Comment (by nila):

A PR with a fix has been made for #3502, with
https://github.com/OSGeo/grass/pull/363.

This issue will likely also be solved by that fix.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3471#comment:11&gt;
GRASS GIS <https://grass.osgeo.org>