X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fgroup-interface.cc;h=e518792ef82d054bd20015fb35f76a6ee805764c;hb=52aa2e58ed0912a474c94284e5f7a1cc8f9b6612;hp=d9ae970c193633e93f90d6f225a7dbf929c821d7;hpb=01e85a02b5866e42e2ef822797f3986f06289bc0;p=lilypond.git diff --git a/lily/group-interface.cc b/lily/group-interface.cc index d9ae970c19..e518792ef8 100644 --- a/lily/group-interface.cc +++ b/lily/group-interface.cc @@ -3,68 +3,34 @@ source file of the GNU LilyPond music typesetter - (c) 1999 Han-Wen Nienhuys + (c) 1999--2002 Han-Wen Nienhuys */ #include "group-interface.hh" -#include "score-element.hh" +#include "grob.hh" -Group_interface::Group_interface (Score_element const* e) -{ - elt_l_ = (Score_element*)e; - name_ = "elements"; -} - - -Group_interface::Group_interface (Score_element const *e, String s) -{ - elt_l_ =(Score_element*)e; - name_ = s; -} -bool -Group_interface::has_interface_b () +void +Group_interface::add_thing (Grob*me, SCM sym, SCM thing) { - SCM el = elt_l_->get_elt_property (name_); - - return el == SCM_EOL || gh_pair_p (el); + me->add_to_list_property (sym, thing); } void -Group_interface::add_element (Score_element*p) +Group_interface::add_thing (Grob*me, String name, SCM thing) { - p->used_b_ = true; - elt_l_->used_b_ = true; - - elt_l_->set_elt_property (name_, - gh_cons (p->self_scm_, elt_l_->get_elt_property (name_))); + add_thing (me, ly_symbol2scm (name.to_str0 ()), thing); } int -Group_interface::count () +Group_interface::count (Grob *me, String name) { - return scm_ilength (elt_l_->get_elt_property (name_)); + return scm_ilength (me->get_grob_property (name.to_str0 ())); } -void -Group_interface::set_interface () -{ - if (!has_interface_b ()) - { - elt_l_->set_elt_property (name_, SCM_EOL); - } -} -Group_interface -group (Score_element*s,String n) -{ - Group_interface gi (s,n); - return gi; -} - -Group_interface -group (Score_element*s) +void +Pointer_group_interface::add_grob (Grob*me, SCM name, Grob*p) { - Group_interface gi (s); - return gi; + Group_interface::add_thing (me, name, p->self_scm ()); }