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-def.hh"
12 #include "translator-group.hh"
15 There is no real processing to a property: just lookup the
16 translation unit, and set the property.
19 Property_iterator::do_process_and_next (Moment m)
21 SCM sym = music_l_->get_mus_property ("symbol");
23 report_to_l ()->set_property (sym, music_l_->get_mus_property ("value"));
24 Music_iterator::do_process_and_next (m);
29 Push_property_iterator::do_process_and_next (Moment m)
31 SCM syms = music_l_->get_mus_property ("symbols");
32 SCM eprop = music_l_->get_mus_property ("element-property");
33 SCM val = music_l_->get_mus_property ("element-value");
35 Translator_def::apply_pushpop_property (report_to_l (), syms, eprop, val);
37 Music_iterator::do_process_and_next (m);
41 Pop_property_iterator::do_process_and_next (Moment m)
43 SCM syms = music_l_->get_mus_property ("symbols");
44 SCM eprop = music_l_->get_mus_property ("element-property");
45 Translator_def::apply_pushpop_property (report_to_l (), syms, eprop, SCM_UNDEFINED);
47 Music_iterator::do_process_and_next (m);