Mercurial > octave
diff libinterp/corefcn/graphics.in.h @ 18567:8d5cb159fbc7
Add methods to determine if a graphic property is read-only (bug #41629).
* genprops.awk: add *::properties::has_readonly_property and *::properties::readonly_property_names.
* genprops.awk: modify base_properties::set to report early when a property is read-only.
* graphics.in.h: add *::has_readonly_property methods to all graphics objects.
author | Pantxo Diribarne <pantxo.diribarne@gmail.com> |
---|---|
date | Tue, 18 Feb 2014 16:55:08 +0100 |
parents | ec9b35e60f95 |
children | cd83730e5e38 |
line wrap: on
line diff
--- a/libinterp/corefcn/graphics.in.h Mon Mar 17 09:10:32 2014 -0700 +++ b/libinterp/corefcn/graphics.in.h Tue Feb 18 16:55:08 2014 +0100 @@ -2704,6 +2704,11 @@ return octave_value (); } + virtual bool has_readonly_property (const caseless_str& pname) const + { + return base_properties::has_readonly_property (pname); + } + virtual std::string values_as_string (void); virtual std::string value_as_string (const std::string& prop); @@ -2977,6 +2982,11 @@ return rep->get_factory_defaults (); } + bool has_readonly_property (const caseless_str& pname) const + { + return rep->has_readonly_property (pname); + } + std::string values_as_string (void) { return rep->values_as_string (); } std::string value_as_string (const std::string& prop) @@ -3237,6 +3247,14 @@ bool valid_object (void) const { return true; } void reset_default_properties (void); + + bool has_readonly_property (const caseless_str& pname) const + { + bool retval = xproperties.has_readonly_property (pname); + if (! retval) + retval = base_properties::has_readonly_property (pname); + return retval; + } private: property_list default_properties; @@ -3461,6 +3479,14 @@ bool valid_object (void) const { return true; } void reset_default_properties (void); + + bool has_readonly_property (const caseless_str& pname) const + { + bool retval = xproperties.has_readonly_property (pname); + if (! retval) + retval = base_properties::has_readonly_property (pname); + return retval; + } private: property_list default_properties; @@ -4183,6 +4209,14 @@ void reset_default_properties (void); + bool has_readonly_property (const caseless_str& pname) const + { + bool retval = xproperties.has_readonly_property (pname); + if (! retval) + retval = base_properties::has_readonly_property (pname); + return retval; + } + protected: void initialize (const graphics_object& go); @@ -4263,6 +4297,14 @@ const base_properties& get_properties (void) const { return xproperties; } bool valid_object (void) const { return true; } + + bool has_readonly_property (const caseless_str& pname) const + { + bool retval = xproperties.has_readonly_property (pname); + if (! retval) + retval = base_properties::has_readonly_property (pname); + return retval; + } }; // --------------------------------------------------------------------- @@ -4428,6 +4470,14 @@ const base_properties& get_properties (void) const { return xproperties; } bool valid_object (void) const { return true; } + + bool has_readonly_property (const caseless_str& pname) const + { + bool retval = xproperties.has_readonly_property (pname); + if (! retval) + retval = base_properties::has_readonly_property (pname); + return retval; + } }; // --------------------------------------------------------------------- @@ -4575,6 +4625,14 @@ const base_properties& get_properties (void) const { return xproperties; } bool valid_object (void) const { return true; } + + bool has_readonly_property (const caseless_str& pname) const + { + bool retval = xproperties.has_readonly_property (pname); + if (! retval) + retval = base_properties::has_readonly_property (pname); + return retval; + } }; // --------------------------------------------------------------------- @@ -4699,6 +4757,14 @@ const base_properties& get_properties (void) const { return xproperties; } bool valid_object (void) const { return true; } + + bool has_readonly_property (const caseless_str& pname) const + { + bool retval = xproperties.has_readonly_property (pname); + if (! retval) + retval = base_properties::has_readonly_property (pname); + return retval; + } }; // --------------------------------------------------------------------- @@ -4854,6 +4920,14 @@ const base_properties& get_properties (void) const { return xproperties; } bool valid_object (void) const { return true; } + + bool has_readonly_property (const caseless_str& pname) const + { + bool retval = xproperties.has_readonly_property (pname); + if (! retval) + retval = base_properties::has_readonly_property (pname); + return retval; + } }; // --------------------------------------------------------------------- @@ -4932,6 +5006,14 @@ void update_axis_limits (const std::string& axis_type, const graphics_handle& h); + bool has_readonly_property (const caseless_str& pname) const + { + bool retval = xproperties.has_readonly_property (pname); + if (! retval) + retval = base_properties::has_readonly_property (pname); + return retval; + } + }; // --------------------------------------------------------------------- @@ -4993,6 +5075,14 @@ bool valid_object (void) const { return true; } + bool has_readonly_property (const caseless_str& pname) const + { + bool retval = xproperties.has_readonly_property (pname); + if (! retval) + retval = base_properties::has_readonly_property (pname); + return retval; + } + }; // --------------------------------------------------------------------- @@ -5040,6 +5130,14 @@ bool valid_object (void) const { return true; } + bool has_readonly_property (const caseless_str& pname) const + { + bool retval = xproperties.has_readonly_property (pname); + if (! retval) + retval = base_properties::has_readonly_property (pname); + return retval; + } + }; // --------------------------------------------------------------------- @@ -5132,6 +5230,14 @@ const base_properties& get_properties (void) const { return xproperties; } bool valid_object (void) const { return true; } + + bool has_readonly_property (const caseless_str& pname) const + { + bool retval = xproperties.has_readonly_property (pname); + if (! retval) + retval = base_properties::has_readonly_property (pname); + return retval; + } }; // --------------------------------------------------------------------- @@ -5199,6 +5305,14 @@ const base_properties& get_properties (void) const { return xproperties; } bool valid_object (void) const { return true; } + + bool has_readonly_property (const caseless_str& pname) const + { + bool retval = xproperties.has_readonly_property (pname); + if (! retval) + retval = base_properties::has_readonly_property (pname); + return retval; + } }; // --------------------------------------------------------------------- @@ -5286,6 +5400,14 @@ void reset_default_properties (void); + bool has_readonly_property (const caseless_str& pname) const + { + bool retval = xproperties.has_readonly_property (pname); + if (! retval) + retval = base_properties::has_readonly_property (pname); + return retval; + } + private: property_list default_properties; }; @@ -5338,6 +5460,14 @@ bool valid_object (void) const { return true; } + bool has_readonly_property (const caseless_str& pname) const + { + bool retval = xproperties.has_readonly_property (pname); + if (! retval) + retval = base_properties::has_readonly_property (pname); + return retval; + } + }; // --------------------------------------------------------------------- @@ -5391,6 +5521,14 @@ bool valid_object (void) const { return true; } + bool has_readonly_property (const caseless_str& pname) const + { + bool retval = xproperties.has_readonly_property (pname); + if (! retval) + retval = base_properties::has_readonly_property (pname); + return retval; + } + }; // ---------------------------------------------------------------------