]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/request-chord-iterator.hh
* VERSION (MY_PATCH_LEVEL): make 1.7.0
[lilypond.git] / lily / include / request-chord-iterator.hh
index 0e820f7b1f62ea90fd3dfc76c87805a1c8a1823d..b9eabca0dae6caa1d300c7ebd243d578f1152724 100644 (file)
@@ -3,40 +3,42 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c)  1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 
 #ifndef REQUEST_ITER_HH
 #define REQUEST_ITER_HH
 
-#include "music-iterator.hh"
+#include "simple-music-iterator.hh"
 
 /**
    Walk through a Request_chord
  */
-class Request_chord_iterator : public Music_iterator
+class Request_chord_iterator : public Simple_music_iterator
 {
-  Request_chord * elt_l () const;
+  Request_chord * get_elt () const;
   /**
-     cache elt_l ()->length_mom ().
+     Find a bottom notation context to deliver requests to.
    */
-  Moment elt_length_mom_;
-  bool last_b_;
+  virtual Translator_group* get_req_translator ();
 
+
+  /*
+    Since Request_chord_iterator has no list-cursor internally, we
+    must use a status variable to adminstrate where we are */
+  
+  enum { NONE_DONE, START_DONE, END_DONE }  status_;
 public:
   VIRTUAL_COPY_CONS (Music_iterator);
+  DECLARE_SCHEME_CALLBACK(constructor, ());
   Request_chord_iterator ();
   Request_chord_iterator (Request_chord_iterator const&);
-  
-  virtual bool next ();
-  virtual bool ok () const;
 
+  virtual SCM get_pending_events (Moment) const;
 protected:
-  virtual void do_process (Moment);
-  virtual Moment next_moment() const;
-  virtual void construct_children();
-  virtual void do_print() const;
+  virtual void process (Moment);
+  virtual void construct_children ();
 };