diff src/graphics.cc @ 6836:ea6ae3af82d1

[project @ 2007-08-27 19:50:22 by jwe]
author jwe
date Mon, 27 Aug 2007 19:50:23 +0000
parents 6c85f7d37e61
children 9cee629fe20c
line wrap: on
line diff
--- a/src/graphics.cc	Mon Aug 27 19:27:39 2007 +0000
+++ b/src/graphics.cc	Mon Aug 27 19:50:23 2007 +0000
@@ -687,7 +687,8 @@
     }
 }
 
-void base_properties::set_parent (const octave_value& val)
+void
+base_properties::set_parent (const octave_value& val)
 {
   double tmp = val.double_value ();
 
@@ -715,6 +716,30 @@
 }
 
 void
+base_properties::mark_modified (void)
+{
+  __modified__ = true;
+  graphics_object parent_obj = gh_manager::get_object (parent);
+  parent_obj.mark_modified ();
+}
+
+void
+base_properties::override_defaults (base_graphics_object& obj)
+{
+  graphics_object parent_obj = gh_manager::get_object (parent);
+  parent_obj.override_defaults (obj);
+}
+
+void
+base_properties::delete_children (void)
+{
+  octave_idx_type n = children.numel ();
+
+  for (octave_idx_type i = 0; i < n; i++)
+    gh_manager::free (children(i));
+}
+
+void
 root_figure::root_figure_properties::set (const property_name& name,
 					  const octave_value& val)
 {
@@ -896,7 +921,8 @@
   return retval;
 }
 
-void figure::figure_properties::close (void)
+void
+figure::figure_properties::close (void)
 {
   if (! __plot_stream__.is_empty ())
     {
@@ -914,7 +940,8 @@
   xset (0, "currentfigure", gh_manager::current_figure ());
 }
 
-property_list::pval_map_type figure::figure_properties::factory_defaults (void)
+property_list::pval_map_type
+figure::figure_properties::factory_defaults (void)
 {
   property_list::pval_map_type m;
 
@@ -927,6 +954,22 @@
   return m;
 }
 
+octave_value
+figure::get_default (const property_name& name) const
+{
+  octave_value retval = default_properties.lookup (name);
+
+  if (retval.is_undefined ())
+    {
+      graphics_handle parent = get_parent ();
+      graphics_object parent_obj = gh_manager::get_object (parent);
+
+      retval = parent_obj.get_default (name);
+    }
+
+  return retval;
+}
+
 std::string figure::figure_properties::go_name ("figure");
 
 // ---------------------------------------------------------------------
@@ -1524,7 +1567,8 @@
     gh_manager::free (zlabel);
 }
 
-property_list::pval_map_type axes::axes_properties::factory_defaults (void)
+property_list::pval_map_type
+axes::axes_properties::factory_defaults (void)
 {
   property_list::pval_map_type m;
 
@@ -1600,6 +1644,22 @@
   return m;
 }
 
+octave_value
+axes::get_default (const property_name& name) const
+{
+  octave_value retval = default_properties.lookup (name);
+
+  if (retval.is_undefined ())
+    {
+      graphics_handle parent = get_parent ();
+      graphics_object parent_obj = gh_manager::get_object (parent);
+
+      retval = parent_obj.get_default (name);
+    }
+
+  return retval;
+}
+
 std::string axes::axes_properties::go_name ("axes");
 
 // ---------------------------------------------------------------------
@@ -1766,7 +1826,8 @@
   return retval;
 }
 
-property_list::pval_map_type line::line_properties::factory_defaults (void)
+property_list::pval_map_type
+line::line_properties::factory_defaults (void)
 {
   property_list::pval_map_type m;
 
@@ -1989,7 +2050,8 @@
   return retval;
 }
 
-property_list::pval_map_type image::image_properties::factory_defaults (void)
+property_list::pval_map_type
+image::image_properties::factory_defaults (void)
 {
   property_list::pval_map_type m;
 
@@ -2145,7 +2207,8 @@
   return retval;
 }
 
-property_list::pval_map_type patch::patch_properties::factory_defaults (void)
+property_list::pval_map_type
+patch::patch_properties::factory_defaults (void)
 {
   property_list::pval_map_type m;