]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/register-group.hh
release: 0.0.70pre
[lilypond.git] / lily / include / register-group.hh
index 9d13c292f9680cc379e460e145eab152c84e0fa5..0c47919b6b8fec3f255f5d1b06ef87066772e732 100644 (file)
@@ -10,7 +10,7 @@
 #ifndef REGISTERGROUP_HH
 #define REGISTERGROUP_HH
 
-
+#include "parray.hh"
 #include "plist.hh"
 #include "score-elem-info.hh"
 #include "register.hh"
 class Register_group_register : public Request_register {
 protected:
     Pointer_list<Request_register*> reg_list_;
+    Link_array<Register_group_register> group_l_arr_;
+    Link_array<Request_register> nongroup_l_arr_;
+    String id_str_;
+    
+    Array<Score_elem_info> announce_info_arr_;
+    
     virtual void do_print()const;
-public:
 
+    virtual bool removable_b()const;
+
+public:
+    int iterator_count_;
+    void check_removal();
+    Register_group_register();
+    ~Register_group_register();
+    
+    /// Score_register = 0, Staff_registers = 1, etc)
+    virtual int depth_i()const;
+    /**
+      Go up in the tree. default: choose next parent
+     */
+    Register_group_register * ancestor_l(int l=1);
+    
+    Input_register * ireg_l_;
+    
     /**
       Junk #reg_l#.
 
@@ -38,18 +60,26 @@ public:
     /**
       Remove #reg_l# from the list, and return it.
      */
-    virtual Request_register * get_register_p(Request_register*reg_l);
+    virtual Request_register * remove_register_p(Request_register*reg_l);
     virtual void set_feature(Feature i);
-    virtual bool acceptable_request_b(Request*)const;
     virtual void sync_features() ;
-    virtual void pre_move_processing();
-    virtual void post_move_processing();
-    virtual void acknowledge_element(Score_elem_info info);
-    virtual bool try_request(Request*);
-    virtual void process_requests();
-    virtual ~Register_group_register();
+    virtual void do_pre_move_processing();
+    virtual void do_post_move_processing();
+
+    virtual void do_removal_processing();
+    virtual bool do_try_request(Request*);
+    virtual void do_process_requests();
+
+    virtual Staff_info get_staff_info()const;
+    
+    virtual Register_group_register * find_register_l(String name,String id);
+    virtual void do_announces();    
+    virtual void announce_element(Score_elem_info);
+    virtual Register_group_register* find_get_reg_l(String name, String id);
+    virtual Register_group_register * get_default_interpreter();
+    
     virtual void add(Request_register* reg_p);
-    void add(Array<Request_register*> reg_p_arr);
+
     virtual bool contains_b(Request_register*)const;
 };