lilypond-1.1.44
[lilypond.git] / hdr / registergroup.hh
blob6d6e76a15b80b1b607352d56fdb48075ef3ed791
1 /*
2 registergroup.hh -- declare
4 source file of the LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
10 #ifndef REGISTERGROUP_HH
11 #define REGISTERGROUP_HH
14 #include "plist.hh"
15 #include "staff-elem-info.hh"
16 #include "register.hh"
18 /**
19 Group a number of registers. Usually delegates everything to its contents.
20 Postfix: group
22 class Register_group_register : public Request_register {
23 protected:
24 IPointerList<Request_register*> reg_list_;
25 virtual void do_print()const;
26 public:
28 /**
29 Junk #reg_l#.
31 Pre:
32 #reg_l# is in #reg_list_#
34 virtual void terminate_register(Request_register * reg_l);
36 /**
37 Remove #reg_l# from the list, and return it.
39 Request_register * get_register_p(Request_register*reg_l);
40 virtual void set_feature(Features i);
41 virtual bool acceptable_request_b(Request*);
42 virtual void pre_move_processing();
43 virtual void post_move_processing();
44 virtual void acknowledge_element(Staff_elem_info info);
45 virtual bool try_request(Request*);
46 virtual void process_requests();
47 virtual ~Register_group_register();
48 virtual void add(Request_register* reg_p);
49 virtual bool contains_b(Request_register*);
52 #endif // REGISTERGROUP_HH