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);