X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Ftranslator-group.hh;h=6621344a95d78aa81bfb803cf9e9da0f8d184173;hb=2804f8f79e01dc606ce067bffda2d966524e6e36;hp=1e6174935661529db0a42943e75a75f4cc77560b;hpb=94375d04f45b415ad705fd444fdb344416f116d9;p=lilypond.git diff --git a/lily/include/translator-group.hh b/lily/include/translator-group.hh index 1e61749356..6621344a95 100644 --- a/lily/include/translator-group.hh +++ b/lily/include/translator-group.hh @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2001 Han-Wen Nienhuys + (c) 1997--2002 Han-Wen Nienhuys */ @@ -19,6 +19,7 @@ // egcs typedef void (Translator::*Method_pointer) (void); +#define set_property(x,y) internal_set_property(ly_symbol2scm(x),y) class Scheme_hash_table; @@ -32,15 +33,16 @@ class Translator_group : public virtual Translator { int iterator_count_; friend class Interpretation_context_handle; + SCM add_translator (SCM, Translator*); + protected: ~Translator_group (); public: - SCM add_translator (SCM, Translator*); void execute_single_pushpop_property (SCM prop, SCM sym, SCM val); - SCM get_property (SCM name_sym) const; - void set_property (String var_name, SCM value); + SCM internal_get_property (SCM name_sym) const; + void unset_property (SCM var_sym); - void set_property (SCM var_sym, SCM value); + void internal_set_property (SCM var_sym, SCM value); Translator_group *where_defined (SCM name_sym) const; String id_str_; @@ -48,7 +50,9 @@ public: VIRTUAL_COPY_CONS (Translator); Translator_group (Translator_group const &); Translator_group (); - void add_group_translator (Translator *trans_p); + void add_fresh_group_translator (Translator *trans_p); + void add_fresh_simple_translator (Translator *trans_p); + void add_used_group_translator (Translator *trans_p); /// Score_register = 0, Staff_registers = 1, etc) Translator_group* ancestor_l (int l=1);