Martin Landa c841e01cf9 wxGUI/nviz: error pressing "All" button (trac https://trac.osgeo.org/grass/ticket/300) vor 16 Jahren
..
compat db49180dd7 welcome to GRASS 7.0.svn vor 17 Jahren
docs d006f52fbf recovery tip (merge from devbr6) vor 16 Jahren
gui_modules c841e01cf9 wxGUI/nviz: error pressing "All" button (trac https://trac.osgeo.org/grass/ticket/300) vor 16 Jahren
icons 5b0184cc11 update grass and grass2 icons for profile and histogram vor 16 Jahren
images db49180dd7 welcome to GRASS 7.0.svn vor 17 Jahren
nviz 878e9a5c99 fix gcc 4.3.2 issue (undefined reference to 'std::ios_base::Init::Init[in-charge]()') vor 16 Jahren
scripts 64d3dee1f5 Don't create directories or install files if they already exist and haven't changed vor 16 Jahren
support db49180dd7 welcome to GRASS 7.0.svn vor 17 Jahren
vdigit 878e9a5c99 fix gcc 4.3.2 issue (undefined reference to 'std::ios_base::Init::Init[in-charge]()') vor 16 Jahren
xml 789fa46b0b fix some typos from https://trac.osgeo.org/grass/changeset/35249 use original module description as help text vor 16 Jahren
Makefile e1ee36126c fix wxGUI compilation (merge from devbr6) vor 16 Jahren
README 544f5b32a4 Python ElementTree needed only for py <= 2.4 vor 16 Jahren
gis_set.py a9a972db13 replace GIF with PNG version now that TclTk GUIs are gone vor 16 Jahren
wxgui db49180dd7 welcome to GRASS 7.0.svn vor 17 Jahren
wxgui.py ebec7e177f wxGUI: use grass.run_command() instead of gcmd.Command(), remove OnXTerm vor 16 Jahren

README

wxPython GRASS Graphical User Interface
=======================================

$Date$

1 - REQUIREMENTS

GRASS GIS >= 6.3
Python >= 2.4 (Python 3 not supported)
Python ElementTree (only for Python <= 2.4)
wxPython >= 2.8.1.1
swig >= 1.3.31 (required only for vector digitizer)

Get wxPython 2.8.x packages from:
* Source: http://www.wxpython.org/download.php
* Debian GNU/Linux: http://wiki.wxpython.org/InstallingOnUbuntuOrDebian
[ deb http://apt.wxwidgets.org/ etch-wx main ]
http://www.bitpim.org/developer.html -> "Install wxPython"
* Fedora: http://www.wxpython.org/download.php
http://mpa.itc.it/markus/wxpython_rpms/fedora/
* Mandriva: included in main distribution. but the following fix is
required:
ln -s /usr/lib/wxPython/include/wx-2.8/wx /usr/lib64/wx/include/
* MS-Windows: http://www.wxpython.org/download.php
* OS X: http://www.wxpython.org/download.php
* OpenSuSe: http://download.opensuse.org/repositories/Application:/Geo/
* Ubuntu: deb http://wxpython.wxcommunity.com/apt/ubuntu/dapper /
deb http://wxpython.wxcommunity.com/apt/ubuntu/feisty /

Get Python from:
* Python.org for Source, MS-Windows, OS X: http://www.python.org/download/
* ActiveStates for AIX, HP-UX, Linux (x86), Linux 64-bit (x86_64 AMD64), Mac OS X,
Solaris (SPARC), Windows:
http://www.activestate.com/store/download.aspx?prdGUID=b08b04e0-6872-4d9d-a722-7a0c2dea2758

E.g. On Debian GNU/Linux install these packages:
apt-get install libwxbase2.8-0 libwxbase2.8-dbg libwxbase2.8-dev \
libwxgtk2.8-0 libwxgtk2.8-dbg libwxgtk2.8-dev \
python-wxgtk2.8 wx2.8-doc wx2.8-examples \
wx2.8-headers wx2.8-i18n

MS-WINDOWS ONLY REQUIREMENTS

Python Extensions for MS-Windows >= Build 210
NumPy >= 1.0.4

Get Python Extensions for MS-Windows from: http://sourceforge.net/project/platformdownload.php?group_id=78018
Get NumPy from: http://sourceforge.net/project/showfiles.php?group_id=1369&package_id=175103

NVIZ EXTENSION REQUIREMENTS

PyOpenGL: http://pyopengl.sourceforge.net

On Debian GNU/Linux install package:
apt-get install python-opengl

2 - STARTUP WITH GRASS INITIALIZATION

If you want to launch wxPython GUI automatically when you start
GRASS, edit your .grassrc6 file to replace

GRASS_GUI: tcktk (or whatever you have here)

with

GRASS_GUI: wxpython

or easier start new GRASS session with -wxpython switch.

$ grass70 -wxpython

3 - STARTUP FROM GRASS TERMINAL

Simply run

$ g.gui wxpython

from the GRASS terminal.

You can also specify workspace file to load on startup.

$ g.gui gui=wxpython workspace=myworkspace.gxw

4 - CLI Display scripts

Note: This section is out-dated!

This is going to be replacement for command line tools like d.rast and
d.vect.

Now add directory "scripts" in gui directory to your $PATH. These
little programs should later go to GRASS Scripts directory or became
Python scripts or C programs. Now they are only small BASH wrappers
which can be easily and fast customized.

$~ export PATH=scripts/:$PATH

Start GRASS:

$~ grass70 ~/grassdata/spearfish60/user1

Use command p.mon (shell script in gui/scripts directory) to start map
display:

GRASS> p.mon anything

After a while, new window should appear. If this is your case, add some
raster layer to the map display:

GRASS> p.rast aspect

What about a bit transparency?

GRASS> p.rast elevation.dem opacity=0.5

And try the vector layer too

GRASS> p.vect roads

NOTE: only map name is currently supported. No other option will influence
the map layout

Alternatively you can use more universal p.cmd:

GRASS> p.cmd "d.rast map=elevation.dem@PERMANENT catlist=1300-1400 -i"

You should be able to zoom && pan through the map, once the layers are
displayed. You should be also able to store the display content as well as
clear the display and start from scratch.

5 - DEBUGGING

To enable GUI debug messages on given level set GRASS_DEBUG_WX
environment variable, e.g.

$ export GRASS_WX_DEBUG=3

6 - ICON THEMES

Currently two icon themes are available:

* original GRASS (based on TCL/TK GUI prototype)
* Silk-based (default)

User can change icon theme in Preferences dialog
('Config->Preferences').

7 - VECTOR DIGITIZER

To enable digitizer you need to compile 'vdigit'
component. Note that you must configure GRASS with C++ (--with-cxx),
Python (--with-python) and wxWidgets (--with-wxwidgets) support.

NOTE: There is no need to do the following symlink or ldconfig on OSX.

First, create a symlink to _gdi_.so shared library

$ sudo ln -s `locate _gdi_.so` /usr/local/lib/libgdi.so

e.g.

$ sudo ln -s /usr/lib/python2.4/site-packages/wx-2.8-gtk2-unicode/wx/_gdi_.so /usr/local/lib/libgdi.so

Then update LD_LIBRARY_PATH or add '/usr/local/lib' to /etc/ld.so.conf
(in this case run 'sudo ldconfig').

TODO: Don't use direct linking here.

Then you can compile the driver

$ cd gui/wxpython/vdigit
$ make