Re: [GRASS-dev] how to start wx vdigit?

2008-03-10 Thread William Kyngesburye

I put bits of what I did in:

http://trac.osgeo.org/grass/ticket/58

http://trac.osgeo.org/grass/ticket/61

On Mar 10, 2008, at 6:59 AM, Martin Landa wrote:


Hi William,


I'm guessing "import wx" should import _gdi and load _gdi_.so, since
_core imports _gdi.  Didn't help with the init_grass6_wxvdigit error.


yes, it should work, I have tried few days ago but I always get error
something like

grass6_wxvdigit.so: undefined symbol:  
_ZN10wxPseudoDC9AddToListEP5pdcOp


Can you send me your Mac-related Makefile for inspiration?

Thanks, Martin

--
Martin Landa  * http://gama.fsv.cvut.cz/ 
~landa *


-
William Kyngesburye 
http://www.kyngchaos.com/

"Those people who most want to rule people are, ipso-facto, those  
least suited to do it."


- A rule of the universe, from the HitchHiker's Guide to the Galaxy


___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Re: [GRASS-dev] how to start wx vdigit?

2008-03-10 Thread Martin Landa
Hi William,

2008/3/9, William Kyngesburye <[EMAIL PROTECTED]>:
[snip]
>  >> Here is what I did to get it compiled: since _gdi_.so is technically
>  >> an extension to [wx]Python, I figure that it should get loaded (maybe
>  >> automatically?) by wxPython.  So instead of directly linking it into
>  >> vdigit, I used an OSX linker flag "-undefined dynamic_lookup" to tell
>  >> the linker that the gdi.so symbols will be found at runtime.
>  >
>  > Hm, the last days I have not so much time to work on this, the way you
>  > suggest maybe could solve it.
> I'm guessing "import wx" should import _gdi and load _gdi_.so, since
>  _core imports _gdi.  Didn't help with the init_grass6_wxvdigit error.

yes, it should work, I have tried few days ago but I always get error
something like

grass6_wxvdigit.so: undefined symbol: _ZN10wxPseudoDC9AddToListEP5pdcOp

Can you send me your Mac-related Makefile for inspiration?

Thanks, Martin

-- 
Martin Landa  * http://gama.fsv.cvut.cz/~landa *
___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Re: [GRASS-dev] how to start wx vdigit?

2008-03-09 Thread Michael Barton

On Mar 9, 2008, at 2:16 PM, [EMAIL PROTECTED] wrote:


Date: Sun, 9 Mar 2008 19:26:39 +0100
From: "Martin Landa" <[EMAIL PROTECTED]>
Subject: Re: [GRASS-dev] how to start wx vdigit?
To: "William Kyngesburye" <[EMAIL PROTECTED]>
Cc: Michael Barton <[EMAIL PROTECTED]>,   GRASS developers list

Message-ID:
<[EMAIL PROTECTED]>
Content-Type: text/plain; charset=ISO-8859-1

Hi,

there currently two ways

1) add vector map layer into the layer tree, right click and from
contextual menu choose 'Start editing'

2) select in Map display window toolbar 'Digitize' (the last tool in
the toolbar), then from enabled vdigit toolbar choose vector map layer
you want to edit (this map must be present the current layer tree). I
remember there was bug on Mac connected to wxComboBox inside wxToolbar
instance. So maybe you cannot see these comboboxes in the toolbars.
Then first way should work for you.

Martin


I can't say what William is seeing with OS X 10.5, but with 10.4 and  
current wxPython binaries, method #2 does not work on a Mac. This is  
because of a bug in the wxPython code that prevents a control from  
showing in a menubar using AUI. I reported it to the wxPython/ 
wxWidgets bug list months ago. I just got a message on Friday  
indicating that this has just been fixed in the wxWidgets source  
tree. There may also a suggested workaround (that I haven't tried)  
that involves setting wx.MAC_USE_NATIVE_TOOLBAR=0. I'm not positive  
it is fixed because this bug report was mixed with another bug. But  
it seems to be.


Michael


___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Re: [GRASS-dev] how to start wx vdigit?

2008-03-09 Thread William Kyngesburye
Oops, forgot the -shared flag in the vdigit makefile.  It ended up  
linking as a program.  See: http://trac.osgeo.org/grass/ticket/61


Changed the shared flag to something appropriate for OSX, and I didn't  
need to add the "import wx" to grass6_wxvdigit.py.


I successfully digitized a boundary.  Lots of messages in the Terminal  
- failed assertions and context errors.


I'll add to http://trac.osgeo.org/grass/ticket/58 with my results.

On Mar 9, 2008, at 3:18 PM, William Kyngesburye wrote:


important is the last part of the message which comes when you try to
import grass6_wxvdigit Python module .

Try:

cd gui/wxpython/vdigit
python
import grass6_wxvdigit

you will get this error


So is there a bug in grass6_wxvdigit.py?


I'm not sure if this is from the way I setup my test build or
something else.

Here is what I did to get it compiled: since _gdi_.so is technically
an extension to [wx]Python, I figure that it should get loaded  
(maybe

automatically?) by wxPython.  So instead of directly linking it into
vdigit, I used an OSX linker flag "-undefined dynamic_lookup" to  
tell

the linker that the gdi.so symbols will be found at runtime.


Hm, the last days I have not so much time to work on this, the way  
you

suggest maybe could solve it.






I'm guessing "import wx" should import _gdi and load _gdi_.so, since  
_core imports _gdi.  Didn't help with the init_grass6_wxvdigit error.




-
William Kyngesburye 
http://www.kyngchaos.com/

"History is an illusion caused by the passage of time, and time is an  
illusion caused by the passage of history."


- Hitchhiker's Guide to the Galaxy


___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Re: [GRASS-dev] how to start wx vdigit?

2008-03-09 Thread William Kyngesburye

On Mar 9, 2008, at 2:43 PM, Martin Landa wrote:


Now fixed in trunk, http://trac.osgeo.org/grass/changeset/30510


Yep, works now.


important is the last part of the message which comes when you try to
import grass6_wxvdigit Python module .

Try:

cd gui/wxpython/vdigit
python
import grass6_wxvdigit

you will get this error


So is there a bug in grass6_wxvdigit.py?


I'm not sure if this is from the way I setup my test build or
something else.

Here is what I did to get it compiled: since _gdi_.so is technically
an extension to [wx]Python, I figure that it should get loaded (maybe
automatically?) by wxPython.  So instead of directly linking it into
vdigit, I used an OSX linker flag "-undefined dynamic_lookup" to tell
the linker that the gdi.so symbols will be found at runtime.


Hm, the last days I have not so much time to work on this, the way you
suggest maybe could solve it.






I'm guessing "import wx" should import _gdi and load _gdi_.so, since  
_core imports _gdi.  Didn't help with the init_grass6_wxvdigit error.


-
William Kyngesburye 
http://www.kyngchaos.com/

"Those people who most want to rule people are, ipso-facto, those  
least suited to do it."


- A rule of the universe, from the HitchHiker's Guide to the Galaxy


___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Re: [GRASS-dev] how to start wx vdigit?

2008-03-09 Thread Martin Landa
Hi,

2008/3/9, William Kyngesburye <[EMAIL PROTECTED]>:
>  I wanted to start with an empty vector map, so I tried to create one
>  from the GUI.  Error in console:
>
>  Traceback (most recent call last):
>File "/Applications/GRASS-6.3.app/Contents/MacOS/etc/wxpython/
>  wxgui.py", line 433, in OnMenuCmd
>  menuform.GUI().ParseCommand(cmd, parentframe=self)
>File "/Applications/GRASS-6.3.app/Contents/MacOS/etc/wxpython/
>  gui_modules/menuform.py", line 1390, in ParseCommand
>  get_dcmd=get_dcmd, layer=layer)
>File "/Applications/GRASS-6.3.app/Contents/MacOS/etc/wxpython/
>  gui_modules/menuform.py", line 608, in __init__
>  mainFrame=self)
>File "/Applications/GRASS-6.3.app/Contents/MacOS/etc/wxpython/
>  gui_modules/menuform.py", line 1050, in __init__
>  txt3.SetValue(p['value']) # parameter previously set
>File "/BinaryCache/wxWidgets/wxWidgets-11~57/Root/System/Library/
>  Frameworks/Python.framework/Versions/2.5/Extras/lib/python/wx-2.8-mac-
>  unicode/wx/_controls.py", line 2249, in SetValue
>  TypeError: in method 'SpinCtrl_SetValue', expected argument 2 of type
>  'int'

Now fixed in trunk, http://trac.osgeo.org/grass/changeset/30510

>  Now, added to the GUI display list, right-click (yes, the toolbar
>  combo box is not there), start editing, and I get a dialog:
>
>  "
>  Unable to initialize display driver, see README file for more info.
>
>  Details: 'NoneType' object has no attribute 'OpenMap' (dynamic module
>  does not define init function (init_grass6_wxvdigit))
>  "

important is the last part of the message which comes when you try to
import grass6_wxvdigit Python module .

Try:

cd gui/wxpython/vdigit
python
import grass6_wxvdigit

you will get this error

>  It looks like the vdigit toolbar appears, and stays up, but the
>  display list contextual menu still says "start editing" (stop is
>  disabled), so it's probably not fully initialized, as the error says.

The problem is loading python module itself.

>  I'm not sure if this is from the way I setup my test build or
>  something else.
>
>  Here is what I did to get it compiled: since _gdi_.so is technically
>  an extension to [wx]Python, I figure that it should get loaded (maybe
>  automatically?) by wxPython.  So instead of directly linking it into
>  vdigit, I used an OSX linker flag "-undefined dynamic_lookup" to tell
>  the linker that the gdi.so symbols will be found at runtime.

Hm, the last days I have not so much time to work on this, the way you
suggest maybe could solve it.

>  But, I'm not sure it gdi is guaranteed to be loaded.  Maybe it needs
>  something in the vdigit code to trigger loading the extension,
>  equivalent to import in Python code?  Or maybe import it in
>  grass6_wxvdigit.py, before importing _grass6_wxvdigit.so?

Martin

-- 
Martin Landa  * http://gama.fsv.cvut.cz/~landa *
___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Re: [GRASS-dev] how to start wx vdigit?

2008-03-09 Thread William Kyngesburye

OK, here's what I got:

I wanted to start with an empty vector map, so I tried to create one  
from the GUI.  Error in console:


Traceback (most recent call last):
  File "/Applications/GRASS-6.3.app/Contents/MacOS/etc/wxpython/ 
wxgui.py", line 433, in OnMenuCmd

menuform.GUI().ParseCommand(cmd, parentframe=self)
  File "/Applications/GRASS-6.3.app/Contents/MacOS/etc/wxpython/ 
gui_modules/menuform.py", line 1390, in ParseCommand

get_dcmd=get_dcmd, layer=layer)
  File "/Applications/GRASS-6.3.app/Contents/MacOS/etc/wxpython/ 
gui_modules/menuform.py", line 608, in __init__

mainFrame=self)
  File "/Applications/GRASS-6.3.app/Contents/MacOS/etc/wxpython/ 
gui_modules/menuform.py", line 1050, in __init__

txt3.SetValue(p['value']) # parameter previously set
  File "/BinaryCache/wxWidgets/wxWidgets-11~57/Root/System/Library/ 
Frameworks/Python.framework/Versions/2.5/Extras/lib/python/wx-2.8-mac- 
unicode/wx/_controls.py", line 2249, in SetValue
TypeError: in method 'SpinCtrl_SetValue', expected argument 2 of type  
'int'


So I used v.edit from the Terminal to create one.

Now, added to the GUI display list, right-click (yes, the toolbar  
combo box is not there), start editing, and I get a dialog:


"
Unable to initialize display driver, see README file for more info.

Details: 'NoneType' object has no attribute 'OpenMap' (dynamic module  
does not define init function (init_grass6_wxvdigit))

"

It looks like the vdigit toolbar appears, and stays up, but the  
display list contextual menu still says "start editing" (stop is  
disabled), so it's probably not fully initialized, as the error says.


I'm not sure if this is from the way I setup my test build or  
something else.



Here is what I did to get it compiled: since _gdi_.so is technically  
an extension to [wx]Python, I figure that it should get loaded (maybe  
automatically?) by wxPython.  So instead of directly linking it into  
vdigit, I used an OSX linker flag "-undefined dynamic_lookup" to tell  
the linker that the gdi.so symbols will be found at runtime.


But, I'm not sure it gdi is guaranteed to be loaded.  Maybe it needs  
something in the vdigit code to trigger loading the extension,  
equivalent to import in Python code?  Or maybe import it in  
grass6_wxvdigit.py, before importing _grass6_wxvdigit.so?


On Mar 9, 2008, at 1:26 PM, Martin Landa wrote:


Hi,

there currently two ways

1) add vector map layer into the layer tree, right click and from
contextual menu choose 'Start editing'

2) select in Map display window toolbar 'Digitize' (the last tool in
the toolbar), then from enabled vdigit toolbar choose vector map layer
you want to edit (this map must be present the current layer tree). I
remember there was bug on Mac connected to wxComboBox inside wxToolbar
instance. So maybe you cannot see these comboboxes in the toolbars.
Then first way should work for you.

Martin



-
William Kyngesburye 
http://www.kyngchaos.com/

"Time is an illusion - lunchtime doubly so."

- Ford Prefect


___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev


Re: [GRASS-dev] how to start wx vdigit?

2008-03-09 Thread Martin Landa
Hi,

there currently two ways

1) add vector map layer into the layer tree, right click and from
contextual menu choose 'Start editing'

2) select in Map display window toolbar 'Digitize' (the last tool in
the toolbar), then from enabled vdigit toolbar choose vector map layer
you want to edit (this map must be present the current layer tree). I
remember there was bug on Mac connected to wxComboBox inside wxToolbar
instance. So maybe you cannot see these comboboxes in the toolbars.
Then first way should work for you.

Martin


2008/3/9, William Kyngesburye <[EMAIL PROTECTED]>:
> I'm testing a possible solution to compiling the wx vdigit on OSX, but
>  I can't figure out how to start it.
>
>  In the wx gui, Vector->Develop vector map->Digitize vector map runs
>  the TclTk v.digit, not the wxpython digitizer.  I have my vdigit test
>  built and it looks like it's installed (etc/wxpython/vdigit/
>  _grass6_wxvdigit.so and grass6_wxvdigit.py).  I don't see anything in
>  bin/ or scripts/ that looks like it might run vdigit.
>
>  -
>  William Kyngesburye 
>  http://www.kyngchaos.com/
>
>  "I ache, therefore I am.  Or in my case - I am, therefore I ache."
>
>  - Marvin
>
>
>  ___
>  grass-dev mailing list
>  grass-dev@lists.osgeo.org
>  http://lists.osgeo.org/mailman/listinfo/grass-dev
>


-- 
Martin Landa  * http://gama.fsv.cvut.cz/~landa *
___
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev