]> git.donarmstrong.com Git - lilypond.git/blob - lily/pointer-group-interface.cc
release: 1.3.94
[lilypond.git] / lily / pointer-group-interface.cc
1 /*   
2   group-interface.cc --  implement Pointer_group_interface
3   
4   source file of the GNU LilyPond music typesetter
5   
6   (c) 1999--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7   
8  */
9 #include "group-interface.hh"
10 #include "score-element.hh"
11
12 /*
13   UGH clean me . 
14  */
15 Pointer_group_interface::Pointer_group_interface (Score_element * e)
16 {
17   elt_l_ = e;
18   name_ = "elements";
19 }
20
21
22 Pointer_group_interface::Pointer_group_interface (Score_element  *e, String s)
23 {
24   elt_l_ =(Score_element*)e;
25   name_ = s;
26
27
28 /*
29   duh.
30  */
31 bool
32 Pointer_group_interface::has_interface () 
33 {
34   SCM el = elt_l_->get_elt_property (name_.ch_C());
35
36   return el == SCM_EOL || gh_pair_p (el);
37 }
38
39
40 void
41 Pointer_group_interface::add_element (Score_element*p) 
42 {
43   elt_l_->set_elt_property (name_.ch_C(),
44                            gh_cons (p->self_scm (),
45                                     elt_l_->get_elt_property (name_.ch_C())));
46 }
47
48 int
49 Pointer_group_interface::count ()
50 {
51   return scm_ilength (elt_l_->get_elt_property (name_.ch_C()));
52 }
53
54