2 property-iterator.cc -- implement Property_iterator
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
9 #include "property-iterator.hh"
10 #include "translation-property.hh"
11 #include "translator-group.hh"
14 There is no real processing to a property: just lookup the
15 translation unit, and set the property.
18 Property_iterator::do_process_and_next (Moment m)
20 SCM sym = music_l_->get_mus_property ("symbol");
22 report_to_l ()->set_property (sym, music_l_->get_mus_property ("value"));
23 Music_iterator::do_process_and_next (m);
28 Push_property_iterator::do_process_and_next (Moment m)
30 SCM syms = music_l_->get_mus_property ("symbols");
31 SCM eprop = music_l_->get_mus_property ("element-property");
32 SCM val = music_l_->get_mus_property ("element-value");
34 Translator_group_initializer::apply_pushpop_property (report_to_l (), syms,eprop, val);
36 Music_iterator::do_process_and_next (m);
40 Pop_property_iterator::do_process_and_next (Moment m)
42 SCM syms = music_l_->get_mus_property ("symbols");
43 SCM eprop = music_l_->get_mus_property ("element-property");
44 Translator_group_initializer::apply_pushpop_property (report_to_l (), syms, eprop, SCM_UNDEFINED);
46 Music_iterator::do_process_and_next (m);