[GRASS-SVN] r31309 - grass/trunk/scripts/d.split
svn_grass at osgeo.org
svn_grass at osgeo.org
Sun May 11 02:31:04 EDT 2008
Author: hamish
Date: 2008-05-11 02:31:03 -0400 (Sun, 11 May 2008)
New Revision: 31309
Modified:
grass/trunk/scripts/d.split/d.split
Log:
replace d.split with improved version from grass-addons
Modified: grass/trunk/scripts/d.split/d.split
===================================================================
--- grass/trunk/scripts/d.split/d.split 2008-05-10 09:03:18 UTC (rev 31308)
+++ grass/trunk/scripts/d.split/d.split 2008-05-11 06:31:03 UTC (rev 31309)
@@ -1,116 +1,174 @@
#!/bin/sh
-#
############################################################################
#
-# MODULE: d.split for GRASS 5.7, based on split.sh for GRASS 5
-# AUTHOR(S): split.sh by the GRASS team 1989.
-# Updated to GRASS 5.7 by Michael Barton 2004/04/06
-#
-# PURPOSE: Divides active display into 2 frames and draws maps
-# (or runs GRASS commands) in each frame
-# COPYRIGHT: (C) 2004 by the GRASS Development Team
+# MODULE: d.frame.split
+# AUTHOR: M. Hamish Bowman, Dept. Marine Science, Otago Univeristy,
+# New Zealand
+# PURPOSE: Split the display into quarter frames, etc
+# (This script entierly replaces d.split frpm GRASS 5,6)
#
-# This program is free software under the GNU General Public
-# License (>=v2). Read the file COPYING that comes with GRASS
-# for details.
+# COPYRIGHT: (c) 2007 Hamish Bowman, and the GRASS Development Team
+# This program is free software released to the public domain
#
#############################################################################
-
#%Module
-#% description: Divides active display into two frames & displays maps/executes commands in each frame.
-#% keywords: display, setup
+#% description: Split the display into subframes.
#%End
#%option
-#% key: map1
-#% type: string
-#% gisprompt: old,cell,raster
-#% description: Enter raster map to display in 1st frame
-#% required : no
+#% key: frames
+#% type: integer
+#% description: Number of subframes
+#% options: 2,4,6,8,9,12,16
+#% answer: 4
#%end
-#%option
-#% key: cmd1
-#% type: string
-#% answer: d.rast
-#% description: Enter command to execute in 1st frame
-#% required : no
+#%flag
+#% key: h
+#% description: Split horizontally not vertically
#%end
-#%option
-#% key: map2
-#% type: string
-#% gisprompt: old,cell,raster
-#% description: Enter raster map to display in 2nd frame
-#% required : no
-#%end
-#%option
-#% key: cmd2
-#% type: string
-#% answer: d.rast
-#% description: Enter command to execute in 2nd frame
-#% required : no
-#%end
-#%option
-#% key: view
-#% type: string
-#% answer: vert
-#% description: How to split display
-#% options: vert,horiz
-#% required : yes
-#%end
-
if [ -z "$GISBASE" ] ; then
- echo "You must be in GRASS GIS to run this program." >&2
- exit 1
-fi
+ echo "You must be in GRASS GIS to run this program." 1>&2
+ exit 1
+fi
-if [ "$1" != "@ARGS_PARSED@" ] ; then
- exec g.parser "$0" "$@"
-fi
+# skip parser if no args are given
+if [ "$#" -gt 0 ] ; then
+ if [ "$1" != "@ARGS_PARSED@" ] ; then
+ exec g.parser "$0" "$@"
+ fi
+else
+ GIS_OPT_FRAMES=4
+ GIS_FLAG_H=0
+fi
-# Set up the two windows
-if [ "$GIS_OPT_VIEW" = "vert" ]
-then
-# split it: left (win1) and right (win2)
- d.frame -e
- d.frame -c frame=win1 at=0,100,0,49.5
- d.frame -c frame=win2 at=0,100,50.5,100
+if [ `d.mon -p | cut -f1 -d' '` != "Currently" ] ; then
+ g.message -e "No monitor currently selected for output"
+ exit 1
fi
-if [ "$GIS_OPT_VIEW" = "horiz" ]
-then
-# split it: top (win1) and bottom (win2)
- d.frame -e
- d.frame -c frame=win1 at=50.5,100,0,100
- d.frame -c frame=win2 at=0,49.5,0,100
+d.erase -f
+if [ $? -ne 0 ] ; then
+ g.message -e "Error clearing display monitor"
+ exit 1
fi
-g.message "View displayed: $GIS_OPT_VIEW"
+case "$GIS_OPT_FRAMES" in
+ 2) if [ $GIS_FLAG_H -eq 0 ] ; then
+ #split vert
+ d.frame -c frame=uno at=50,100,0,100
+ d.frame -c frame=dos at=0,50,0,100
+ else
+ d.frame -c frame=uno at=0,100,0,50
+ d.frame -c frame=dos at=0,100,50,100
+ fi
+ ;;
+ 4) d.frame -c frame=uno at=50,100,0,50
+ d.frame -c frame=dos at=50,100,50,100
+ d.frame -c frame=tres at=0,50,0,50
+ d.frame -c frame=cuatro at=0,50,50,100
+ ;;
+ 6) if [ $GIS_FLAG_H -eq 0 ] ; then
+ #split vert
+ d.frame -c frame=uno at=66.6667,100,0,50
+ d.frame -c frame=dos at=66.6667,100,50,100
+ d.frame -c frame=tres at=33.3333,66.6667,0,50
+ d.frame -c frame=cuatro at=33.3333,66.6667,50,100
+ d.frame -c frame=cinco at=0,33.3333,0,50
+ d.frame -c frame=seis at=0,33.3333,50,100
+ else
+ d.frame -c frame=uno at=50,100,0,33.3333
+ d.frame -c frame=dos at=50,100,33.3333,66.6667
+ d.frame -c frame=tres at=50,100,66.6667,100
+ d.frame -c frame=cuatro at=0,50,0,33.3333
+ d.frame -c frame=cinco at=0,50,33.3333,66.6667
+ d.frame -c frame=seis at=0,50,66.6667,100
+ fi
+ ;;
+ 8) if [ $GIS_FLAG_H -eq 0 ] ; then
+ #split vert
+ d.frame -c frame=uno at=75,100,0,50
+ d.frame -c frame=dos at=75,100,50,100
+ d.frame -c frame=tres at=50,75,0,50
+ d.frame -c frame=cuatro at=50,75,50,100
+ d.frame -c frame=cinco at=25,50,0,50
+ d.frame -c frame=seis at=25,50,50,100
+ d.frame -c frame=siete at=0,25,0,50
+ d.frame -c frame=ocho at=0,25,50,100
+ else
+ d.frame -c frame=uno at=50,100,0,25
+ d.frame -c frame=dos at=50,100,25,50
+ d.frame -c frame=tres at=50,100,50,75
+ d.frame -c frame=cuatro at=50,100,75,100
+ d.frame -c frame=cinco at=0,50,0,25
+ d.frame -c frame=seis at=0,50,25,50
+ d.frame -c frame=siete at=0,50,50,75
+ d.frame -c frame=ocho at=0,50,75,100
+ fi
+ ;;
+ 9) d.frame -c frame=uno at=66.6667,100,0,33.3333
+ d.frame -c frame=dos at=66.6667,100,33.3333,66.6667
+ d.frame -c frame=tres at=66.6667,100,66.6667,100
+ d.frame -c frame=cuatro at=33.3333,66.6667,0,33.3333
+ d.frame -c frame=cinco at=33.3333,66.6667,33.3333,66.6667
+ d.frame -c frame=seis at=33.3333,66.6667,66.6667,100
+ d.frame -c frame=siete at=0,33.3333,0,33.3333
+ d.frame -c frame=ocho at=0,33.3333,33.3333,66.6667
+ d.frame -c frame=nueve at=0,33.3333,66.6667,100
+ ;;
+ 12) if [ $GIS_FLAG_H -eq 0 ] ; then
+ #split vert
+ d.frame -c frame=uno at=75,100,0,33.3333
+ d.frame -c frame=dos at=75,100,33.3333,66.6667
+ d.frame -c frame=tres at=75,100,66.6667,100
+ d.frame -c frame=cuatro at=50,75,0,33.3333
+ d.frame -c frame=cinco at=50,75,33.3333,66.6667
+ d.frame -c frame=seis at=50,75,66.6667,100
+ d.frame -c frame=siete at=25,50,0,33.3333
+ d.frame -c frame=ocho at=25,50,33.3333,66.6667
+ d.frame -c frame=nueve at=25,50,66.6667,100
+ d.frame -c frame=diez at=0,25,0,33.3333
+ d.frame -c frame=once at=0,25,33.3333,66.6667
+ d.frame -c frame=doce at=0,25,66.6667,100
+ else
+ d.frame -c frame=uno at=66.6667,100,0,25
+ d.frame -c frame=dos at=66.6667,100,25,50
+ d.frame -c frame=tres at=66.6667,100,50,75
+ d.frame -c frame=cuatro at=66.6667,100,75,100
+ d.frame -c frame=cinco at=33.3333,66.6667,0,25
+ d.frame -c frame=seis at=33.3333,66.6667,25,50
+ d.frame -c frame=siete at=33.3333,66.6667,50,75
+ d.frame -c frame=ocho at=33.3333,66.6667,75,100
+ d.frame -c frame=nueve at=0,33.3333,0,25
+ d.frame -c frame=diez at=0,33.3333,25,50
+ d.frame -c frame=once at=0,33.3333,50,75
+ d.frame -c frame=doce at=0,33.3333,75,100
+ fi
+ ;;
+ 16) d.frame -c frame=uno at=75,100,0,25
+ d.frame -c frame=dos at=75,100,25,50
+ d.frame -c frame=tres at=75,100,50,75
+ d.frame -c frame=cuatro at=75,100,75,100
+ d.frame -c frame=cinco at=50,75,0,25
+ d.frame -c frame=seis at=50,75,25,50
+ d.frame -c frame=siete at=50,75,50,75
+ d.frame -c frame=ocho at=50,75,75,100
+ d.frame -c frame=nueve at=25,50,0,25
+ d.frame -c frame=diez at=25,50,25,50
+ d.frame -c frame=once at=25,50,50,75
+ d.frame -c frame=doce at=25,50,75,100
+ d.frame -c frame=trece at=0,25,0,25
+ d.frame -c frame=catorce at=0,25,25,50
+ d.frame -c frame=quince at=0,25,50,75
+ d.frame -c frame=dieciseis at=0,25,75,100
+ ;;
+esac
-if [ "$GIS_OPT_MAP1" != "" ]
-then
- d.frame -s frame=win1
- g.message "Window 1: $GIS_OPT_CMD1 $GIS_OPT_MAP1"
- d.rast $GIS_OPT_MAP1
-else
- d.frame -s frame=win1
- g.message "Window 1: $GIS_OPT_CMD1 $GIS_OPT_MAP1"
- $GIS_OPT_CMD1
-fi
+d.frame -s uno
-if [ "$GIS_OPT_MAP2" != "" ]
-then
- d.frame -s frame=win2
- g.message "Window 2: $GIS_OPT_CMD2 $GIS_OPT_MAP2"
- d.rast $GIS_OPT_MAP2
-else
- d.frame -s frame=win2
- g.message "Window 2: $GIS_OPT_CMD2 $GIS_OPT_MAP2"
- $GIS_OPT_CMD2
-fi
+g.message "Use 'd.erase -f' to clear frames from display monitor."
-g.message "Done."
-g.message "Use 'd.erase -f' to clear frames from display monitor."
+exit
More information about the grass-commit
mailing list