38static char rcsid[] not_used =
45#include <libdap/InternalErr.h>
46#include <libdap/escaping.h>
50#include "get_html_form.h"
52using namespace dap_html_form;
54BaseType *WWWArray::ptr_duplicate()
56 return new WWWArray(*
this);
59WWWArray::WWWArray(
const string & n, BaseType * v): Array(n, v), _redirect(0)
63WWWArray::WWWArray(Array * bt) : Array( bt->name(), 0), _redirect(bt)
65 BaseType *abt = basetype_to_wwwtype(bt->var());
66 abt->set_attr_table(bt->get_attr_table());
72 Dim_iter p = bt->dim_begin();
73 while ( p != bt->dim_end() ) {
74 append_dim(bt->dimension_size(p,
true), bt->dimension_name(p));
84WWWArray::do_print_val(
ostream &ss )
86 const string fqn = get_fqn(
this);
87 ss <<
"<script type=\"text/javascript\">\n"
89 << name_for_js_code(fqn) <<
" = new dods_var(\""
91 <<
"\", \"" << name_for_js_code(fqn) <<
"\", 1);\n"
92 <<
"DODS_URL.add_dods_var(" << name_for_js_code(fqn) <<
");\n"
93 <<
"// -->\n" <<
"</script>\n";
97 <<
"<input type=\"checkbox\" name=\"get_" <<
99 <<
"\"\n" <<
"onclick=\"" << name_for_js_code(fqn)
100 <<
".handle_projection_change(get_"
101 << name_for_js_code(fqn) <<
") \" onfocus=\"describe_projection()\">\n"
102 <<
"<font size=\"+1\">" << name() <<
"</font></b>"
103 <<
": " << fancy_typename(
this) <<
"<br>\n\n";
105 Dim_iter p = dim_begin();
106 for (
int i = 0; p != dim_end(); ++i, ++p) {
107 int size = dimension_size(p,
true);
108 string n = dimension_name(p);
111 ss <<
"<input type=\"text\" name=\"" << name_for_js_code(fqn)
113 <<
"\" size=8 onfocus=\"describe_index()\""
114 <<
" onChange=\"DODS_URL.update_url()\">\n";
115 ss <<
"<script type=\"text/javascript\">\n"
117 << name_for_js_code(fqn) <<
".add_dim(" << size <<
");\n"
118 <<
"// -->\n" <<
"</script>\n";
129 fprintf(os,
"%s", ss.str().c_str());
136 do_print_val( strm ) ;
virtual void print_val(FILE *os, string space="", bool print_decl_p=true)
Overload of BaseType mfunc. This prints arrays using commas and CRs.