2 group-interface.cc -- implement Group_interface
4 source file of the GNU LilyPond music typesetter
6 (c) 1999--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
9 #include "group-interface.hh"
10 #include "score-element.hh"
12 Group_interface::Group_interface (Score_element const* e)
14 elt_l_ = (Score_element*)e;
19 Group_interface::Group_interface (Score_element const *e, String s)
21 elt_l_ =(Score_element*)e;
25 Group_interface::has_interface_b ()
27 SCM el = elt_l_->get_elt_property (name_);
29 return el == SCM_EOL || gh_pair_p (el);
34 Group_interface::add_element (Score_element*p)
37 elt_l_->used_b_ = true;
39 add_thing (p->self_scm_);
43 Group_interface::add_thing (SCM s)
45 elt_l_->set_elt_property (name_,
46 gh_cons (s, elt_l_->get_elt_property (name_)));
52 Group_interface::count ()
54 return scm_ilength (elt_l_->get_elt_property (name_));
58 Group_interface::set_interface ()
60 if (!has_interface_b ())
62 elt_l_->set_elt_property (name_, SCM_EOL);
67 group (Score_element*s,String n)
69 Group_interface gi (s,n);
74 group (Score_element*s)
76 Group_interface gi (s);