[GRASS-dev] [GRASS GIS] #274: vdigit: cursor and vertex are apart when moving vertices

#274: vdigit: cursor and vertex are apart when moving vertices
----------------------+-----------------------------------------------------
Reporter: msieczka | Owner: grass-dev@lists.osgeo.org
     Type: defect | Status: new
Priority: critical | Milestone: 6.4.0
Component: default | Version: svn-develbranch6
Keywords: | Platform: All
      Cpu: All |
----------------------+-----------------------------------------------------
develbranch6 r33238

Simple example:

1. Digitize a single line with 2 nodes.

2. Choose "Move vertex" tool.

3. Hover over a node, select it with the left button and, before 0.5 a
second passes, move mouse very quickly.

The vertex and cursor become apart (the distance between them depend on
how promptly and quickly you moved the mouse). Pressing the right button
to confirm the placement, behaves like if the middle button was pressed
actually - the edit is cancelled.

Weird. Looks like if vdigit needs few tens of a second brake between
activating the tool and using it. Fixable?

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

#274: vdigit: cursor and vertex are apart when moving vertices
-----------------------+----------------------------------------------------
  Reporter: msieczka | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: new
  Priority: critical | Milestone: 6.4.0
Component: wxGUI | Version: svn-develbranch6
Resolution: | Keywords:
  Platform: All | Cpu: All
-----------------------+----------------------------------------------------
Changes (by msieczka):

  * component: default => wxGUI

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

#274: vdigit: cursor and vertex are apart when moving vertices
-----------------------+----------------------------------------------------
  Reporter: msieczka | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: new
  Priority: critical | Milestone: 6.4.0
Component: wxGUI | Version: svn-develbranch6
Resolution: | Keywords:
  Platform: All | Cpu: All
-----------------------+----------------------------------------------------
Comment (by msieczka):

Martin

This is quite a bug. On Thursday next week I have live-presentation of
GRASS at a surveyors' conference in Poland [1]. Do you think there's a
chance the issue will be solved until then? I'd love to show them the new
digitizer...

[1]http://www.wodgik.katowice.pl/konferencja/2008/index.html

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

#274: vdigit: cursor and vertex are apart when moving vertices
-----------------------+----------------------------------------------------
  Reporter: msieczka | Owner: martinl
      Type: defect | Status: assigned
  Priority: critical | Milestone: 6.4.0
Component: wxGUI | Version: svn-develbranch6
Resolution: | Keywords:
  Platform: All | Cpu: All
-----------------------+----------------------------------------------------
Changes (by martinl):

  * status: new => assigned
  * owner: grass-dev@lists.osgeo.org => martinl
* cc: grass-dev@lists.osgeo.org (added)

Comment:

Should be fixed in r33291.

  Choose vertex -- left mouse button

  Keep button pressed

  Move mouse pointer

  Release left button

  Move mouse pointer

  Right mouse button -> vertex moved to the right position

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/274#comment:3&gt;
GRASS GIS <http://grass.osgeo.org>

#274: vdigit: cursor and vertex are apart when moving vertices
-----------------------+----------------------------------------------------
  Reporter: msieczka | Owner: martinl
      Type: defect | Status: assigned
  Priority: critical | Milestone: 6.4.0
Component: wxGUI | Version: svn-develbranch6
Resolution: | Keywords:
  Platform: All | Cpu: All
-----------------------+----------------------------------------------------
Comment (by msieczka):

Replying to [comment:3 martinl]:
> Should be fixed in r33291.

Sort of better but still problems.

> Choose vertex -- left mouse button
>
> Keep button pressed
>
> Move mouse pointer
>
> Release left button
>
> Move mouse pointer

If I do it exactly this way, the cursor and edited vertex are almost
*always* apart. See the screencast at
http://www.sieczka.org/tmp/out_noloop.html for an exmaple.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/274#comment:4&gt;
GRASS GIS <http://grass.osgeo.org>

#274: vdigit: cursor and vertex are apart when moving vertices
-----------------------+----------------------------------------------------
  Reporter: msieczka | Owner: martinl
      Type: defect | Status: assigned
  Priority: critical | Milestone: 6.4.0
Component: wxGUI | Version: svn-develbranch6
Resolution: | Keywords:
  Platform: All | Cpu: All
-----------------------+----------------------------------------------------
Comment (by martinl):

Replying to [comment:4 msieczka]:

> If I do it exactly this way, the cursor and edited vertex are almost
*always* apart. See the screencast at
http://www.sieczka.org/tmp/out_noloop.html for an exmaple.

I don't see this behaviour as a bug. Try to confirm action, vertex is
moved properly. Standard use

  * left down to select feature or vertex
  * left up
  * move pointer
  * right up to confirm

or use 'apart'

  * left down to select
  * move pointer
  * left up
  * move
  * confirm

M.

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

#274: vdigit: cursor and vertex are apart when moving vertices
-----------------------+----------------------------------------------------
  Reporter: msieczka | Owner: martinl
      Type: defect | Status: assigned
  Priority: critical | Milestone: 6.4.0
Component: wxGUI | Version: svn-develbranch6
Resolution: | Keywords:
  Platform: All | Cpu: All
-----------------------+----------------------------------------------------
Comment (by msieczka):

Replying to [comment:5 martinl]:

> I don't see this behaviour as a bug. Try to confirm action, vertex is
moved properly. Standard use
>
> * left down to select feature or vertex
> * left up
> * move pointer
> * right up to confirm
>
> or use 'apart'
>
> * left down to select
> * move pointer
> * left up
> * move
> * confirm
>

Such an "apart mode" should not be possible IMO. What would be the use for
it? It only confuses the user.

Could GUI take care of that so that both use ways would work the same?

And still, even with the "standard use mode", if one moves mouse cursor
right after selecting a vertex, there is a high likelihood the vertex and
cursor become apart. This defect will bring troubles to folks with a fast
hand. Digitizers in commercial setups will not be attracted to GRASS for
that.

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

#274: vdigit: cursor and vertex are apart when moving vertices
-----------------------+----------------------------------------------------
  Reporter: msieczka | Owner: martinl
      Type: defect | Status: assigned
  Priority: major | Milestone: 6.4.0
Component: wxGUI | Version: svn-develbranch6
Resolution: | Keywords:
  Platform: All | Cpu: All
-----------------------+----------------------------------------------------
Changes (by martinl):

  * priority: critical => major

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

#274: vdigit: cursor and vertex are apart when moving vertices
-----------------------+----------------------------------------------------
  Reporter: msieczka | Owner: martinl
      Type: defect | Status: closed
  Priority: major | Milestone: 6.4.0
Component: wxGUI | Version: svn-develbranch6
Resolution: fixed | Keywords:
  Platform: All | Cpu: All
-----------------------+----------------------------------------------------
Changes (by martinl):

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

Comment:

Should be already fixed in releasebranch_64/develbranch_6/trunk. Reopen
ticket if needed.

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

#274: vdigit: cursor and vertex are apart when moving vertices
-----------------------+----------------------------------------------------
  Reporter: msieczka | Owner: martinl
      Type: defect | Status: reopened
  Priority: major | Milestone: 6.4.0
Component: wxGUI | Version: svn-develbranch6
Resolution: | Keywords:
  Platform: All | Cpu: All
-----------------------+----------------------------------------------------
Changes (by msieczka):

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

Comment:

It's not fixed. After moving the very first vertex digitizer crashes:

{{{
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
Traceback (most recent call last):
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 1125, in MouseActions

self.OnMouseMoving(event)
   File "/usr/local/grass-6.4.svn/etc/wxpython/gui_modules/ma
pdisp.py", line 2009, in OnMouseMoving

if len(self.vdigitMove['id']) > 0:
TypeError
:
tuple indices must be integers
}}}

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

#274: vdigit: cursor and vertex are apart when moving vertices
-----------------------+----------------------------------------------------
  Reporter: msieczka | Owner: martinl
      Type: defect | Status: reopened
  Priority: major | Milestone: 6.4.0
Component: wxGUI | Version: svn-develbranch6
Resolution: | Keywords:
  Platform: All | Cpu: All
-----------------------+----------------------------------------------------
Comment (by msieczka):

Oh, there seem to be some related fixes in r35033. Checking the out now...

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

#274: vdigit: cursor and vertex are apart when moving vertices
-----------------------+----------------------------------------------------
  Reporter: msieczka | Owner: martinl
      Type: defect | Status: closed
  Priority: major | Milestone: 6.4.0
Component: wxGUI | Version: svn-develbranch6
Resolution: fixed | Keywords:
  Platform: All | Cpu: All
-----------------------+----------------------------------------------------
Changes (by msieczka):

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

Comment:

So it is fixed. Cool.

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