]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.30
authorfred <fred>
Sun, 24 Mar 2002 19:30:59 +0000 (19:30 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:30:59 +0000 (19:30 +0000)
hdr/complexwalker.hh

index fcdb84ef962521d08b688f189b40bd50f28a7630..2ada9fe642b4322e207119a31531d6ed565095ee 100644 (file)
@@ -7,7 +7,6 @@
 #ifndef COMPLEXWALKER_HH
 #define COMPLEXWALKER_HH
 
-// this SUX
 #include "proto.hh"
 #include "grouping.hh"
 #include "voicegroup.hh"
@@ -16,6 +15,7 @@
 #include "key.hh"
 #include "clef.hh"
 #include "register.hh"
+#include "localkeyreg.hh"
 
 struct Complex_walker: Staff_walker {
     Local_key local_key_;
@@ -32,29 +32,27 @@ struct Complex_walker: Staff_walker {
 
     IPointerList<Voice_registers *> voice_reg_list_;
     IPointerList<Voice_group_registers*> group_reg_list_;
-    Assoc<const Voice *, Voice_group_registers *> voice_group_map_;
+    Assoc<Voice *, Voice_group_registers *> voice_group_map_;
 
     Local_key_register local_key_reg_;
     Array<Staff_elem_info> announce_info_arr_;
     
-    /****************/
-    void  do_change_group(const Voice * v, String group_id_str);
-
-    Voice_registers *find_voice_reg(Voice*v_l);
+    /* *************** */
+    Voice_registers *find_voice_reg(Voice*v_l)const;
     Voice_registers *get_voice_reg(Voice*v_l);
     
     /// search and return. return 0 if not found.
-    Voice_group_registers *find_voice_group(Voice* v_l);
+    Voice_group_registers *find_voice_group(Voice* v_l)const;
     /// search. Create if necessary
     Voice_group_registers *get_voice_group(Voice* v_l);
     /// search and return. return 0 if not found
-    Voice_group_registers *find_voice_group(const char* id);
+    Voice_group_registers *find_voice_group(const char* id)const;
     /// Create if necessary
     Voice_group_registers *get_voice_group(const char*);
+
+    Array<Voice_registers *> get_voice_regs(Voice_group_registers *) const;
     
     void regs_process_requests();
-    void do_announces();
-    void try_request(Request*req);
     void typeset_element(Staff_elem *elem_p);
     void announce_element(Staff_elem_info);
     virtual void do_TYPESET_command(Command*);
@@ -66,6 +64,10 @@ struct Complex_walker: Staff_walker {
     Complex_walker(Complex_staff*);
     Complex_column *col();
     Complex_staff *staff();
+private:
+    void  do_change_group( Voice * v, String group_id_str);
+    void do_announces();
+    void try_request(Request*req);
 };