Mercurial > jwe > octave
changeset 27324:1dfd6ae74fbf
use GCB_ prefix for global listener_mode enum names
* graphics.in.h (enum listener_mode): Use GCB_ prefix for value names
to avoid conflict with PERSISTENT token ID used in the lexer. Note
this is a temporary fix until proper scope for this enum can be
determined. Change all uses.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 05 Aug 2019 10:29:21 -0500 |
parents | 6b2d20317b26 |
children | eddce82a57cc |
files | libinterp/corefcn/genprops.awk libinterp/corefcn/graphics.cc libinterp/corefcn/graphics.in.h |
diffstat | 3 files changed, 44 insertions(+), 39 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/corefcn/genprops.awk Fri Aug 02 15:19:43 2019 -0500 +++ b/libinterp/corefcn/genprops.awk Mon Aug 05 10:29:21 2019 -0500 @@ -397,7 +397,7 @@ if (limits[i]) printf (" update_axis_limits (\"%s\");\n", name[i]); if (has_builtin_listeners) - printf (" %s.run_listeners (POSTSET);\n", name[i]); + printf (" %s.run_listeners (GCB_POSTSET);\n", name[i]); if (! mutable[i]) printf (" mark_modified ();\n"); printf (" }\n");
--- a/libinterp/corefcn/graphics.cc Fri Aug 02 15:19:43 2019 -0500 +++ b/libinterp/corefcn/graphics.cc Mon Aug 05 10:29:21 2019 -0500 @@ -1241,7 +1241,7 @@ // run listeners if (do_run) - run_listeners (POSTSET); + run_listeners (GCB_POSTSET); return true; } @@ -4190,7 +4190,7 @@ if (modified) { - position.run_listeners (POSTSET); + position.run_listeners (GCB_POSTSET); mark_modified (); } @@ -6981,7 +6981,7 @@ if (xticklabel.set (convert_ticklabel_string (val), false)) { set_xticklabelmode ("manual"); - xticklabel.run_listeners (POSTSET); + xticklabel.run_listeners (GCB_POSTSET); mark_modified (); } else @@ -6996,7 +6996,7 @@ if (yticklabel.set (convert_ticklabel_string (val), false)) { set_yticklabelmode ("manual"); - yticklabel.run_listeners (POSTSET); + yticklabel.run_listeners (GCB_POSTSET); mark_modified (); } else @@ -7011,7 +7011,7 @@ if (zticklabel.set (convert_ticklabel_string (val), false)) { set_zticklabelmode ("manual"); - zticklabel.run_listeners (POSTSET); + zticklabel.run_listeners (GCB_POSTSET); mark_modified (); } else @@ -10750,7 +10750,7 @@ if (modified) { - position.run_listeners (POSTSET); + position.run_listeners (GCB_POSTSET); mark_modified (); } } @@ -10951,7 +10951,7 @@ if (modified) { - position.run_listeners (POSTSET); + position.run_listeners (GCB_POSTSET); mark_modified (); } } @@ -13400,13 +13400,13 @@ graphics_object go = gh_manager::get_object (gh); - go.add_property_listener (pname, args(2), POSTSET); + go.add_property_listener (pname, args(2), GCB_POSTSET); if (args.length () == 4) { caseless_str persistent = args(3).string_value (); if (persistent.compare ("persistent")) - go.add_property_listener (pname, args(2), PERSISTENT); + go.add_property_listener (pname, args(2), GCB_PERSISTENT); } return ovl (); @@ -13458,19 +13458,19 @@ graphics_object go = gh_manager::get_object (gh); if (args.length () == 2) - go.delete_property_listener (pname, octave_value (), POSTSET); + go.delete_property_listener (pname, octave_value (), GCB_POSTSET); else { if (args(2).is_string () && args(2).string_value () == "persistent") { go.delete_property_listener (pname, octave_value (), - PERSISTENT); + GCB_PERSISTENT); go.delete_property_listener (pname, octave_value (), - POSTSET); + GCB_POSTSET); } else - go.delete_property_listener (pname, args(2), POSTSET); + go.delete_property_listener (pname, args(2), GCB_POSTSET); } return ovl (); @@ -13633,7 +13633,7 @@ static void do_cleanup_waitfor_listener (const octave_value& listener, - listener_mode mode = POSTSET) + listener_mode mode = GCB_POSTSET) { Cell c = listener.cell_value (); @@ -13655,9 +13655,9 @@ { go.get_properties ().delete_listener (pname, listener, mode); - if (mode == POSTSET) + if (mode == GCB_POSTSET) go.get_properties ().delete_listener (pname, listener, - PERSISTENT); + GCB_PERSISTENT); } } } @@ -13665,11 +13665,11 @@ static void cleanup_waitfor_postset_listener (const octave_value& listener) -{ do_cleanup_waitfor_listener (listener, POSTSET); } +{ do_cleanup_waitfor_listener (listener, GCB_POSTSET); } static void cleanup_waitfor_predelete_listener (const octave_value& listener) -{ do_cleanup_waitfor_listener (listener, PREDELETE); } +{ do_cleanup_waitfor_listener (listener, GCB_PREDELETE); } DECLARE_STATIC_FUNX (waitfor_listener, args, ) { @@ -13848,8 +13848,8 @@ { frame.add_fcn (cleanup_waitfor_postset_listener, ov_listener); - go.add_property_listener (pname, ov_listener, POSTSET); - go.add_property_listener (pname, ov_listener, PERSISTENT); + go.add_property_listener (pname, ov_listener, GCB_POSTSET); + go.add_property_listener (pname, ov_listener, GCB_PERSISTENT); if (go.get_properties ().has_dynamic_property (pname)) { @@ -13873,7 +13873,7 @@ frame.add_fcn (cleanup_waitfor_predelete_listener, ov_del_listener); go.add_property_listener (pname, ov_del_listener, - PREDELETE); + GCB_PREDELETE); } } }
--- a/libinterp/corefcn/graphics.in.h Fri Aug 02 15:19:43 2019 -0500 +++ b/libinterp/corefcn/graphics.in.h Mon Aug 05 10:29:21 2019 -0500 @@ -266,7 +266,12 @@ class property; -enum listener_mode { POSTSET, PERSISTENT, PREDELETE }; +// FIXME: These values should probably be defined inside a namespace or +// class, but which one is most appropriate? For now, prefix with +// "GCB_" to avoid conflict with PERSISTENT token ID used in the lexer. +// The lexer token IDs should probably also be fixed... + +enum listener_mode { GCB_POSTSET, GCB_PERSISTENT, GCB_PREDELETE }; class base_property { @@ -335,14 +340,14 @@ return *this; } - void add_listener (const octave_value& v, listener_mode mode = POSTSET) + void add_listener (const octave_value& v, listener_mode mode = GCB_POSTSET) { octave_value_list& l = listeners[mode]; l.resize (l.length () + 1, v); } void delete_listener (const octave_value& v = octave_value (), - listener_mode mode = POSTSET) + listener_mode mode = GCB_POSTSET) { octave_value_list& l = listeners[mode]; @@ -369,12 +374,12 @@ } else { - if (mode == PERSISTENT) + if (mode == GCB_PERSISTENT) l.resize (0); else { octave_value_list lnew (0); - octave_value_list& lp = listeners[PERSISTENT]; + octave_value_list& lp = listeners[GCB_PERSISTENT]; for (int i = l.length () - 1; i >= 0 ; i--) { for (int j = 0; j < lp.length (); j++) @@ -392,7 +397,7 @@ } - OCTINTERP_API void run_listeners (listener_mode mode = POSTSET); + OCTINTERP_API void run_listeners (listener_mode mode = GCB_POSTSET); virtual base_property * clone (void) const { return new base_property (*this); } @@ -2018,14 +2023,14 @@ return *this; } - void add_listener (const octave_value& v, listener_mode mode = POSTSET) + void add_listener (const octave_value& v, listener_mode mode = GCB_POSTSET) { rep->add_listener (v, mode); } void delete_listener (const octave_value& v = octave_value (), - listener_mode mode = POSTSET) + listener_mode mode = GCB_POSTSET) { rep->delete_listener (v, mode); } - void run_listeners (listener_mode mode = POSTSET) + void run_listeners (listener_mode mode = GCB_POSTSET) { rep->run_listeners (mode); } OCTINTERP_API static @@ -2262,10 +2267,10 @@ virtual void update_autopos (const std::string& elem_type); virtual void add_listener (const caseless_str&, const octave_value&, - listener_mode = POSTSET); + listener_mode = GCB_POSTSET); virtual void delete_listener (const caseless_str&, const octave_value&, - listener_mode = POSTSET); + listener_mode = GCB_POSTSET); void set_tag (const octave_value& val) { tag = val; } @@ -2618,7 +2623,7 @@ virtual void add_property_listener (const std::string& nm, const octave_value& v, - listener_mode mode = POSTSET) + listener_mode mode = GCB_POSTSET) { if (valid_object ()) get_properties ().add_listener (nm, v, mode); @@ -2626,7 +2631,7 @@ virtual void delete_property_listener (const std::string& nm, const octave_value& v, - listener_mode mode = POSTSET) + listener_mode mode = GCB_POSTSET) { if (valid_object ()) get_properties ().delete_listener (nm, v, mode); @@ -2858,11 +2863,11 @@ graphics_toolkit get_toolkit (void) const { return rep->get_toolkit (); } void add_property_listener (const std::string& nm, const octave_value& v, - listener_mode mode = POSTSET) + listener_mode mode = GCB_POSTSET) { rep->add_property_listener (nm, v, mode); } void delete_property_listener (const std::string& nm, const octave_value& v, - listener_mode mode = POSTSET) + listener_mode mode = GCB_POSTSET) { rep->delete_property_listener (nm, v, mode); } void remove_all_listeners (void) { rep->remove_all_listeners (); } @@ -4048,7 +4053,7 @@ void update___colormap__ (void) { - colormap.run_listeners (POSTSET); + colormap.run_listeners (GCB_POSTSET); } octave_value get_colormap (void) const; @@ -4330,7 +4335,7 @@ { set_positionmode ("manual"); update_position (); - position.run_listeners (POSTSET); + position.run_listeners (GCB_POSTSET); mark_modified (); } else