Mercurial > hg > octave-jordi
changeset 11074:8a3b7e8fcbbc
graphics.cc, graphics.h.in, genprops.awk: use octave_map and octave_scalar_map instead of Octave_map
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 01 Oct 2010 05:16:04 -0400 |
parents | a22f3a673f33 |
children | 4e31d44a9763 |
files | src/ChangeLog src/genprops.awk src/graphics.cc src/graphics.h.in src/oct-map.h |
diffstat | 5 files changed, 45 insertions(+), 27 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,21 @@ +2010-10-01 John W. Eaton <jwe@octave.org> + + * graphics.cc (base_properties::get_dynamic): Create and return + octave_scalar_map object instead of Octave_map. + (base_graphics_object::remove_all_listeners): Use octave_map + instead of Octave_map. + (base_graphics_object::values_as_string): Likewise. + + * graphics.h.in, graphics.cc (property_list::as_struct): + Return octave_scalar_map instead of Octave_map. + (base_graphics_object::values_as_struct): Likewise. + (graphics_object:values_as_struct): Likewise. + (graphics_object::set): Accept octave_map instead of Octave_map. + + * genprops.awk: Use octave_map instead of Octave_map in + generated code. Convert second arg to octave_value in call to + octave_map::assign. + 2010-10-01 John W. Eaton <jwe@octave.org> * mex.cc (mxArray_struct::as_octave_value): Use octave_map
--- a/src/genprops.awk +++ b/src/genprops.awk @@ -466,21 +466,21 @@ if (base) { printf ("octave_value\nbase_properties::get (bool all) const\n{\n"); - printf (" Octave_map m = get_dynamic (all).map_value ();\n\n"); + printf (" octave_map m = get_dynamic (all).map_value ();\n\n"); } else { printf ("octave_value\n%s::properties::get (bool all) const\n{\n", class_name); - printf (" Octave_map m = base_properties::get (all).map_value ();\n\n"); + printf (" octave_map m = base_properties::get (all).map_value ();\n\n"); } for (i = 1; i <= idx; i++) { if (hidden[i]) - printf (" if (all)\n m.assign (\"%s\", get_%s ()%s);\n", name[i], name[i], + printf (" if (all)\n m.assign (\"%s\", octave_value (get_%s ()%s));\n", name[i], name[i], (type[i] == "handle_property" || type[i] == "graphics_handle" ? ".as_octave_value ()" : "")); else - printf (" m.assign (\"%s\", get_%s ()%s);\n", name[i], name[i], + printf (" m.assign (\"%s\", octave_value (get_%s ()%s));\n", name[i], name[i], (type[i] == "handle_property" || type[i] == "graphics_handle" ? ".as_octave_value ()" : "")); }
--- a/src/graphics.cc +++ b/src/graphics.cc @@ -1548,10 +1548,10 @@ return retval; } -Octave_map +octave_scalar_map property_list::as_struct (const std::string& prefix_arg) const { - Octave_map m; + octave_scalar_map m; for (plist_map_const_iterator p = begin (); p != end (); p++) { @@ -1684,9 +1684,9 @@ // Set properties given in a struct array void -graphics_object::set (const Octave_map& m) -{ - for (Octave_map::const_iterator p = m.begin (); +graphics_object::set (const octave_map& m) +{ + for (octave_map::const_iterator p = m.begin (); p != m.end (); p++) { caseless_str name = m.key (p); @@ -2086,7 +2086,7 @@ octave_value base_properties::get_dynamic (bool all) const { - Octave_map m; + octave_scalar_map m; for (std::map<caseless_str, property, cmp_caseless_str>::const_iterator it = all_props.begin (); it != all_props.end (); ++it) @@ -2469,9 +2469,9 @@ void base_graphics_object::remove_all_listeners (void) { - Octave_map m = get (true).map_value (); - - for (Octave_map::const_iterator pa = m.begin (); pa != m.end (); pa++) + octave_map m = get (true).map_value (); + + for (octave_map::const_iterator pa = m.begin (); pa != m.end (); pa++) { // FIXME -- there has to be a better way. I think we want to // ask whether it is OK to delete the listener for the given @@ -2498,9 +2498,9 @@ if (valid_object ()) { - Octave_map m = get ().map_value (); + octave_map m = get ().map_value (); - for (Octave_map::const_iterator pa = m.begin (); pa != m.end (); pa++) + for (octave_map::const_iterator pa = m.begin (); pa != m.end (); pa++) { if (pa->first != "children") { @@ -2523,16 +2523,17 @@ return retval; } -Octave_map +octave_scalar_map base_graphics_object::values_as_struct (void) { - Octave_map retval; + octave_scalar_map retval; if (valid_object ()) { - Octave_map m = get ().map_value (); + octave_scalar_map m = get ().scalar_map_value (); - for (Octave_map::const_iterator pa = m.begin (); pa != m.end (); pa++) + for (octave_scalar_map::const_iterator pa = m.begin (); + pa != m.end (); pa++) { if (pa->first != "children") { @@ -2541,10 +2542,9 @@ if (p.ok () && ! p.is_hidden ()) { if (p.is_radio ()) - retval.assign (p.get_name (), - octave_value (p.values_as_cell ())); + retval.assign (p.get_name (), p.values_as_cell ()); else - retval.assign (p.get_name (), octave_value (Cell ())); + retval.assign (p.get_name (), Cell ()); } } }
--- a/src/graphics.h.in +++ b/src/graphics.h.in @@ -1619,7 +1619,7 @@ return plist_map.find (go_name); } - Octave_map as_struct (const std::string& prefix_arg) const; + octave_scalar_map as_struct (const std::string& prefix_arg) const; private: plist_map_type plist_map; @@ -2116,7 +2116,7 @@ virtual std::string values_as_string (void); - virtual Octave_map values_as_struct (void); + virtual octave_scalar_map values_as_struct (void); virtual graphics_handle get_parent (void) const { @@ -2302,7 +2302,7 @@ void set (const Array<std::string>& names, const Cell& values, octave_idx_type row); - void set (const Octave_map& m); + void set (const octave_map& m); void set_value_or_default (const caseless_str& name, const octave_value& val); @@ -2348,7 +2348,7 @@ std::string values_as_string (void) { return rep->values_as_string (); } - Octave_map values_as_struct (void) { return rep->values_as_struct (); } + octave_map values_as_struct (void) { return rep->values_as_struct (); } graphics_handle get_parent (void) const { return rep->get_parent (); }
--- a/src/oct-map.h +++ b/src/oct-map.h @@ -220,7 +220,7 @@ // set contents of a given field. add if not exist. void setfield (const std::string& key, const octave_value& val); void assign (const std::string& k, const octave_value& val) - { setfield (k, val); } + { setfield (k, val); } // remove a given field. do nothing if not exist. void rmfield (const std::string& key);