Thomas Beale Thomas.Beale-ifdBxBAjbfUj83aOlRudGVaTQe2KTcn/@public.gmane.org [eiffel_software]
2014-10-15 19:32:37 UTC
There are two methods you can use to detect user mouse clicks in the
tree of an EV_GRID. One is by globally setting even handlers e.g.:
my_grid.ev_grid.pointer_button_press_item_actions.extend
(agent grid_item_event_handler)
my_grid.ev_grid.item_select_actions.extend (agent
grid_item_select_handler)
The other is to set handlers on EV_GRID_ITEMs, e.g.
my_ev_grid_item.pointer_button_press_actions.force_extend (an_action)
On Windows 8 I and other users (also using Win8, some under
MacOS/VMware) have started to notice that a large grid set up according
to the global handler method starts becoming unresponsive to mouse
selection on the nodes, even though other mouse input (e.g. expand /
collapse) on the grid works, and other mouse events, e.g. choosing tabs
in another part of the app works. But clikcing on grid nodes randomly
stops working. Let;s say i click on one, and the action is performed.
Then if I click on the adjacent one, nothing or something might happen.
If I click on a further away node, the event is handled. But if I then
click on an adjacent node, nothing. This can go on for a long time. Then
the grid seems to start being normally responsive.
The insensitivity / adjacency thing makes me wonder if EV_GRIDs way of
calculating where its nodes are on hi-res displays (mine is now a Dell
XPS15 approx 3000x2000) is not working properly. But the fact that
sensitivity comes and goes is equally odd. Note that when the app
starts, everything seems normal, it is only after some time when things
become insensitive - just on the grid tree nodes, nowhere else in the
app. This can happen in finalised and debug mode, and pausing the
debugger usually finds the app in some WEL low level drawing routine, or
the event wait loop.
Note that the grid in question has been in the app for some years now,
and I have never seen a selection problem with it.
The only thing I can think of to do here is to convert the global method
of setting up event handlers to a per-node approach, but actually I have
no evidence whatever that this will help.
Has anyone seen this?
- thomas
------------------------------------
Posted by: Thomas Beale <thomas.beale-7ExIbe55e9Qj83aOlRudGVaTQe2KTcn/@public.gmane.org>
------------------------------------
------------------------------------------------------------------------
Eiffel Software
http://www.eiffel.com
Customer support: http://support.eiffel.com
User group: http://groups.eiffel.com/join
------------------------------------------------------------------------
------------------------------------
Yahoo Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/eiffel_software/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/eiffel_software/join
(Yahoo! ID required)
<*> To change settings via email:
eiffel_software-digest-***@public.gmane.org
eiffel_software-fullfeatured-***@public.gmane.org
<*> To unsubscribe from this group, send an email to:
eiffel_software-unsubscribe-***@public.gmane.org
<*> Your use of Yahoo Groups is subject to:
https://info.yahoo.com/legal/us/yahoo/utos/terms/
tree of an EV_GRID. One is by globally setting even handlers e.g.:
my_grid.ev_grid.pointer_button_press_item_actions.extend
(agent grid_item_event_handler)
my_grid.ev_grid.item_select_actions.extend (agent
grid_item_select_handler)
The other is to set handlers on EV_GRID_ITEMs, e.g.
my_ev_grid_item.pointer_button_press_actions.force_extend (an_action)
On Windows 8 I and other users (also using Win8, some under
MacOS/VMware) have started to notice that a large grid set up according
to the global handler method starts becoming unresponsive to mouse
selection on the nodes, even though other mouse input (e.g. expand /
collapse) on the grid works, and other mouse events, e.g. choosing tabs
in another part of the app works. But clikcing on grid nodes randomly
stops working. Let;s say i click on one, and the action is performed.
Then if I click on the adjacent one, nothing or something might happen.
If I click on a further away node, the event is handled. But if I then
click on an adjacent node, nothing. This can go on for a long time. Then
the grid seems to start being normally responsive.
The insensitivity / adjacency thing makes me wonder if EV_GRIDs way of
calculating where its nodes are on hi-res displays (mine is now a Dell
XPS15 approx 3000x2000) is not working properly. But the fact that
sensitivity comes and goes is equally odd. Note that when the app
starts, everything seems normal, it is only after some time when things
become insensitive - just on the grid tree nodes, nowhere else in the
app. This can happen in finalised and debug mode, and pausing the
debugger usually finds the app in some WEL low level drawing routine, or
the event wait loop.
Note that the grid in question has been in the app for some years now,
and I have never seen a selection problem with it.
The only thing I can think of to do here is to convert the global method
of setting up event handlers to a per-node approach, but actually I have
no evidence whatever that this will help.
Has anyone seen this?
- thomas
------------------------------------
Posted by: Thomas Beale <thomas.beale-7ExIbe55e9Qj83aOlRudGVaTQe2KTcn/@public.gmane.org>
------------------------------------
------------------------------------------------------------------------
Eiffel Software
http://www.eiffel.com
Customer support: http://support.eiffel.com
User group: http://groups.eiffel.com/join
------------------------------------------------------------------------
------------------------------------
Yahoo Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/eiffel_software/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/eiffel_software/join
(Yahoo! ID required)
<*> To change settings via email:
eiffel_software-digest-***@public.gmane.org
eiffel_software-fullfeatured-***@public.gmane.org
<*> To unsubscribe from this group, send an email to:
eiffel_software-unsubscribe-***@public.gmane.org
<*> Your use of Yahoo Groups is subject to:
https://info.yahoo.com/legal/us/yahoo/utos/terms/