GRASS Programmer's Manual
6.4.1(2011)
|
00001 /* 00002 ************************************************************************* 00003 * char * 00004 * G_ask_cell_new(prompt, name)) 00005 * asks user to input name of a new cell file 00006 * 00007 * char * 00008 * G_ask_cell_old(prompt, name) 00009 * asks user to input name of an existing cell file 00010 * 00011 * char * 00012 * G_ask_cell_in_mapset(prompt, name) 00013 * asks user to input name of an existing cell file in current mapset 00014 * 00015 * char * 00016 * G_ask_cell_any(prompt, name) 00017 * asks user to input name of a new or existing cell file in 00018 * the current mapset. Warns user about (possible) overwrite 00019 * if cell file already exists 00020 * 00021 * parms: 00022 * const char *prompt optional prompt for user 00023 * char *name buffer to hold name of map found 00024 * 00025 * returns: 00026 * char *pointer to a string with name of mapset 00027 * where file was found, or NULL if not found 00028 * 00029 * note: 00030 * rejects all names that begin with . 00031 **********************************************************************/ 00032 #include <stdlib.h> 00033 #include <string.h> 00034 #include <grass/gis.h> 00035 #include <grass/glocale.h> 00036 00037 static int lister(char *, char *, char *); 00038 00039 00051 char *G_ask_cell_new(const char *prompt, char *name) 00052 { 00053 00054 return G_ask_new_ext(prompt, name, "cell", "raster", _("with titles"), 00055 lister); 00056 } 00057 00058 00070 char *G_ask_cell_old(const char *prompt, char *name) 00071 { 00072 return G_ask_old_ext(prompt, name, "cell", "raster", _("with titles"), 00073 lister); 00074 } 00075 00076 00088 char *G_ask_cell_in_mapset(const char *prompt, char *name) 00089 { 00090 return G_ask_in_mapset_ext(prompt, name, "cell", "raster", 00091 _("with titles"), lister); 00092 } 00093 00094 char *G_ask_cell_any(const char *prompt, char *name) 00095 { 00096 return G_ask_any_ext(prompt, name, "cell", "raster", 1, _("with titles"), 00097 lister); 00098 } 00099 00100 static int lister(char *name, char *mapset, char *buf) 00101 { 00102 char *title; 00103 00104 *buf = 0; 00105 if (*name == 0) 00106 return 0; 00107 00108 strcpy(buf, title = G_get_cell_title(name, mapset)); 00109 if (*buf == 0) 00110 strcpy(buf, _("(no title)")); 00111 G_free(title); 00112 00113 return 0; 00114 }