Opened 16 years ago
Closed 16 years ago
#274 closed defect (fixed)
vdigit: cursor and vertex are apart when moving vertices
Reported by: | msieczka | Owned by: | martinl |
---|---|---|---|
Priority: | major | Milestone: | 6.4.0 |
Component: | wxGUI | Version: | svn-develbranch6 |
Keywords: | Cc: | grass-dev@… | |
CPU: | All | Platform: | All |
Description
develbranch6 r33238
Simple example:
- Digitize a single line with 2 nodes.
- Choose "Move vertex" tool.
- 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?
Change History (11)
comment:1 by , 16 years ago
Component: | default → wxGUI |
---|
comment:2 by , 16 years ago
follow-up: 4 comment:3 by , 16 years ago
Cc: | added |
---|---|
Owner: | changed from | to
Status: | new → assigned |
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
follow-up: 5 comment:4 by , 16 years ago
Replying to 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.
follow-up: 6 comment:5 by , 16 years ago
Replying to 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.
comment:6 by , 16 years ago
Replying to 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.
comment:7 by , 16 years ago
Priority: | critical → major |
---|
comment:8 by , 16 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Should be already fixed in releasebranch_64/develbranch_6/trunk. Reopen ticket if needed.
comment:9 by , 16 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
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
comment:10 by , 16 years ago
Oh, there seem to be some related fixes in r35033. Checking the out now...
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