]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/text-reg.cc
release: 0.0.68pre
[lilypond.git] / lily / text-reg.cc
index b1d921c45da3ff9426334b4d6ff4a44c0a655fc7..99c35d276b4477ad4efd184b425e7b0790af0f1b 100644 (file)
@@ -12,42 +12,44 @@ Text_register::Text_register()
 {
     text_p_ = 0;
     dir_i_ =0;
-    post_move_processing();
+    do_post_move_processing();
 }
 
 bool
-Text_register::try_request(Request*req_l)
+Text_register::do_try_request(Request*req_l)
 {
-    if (!req_l->text())
+    Musical_req *m = req_l->musical();
+    if (!m || ! m->text())
        return false;
     if (text_req_l_ &&
-       Text_req::compare(*req_l->text(), *text_req_l_))
+       Text_req::compare(*m->text(), *text_req_l_))
 
        return false;
 
-    text_req_l_ = req_l->text();
+    text_req_l_ = m->text();
     return true;
 }
 void
-Text_register::acknowledge_element(Staff_elem_info i)
+Text_register::acknowledge_element(Score_elem_info i)
 {
     if (text_p_ && i.elem_l_->name() == Note_column::static_name()) {
        text_p_->add_support(i.elem_l_);
     }
 }
 void
-Text_register::process_requests()
+Text_register::do_process_requests()
 {
     if (text_req_l_) {
-       text_p_ = new Text_item(text_req_l_); // UGH
-       announce_element(Staff_elem_info(text_p_, text_req_l_));
+       text_p_ = new Text_item(text_req_l_->tdef_p_, text_req_l_->dir_i_); // ugh
+       announce_element(Score_elem_info(text_p_, text_req_l_));
     }
 }
 void
-Text_register::pre_move_processing()
+Text_register::do_pre_move_processing()
 {
     if (text_p_) {
-       text_p_->dir_i_ = dir_i_;
+       if (dir_i_ && !text_p_->dir_i_)
+           text_p_->dir_i_ = dir_i_;
        Staff_symbol* s_l = get_staff_info().staff_sym_l_;
        text_p_->set_staffsym(s_l);
        typeset_element(text_p_);
@@ -62,9 +64,10 @@ Text_register::set_feature(Feature i)
        dir_i_ = i.value_;
 }
 void
-Text_register::post_move_processing()
+Text_register::do_post_move_processing()
 {
     text_req_l_ = 0;
 }
 IMPLEMENT_STATIC_NAME(Text_register);
+IMPLEMENT_IS_TYPE_B1(Text_register,Request_register);
 ADD_THIS_REGISTER(Text_register);