]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/group-interface.cc
(set_spacing_rods): new
[lilypond.git] / lily / group-interface.cc
index d9ae970c193633e93f90d6f225a7dbf929c821d7..95d388cc0716becf0ce4db0e04c26c9f3774bd0d 100644 (file)
@@ -1,70 +1,30 @@
 /*   
-  group-interface.cc --  implement Group_interface
+  group-interface.cc -- implement Group_interface
   
   source file of the GNU LilyPond music typesetter
   
-  (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1999--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
   
  */
-#include "group-interface.hh"
-#include "score-element.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 () 
-{
-  SCM el = elt_l_->get_elt_property (name_);
-
-  return el == SCM_EOL || gh_pair_p (el);
-}
 
+#include "group-interface.hh"
 
 void
-Group_interface::add_element (Score_element*p) 
+Group_interface::add_thing (Grob*me, SCM sym, 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_)));
+  me->add_to_list_property (sym, thing);
 }
 
-int
-Group_interface::count ()
-{
-  return scm_ilength (elt_l_->get_elt_property (name_));
-}
 
-void
-Group_interface::set_interface ()
+int
+Group_interface::count (Grob *me, SCM sym)
 {
-  if (!has_interface_b ())
-    {
-      elt_l_->set_elt_property (name_, SCM_EOL);
-    }
+  return scm_ilength (me->internal_get_property (sym));
 }
 
-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 ());
 }