Mercurial > hg > octave-lyh
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 +++ b/src/graphics.cc @@ -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;