Browse Source

cleanup, i18n, html bugs and modernization (merge from devbr6)

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@39099 15284696-431f-4ddb-bdfa-cd5b030d7da7
Hamish Bowman 15 years ago
parent
commit
88cebaf8fd
2 changed files with 61 additions and 90 deletions
  1. 21 54
      display/d.colortable/d.colortable.html
  2. 40 36
      display/d.colortable/main.c

+ 21 - 54
display/d.colortable/d.colortable.html

@@ -1,64 +1,26 @@
 <H2>DESCRIPTION</H2>
 
-
 The GRASS program <EM>d.colortable</EM> 
 is used to display the color table associated with a raster map layer in the 
-active frame on the graphics monitor. The map <EM>name</EM> should be 
+active frame on the graphics monitor. The <EM>map</EM> name should be 
 an available raster map layer in the user's current mapset search path 
 and location. 
 
 <P>
-
-<H3>Parameters:</H3>
-
-<DL>
-<DT><B>map=</B><EM>name</EM>
-<DD>Name of a raster map layer in the user's current mapset search path 
-whose color table is to be displayed. 
-<DT><B>color=</B><EM>name</EM>
-<DD>Color of the lines separating the colors of the color table. 
-<BR>
-Options: red, orange, yellow, green, blue, 
-indigo, violet, gray, white, and black. 
-<BR>
-Default: <EM>white</EM> 
-<DT><B>lines=</B><EM>value</EM>
-<DD>Number of lines to appear in the color table. 
-<BR>
-Options: 1 - 1000 
-<DT><B>cols=</B><EM>value</EM>
-<DD>Number of columns to appear in the color table. 
-<BR>
-Options: 1 - 1000 
-
-If the <EM>values</EM> of both <EM>lines</EM> and <EM>cols</EM> are not specified by 
-the user, <EM>d.colortable</EM> 
+If the <EM>values</EM> of both <EM>lines</EM> and <EM>cols</EM> are
+not specified by the user, <EM>d.colortable</EM> 
 divides the active frame equally among the number of categories 
 present in the named raster map layer. If one option is specified, 
 the other is automatically set to accommodate all categories. 
 If both are specified, as many categories as possible are displayed. 
-</DL>
-
-<P>
-The user can specify all needed parameters on the command line using the 
-form: 
-
-<P>
-<DL>
-<DD>
-<B>d.colortable map=</B><EM>name</EM> 
-[<B>color=</B><EM>name</EM>] 
-[<B>lines=</B><EM>value</EM>] 
-[<B>cols=</B><EM>value</EM>] 
-</DL>
 
 <P>
 If the user specifies the name of a map on the command line but does not 
 specify the values of other parameters, parameter default values will be used. 
-Alternately, if the user types simply <B>d.colortable</B> on the command line 
+Alternately, if the user types simply <em>d.colortable</em> on the command line 
 without any program arguments, the program will prompt the user for parameter 
-settings using the standard GRASS <A HREF="parser.html">parser</A> interface described in the manual 
-entry for <EM><A HREF="parser.html">parser</A>.</EM> 
+settings using the standard GRASS parser interface.
+
 
 <H2>EXAMPLE</H2>
 
@@ -66,16 +28,17 @@ The user running the command:
 <DL>
 <DD>
 <B>d.colortable map=</B><EM>soils</EM> 
-[<B>color=</B><EM>red</EM>] 
-[<B>lines=</B><EM>1</EM>] 
-[<B>cols=</B><EM>3</EM>] 
+  <B>color=</B><EM>red</EM>
+  <B>lines=</B><EM>1</EM>
+  <B>cols=</B><EM>3</EM>
 </DL>
 would see the active graphics frame divided into three columns 
 extending the full frame height. The lines dividing the color table 
 associated with the <EM>soils</EM> map would be displayed in red. 
 The user would see, at most, only three of the colors from the <EM>soils</EM> 
 color table displayed in the active frame (because the user requested 
-that this frame be divided into three sections). 
+that this frame be divided into three sections).
+
 
 <H2>NOTES</H2>
 
@@ -83,7 +46,7 @@ If the user wishes to display the entire color table associated with
 a map, the user should either stipulate a number of lines (rows) and 
 columns (cols) sufficient to accommodate the number of categories 
 in the map's color table, or fail to assign values to one or both of 
-<EM>lines</EM> and/or <EM>cols.</EM> 
+<EM>lines</EM> and/or <EM>cols</EM>.
 If the user runs <EM>d.colortable</EM> using the default number of 
 lines and columns (the full graphics frame), all categories from the 
 map's color table will be displayed. However, if the user requests 
@@ -97,15 +60,19 @@ The user should run the GRASS program
 <EM><A HREF="d.erase.html">d.erase</A></EM> between 
 runs of <EM>d.colortable</EM> to avoid confusion. 
 
+
 <H2>SEE ALSO</H2>
 
-<EM><A HREF="d.colors.html">d.colors</A></EM><br>
-<EM><A HREF="d.erase.html">d.erase</A></EM><br>
-<EM><A HREF="d.rast.html">d.rast</A></EM><br>
-<EM><A HREF="parser.html">parser</A></EM>
+<EM>
+<A HREF="d.colors.html">d.colors</A><br>
+<A HREF="d.erase.html">d.erase</A><br>
+<A HREF="d.legend.html">d.legend</A><br>
+<A HREF="d.rast.html">d.rast</A>
+</EM>
 
 <H2>AUTHOR</H2>
 
 James Westervelt, U.S. Army Construction Engineering Research Laboratory
 
-<p><i>Last changed: $Date$</i>
+<p>
+<i>Last changed: $Date$</i>

+ 40 - 36
display/d.colortable/main.c

@@ -7,11 +7,11 @@
  *               Bernhard Reiter <bernhard intevation.de>, 
  *               Eric G. Miller <egm2 jps.net>, 
  *               Glynn Clements <glynn gclements.plus.com>, 
- *               Hamish Bowman <hamish_nospam yahoo.com>, 
+ *               Hamish Bowman <hamish_b yahoo.com>, 
  *               Jan-Oliver Wagner <jan intevation.de>
  * PURPOSE:      display the color table associated with a raster map layer in
  *               the active frame on the graphics monitor
- * COPYRIGHT:    (C) 1999-2007 by the GRASS Development Team
+ * COPYRIGHT:    (C) 1999-2009 by the GRASS Development Team
  *
  *               This program is free software under the GNU General Public
  *               License (>=v2). Read the file COPYING that comes with GRASS
@@ -39,20 +39,15 @@ int main(int argc, char **argv)
     double ratio;
     DCELL dmin, dmax, dval;
     int cats_num;
-    int cur_dot_row;
-    int cur_dot_col;
-    int dots_per_line;
-    int dots_per_col;
+    int cur_dot_row, cur_dot_col;
+    int dots_per_line, dots_per_col;
     int atcat;
-    int white;
-    int black;
-    int atcol;
-    int atline;
+    int white, black;
+    int atcol, atline;
     int count;
     double t, b, l, r;
     int fp, new_colr;
-    double x_box[5];
-    double y_box[5];
+    double x_box[5], y_box[5];
     struct GModule *module;
     struct Option *opt1, *opt2, *opt3, *opt4;
 
@@ -61,41 +56,39 @@ int main(int argc, char **argv)
 
     module = G_define_module();
     G_add_keyword(_("display"));
-    G_add_keyword(_("setup"));
+    G_add_keyword(_("raster"));
     module->description =
 	_("Displays the color table associated with a raster map layer.");
 
-    opt1 = G_define_option();
-    opt1->key = "map";
-    opt1->type = TYPE_STRING;
-    opt1->required = YES;
-    opt1->gisprompt = "old,cell,raster";
-    opt1->description = "Name of existing raster map";
+    opt1 = G_define_standard_option(G_OPT_R_MAP);
+    opt1->description =
+	_("Name of raster map whose color table is to be displayed");
 
     opt2 = G_define_option();
     opt2->key = "color";
     opt2->type = TYPE_STRING;
-    opt2->answer = DEFAULT_FG_COLOR;
+    opt2->answer = DEFAULT_BG_COLOR;
     opt2->gisprompt = GISPROMPT_COLOR;
     opt2->description =
-	"Color of lines separating the colors of the color table";
+	_("Color of lines separating the colors of the color table");
 
     opt3 = G_define_option();
     opt3->key = "lines";
     opt3->type = TYPE_INTEGER;
     opt3->options = "1-1000";
-    opt3->description = "Number of lines";
+    opt3->description = _("Number of lines to appear in the color table");
 
     opt4 = G_define_option();
     opt4->key = "cols";
     opt4->type = TYPE_INTEGER;
     opt4->options = "1-1000";
-    opt4->description = "Number of columns";
+    opt4->description = _("Number of columns to appear in the color table");
 
     /* Check command line */
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
 
+
     map_name = opt1->answer;
     fp = Rast_map_is_fp(map_name, "");
 
@@ -108,9 +101,11 @@ int main(int argc, char **argv)
 	lines = 1;
     else
 	lines = 0;
+
     if (opt3->answer != NULL) {
 	if (fp)
-	    G_warning("<%s> is floating-point; ignoring lines and drawing continuous color ramp",
+	    G_warning(_("<%s> is floating-point; "
+			"ignoring [lines] and drawing continuous color ramp"),
 		      map_name);
 	else
 	    sscanf(opt3->answer, "%d", &lines);
@@ -120,9 +115,11 @@ int main(int argc, char **argv)
 	cols = 1;
     else
 	cols = 0;
+
     if (opt4->answer) {
 	if (fp)
-	    G_warning("<%s> is floating-point; ignoring cols and drawing continuous color ramp",
+	    G_warning(_("<%s> is floating-point; "
+			"ignoring [cols] and drawing continuous color ramp"),
 		      map_name);
 	else
 	    sscanf(opt4->answer, "%d", &cols);
@@ -141,8 +138,10 @@ int main(int argc, char **argv)
 
     Rast_get_fp_range_min_max(&fp_range, &dmin, &dmax);
     if (Rast_is_d_null_value(&dmin) || Rast_is_d_null_value(&dmax))
-	G_fatal_error("Data range is empty");
+	G_fatal_error(_("Data range is empty"));
+
     cats_num = (int)dmax - (int)dmin + 1;
+
     if (lines <= 0 && cols <= 0) {
 	double dx, dy;
 
@@ -175,6 +174,7 @@ int main(int argc, char **argv)
     white = D_translate_color("white");
     black = D_translate_color("black");
     Rast_set_c_null_value(&atcat, 1);
+
     if (!fp) {
 	for (atcol = 0; atcol < cols; atcol++) {
 	    cur_dot_row = t;
@@ -182,7 +182,7 @@ int main(int argc, char **argv)
 	    count = 0;
 	    for (atline = 0; atline < lines; atline++) {
 		cur_dot_row += dots_per_line;
-		/* Draw white box */
+		/* Draw outer border box */
 		D_use_color(color);
 		D_begin();
 		D_move_abs(cur_dot_col + 2, (cur_dot_row - 1));
@@ -216,13 +216,15 @@ int main(int argc, char **argv)
 	    }
 	    if (atcat > (int)dmax)
 		break;
-	}			/* col loop */
-    }				/* int map */
-    else {			/* draw continuous color ramp for fp map */
+	} /* col loop */
+    } /* int map */
+
+    else {
+	/*** draw continuous color ramp for fp map ***/
 
 	cur_dot_row = t + dots_per_line;
 	cur_dot_col = l;
-	/* Draw white box */
+	/* Draw outer border box */
 	D_use_color(color);
 	D_begin();
 	D_move_abs(cur_dot_col + 2, (cur_dot_row - 1));
@@ -242,13 +244,15 @@ int main(int argc, char **argv)
 	D_cont_rel((4 - dots_per_col), 0);
 	D_end();
 	D_stroke();
-	/* Color ramp box */
 
-	/* get separate color for each pixel */
-	/* fisrt 5 pixels draw null color */
+	/* Color ramp box */
+	  /* get separate color for each pixel */
+	  /* fisrt 5 pixels draw null color */
 	y_box[1] = -1;
 	y_box[3] = 1;
-	fprintf(stdout, "dots_per_line: %d\n", dots_per_line);
+
+	G_debug(1, "dots_per_line: %d", dots_per_line);
+
 	for (r = 0; r < dots_per_line - 6; r++) {
 	    if (r <= 4)
 		Rast_set_d_null_value(&dval, 1);
@@ -263,5 +267,5 @@ int main(int argc, char **argv)
 
     D_close_driver();
 
-    return 0;
+    exit(EXIT_SUCCESS);
 }