2 group-interface.cc -- implement Group_interface
4 source file of the GNU LilyPond music typesetter
6 (c) 1999--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
9 #include "group-interface.hh"
13 Group_interface::add_thing (Grob *me, SCM sym, SCM thing)
15 me->add_to_list_property (sym, thing);
19 Group_interface::count (Grob *me, SCM sym)
21 return scm_ilength (me->internal_get_property (sym));
25 Pointer_group_interface::add_grob (Grob *me, SCM name, Grob *p)
27 Group_interface::add_thing (me, name, p->self_scm ());
31 extract_grob_array (Grob const *elt, SCM symbol)
35 for (SCM s = elt->internal_get_property (symbol); scm_is_pair (s); s = scm_cdr (s))
38 arr.push (unsmob_grob (e));
46 extract_item_array (Grob const *elt, SCM symbol)
49 for (SCM s = elt->internal_get_property (symbol); scm_is_pair (s); s = scm_cdr (s))
52 arr.push (dynamic_cast<Item *> (unsmob_grob (e)));