[GRASS-dev] Re: wxGUI: MapDisplay mouse events

Michael Barton Michael.Barton at asu.edu
Thu Aug 18 16:43:18 EDT 2011


I think I see what you're getting at. But it will be good to see what Martin thinks. 

Michael
____________________
C. Michael Barton
Director, Center for Social Dynamics & Complexity 
Professor of Anthropology, School of Human Evolution & Social Change
Arizona State University

voice: 	480-965-6262 (SHESC), 480-727-9746 (CSDC)
fax:          480-965-7671 (SHESC),  480-727-0709 (CSDC)
www: http://www.public.asu.edu/~cmbarton, http://csdc.asu.edu











On Aug 18, 2011, at 1:35 PM, Wenzeslaus wrote:

> Yes, right. However you don't know when mouse button was released (in
> the case of mouse leftup event). In order to know when this happens
> registering (binding) of callback (handler) is necessary. Binding and
> unbindig (which is also useful) was not possible with existing public
> API.
> 
> Without binding user have to - after click on MapDisplay (1) - click
> on button in dialog in order to get coordinates to dialog. It works
> but it is not much intuitive.
> 
> With binding user will first click on button in dialog and coordinates
> will appear in dialog immediately after user clicks on MapDisplay. To
> implement this behaviour dialog has to listen MapDisplay mouse events.
> 
> Vasek
> 
> (1) MapDisplay is not the right class name, I mean BufferdWindow or
> GLWindow which are childs of MapWindow where the new API is.
> 
> 
> 
> On 18 August 2011 21:05, Michael Barton <Michael.Barton at asu.edu> wrote:
>> Vasek,
>> 
>> mapdisp_window.mouse['end'] returns a tuple with the window xy coodinates of the mouse click position on a LeftUp event (releasing the mouse button).
>> 
>> mapdisp_window.Pixel2Cell(self.mouse['end']) will return a tuple with the geographic xy coordinates of the mouse click position.
>> 
>> No need to edit mapdisp_window.py
>> 
>> Getting the 3D coordinates is different.
>> 
>> Michael
>> ____________________
>> C. Michael Barton
>> Director, Center for Social Dynamics & Complexity
>> Professor of Anthropology, School of Human Evolution & Social Change
>> Arizona State University
>> 
>> voice:  480-965-6262 (SHESC), 480-727-9746 (CSDC)
>> fax:          480-965-7671 (SHESC),  480-727-0709 (CSDC)
>> www: http://www.public.asu.edu/~cmbarton, http://csdc.asu.edu
>> 
>> 
>> On Aug 18, 2011, at 12:57 AM, Wenzeslaus wrote:
>> 
>>> Michael,
>>> 
>>> as far as I know, now if you want to get mouse click coordinates from
>>> MapDisplay (MapWindow) you have to edit file mapdisp_window.py (for 2D
>>> mode) and nviz_mapdisp.py (if you also want coordinates from 3D).
>>> 
>>> With my suggested API there is no need to edit these 'core files'. You
>>> simply register your handler. And it can be done even if you are
>>> writing a addon and you can not change 'core files'.
>>> 
>>> I don't think that we should change existing code. Some functions
>>> (features) are very connected to MapWindow and very complex and
>>> writing code just into 'core files' is the best solution. But in my
>>> opinion suggested API is the best solution for simple tasks like 'get
>>> mouse click coordinates to MyDialog'.
>>> 
>>> Vasek
>>> 
>>> 
>>> On 17 August 2011 23:21, Michael Barton <Michael.Barton at asu.edu> wrote:
>>>> I need to look at this in more detail, but at first glance, it add another method that does things that are already done by other methods.
>>>> 
>>>> Michael
>>>> ______________________________
>>>> C. Michael Barton
>>>> Director, Center for Social Dynamics & Complexity
>>>> Professor of Anthropology, School of Human Evolution & Social Change
>>>> Arizona State University
>>>> Tempe, AZ  85287-2402
>>>> USA
>>>> 
>>>> voice:  480-965-6262 (SHESC), 480-727-9746 (CSDC)
>>>> fax:          480-965-7671(SHESC), 480-727-0709 (CSDC)
>>>> www:    http://csdc.asu.edu, http://shesc.asu.edu
>>>>                http://www.public.asu.edu/~cmbarton
>>>> 
>>>> On Aug 17, 2011, at 2:13 PM, Wenzeslaus wrote:
>>>> 
>>>>> Hi Michael,
>>>>> 
>>>>> it is file with patch
>>>>> mapdisplay_mouse_events.diff
>>>>> and simple example how to use API also in diff file
>>>>> mapdisplay_mouse_events_example.diff
>>>>> 
>>>>> I'm not sure why, but mailing list thinks that MIME type text/x-patch
>>>>> is a binary file. Then it produces the text and links you see. Some
>>>>> mail clients can handle it and instead of links they displays
>>>>> attachments but some cannot.
>>>>> 
>>>>> I don't understand it completely and I don't know how to avoid it.
>>>>> I'll try to attach the patch with txt suffix to find out how it works.
>>>>> 
>>>>> Vasek
>>>>> 
>>>>> 
>>>>> On 17 August 2011 20:06, Michael Barton <michael.barton at asu.edu> wrote:
>>>>>> Vasek,
>>>>>> 
>>>>>> What are the *.bin files that download from your html links?
>>>>>> 
>>>>>> Michael
>>>>> <mapdisplay_mouse_events.txt>
>>>> 
>>>> 
>> 
>> 



More information about the grass-dev mailing list