staffline_p_ = get_spanner_p ();
Axis_group_interface (staffline_p_).set_interface ();
Axis_group_interface (staffline_p_).set_axes (Y_AXIS, Y_AXIS);
- staffline_p_->set_bound(LEFT,get_staff_info().command_pcol_l ());
+
+ Item * it = get_staff_info().command_pcol_l ();
+ Pointer_group_interface (it, "bounded-by-me").add_element (staffline_p_);
+ staffline_p_->set_bound(LEFT,it);
+
announce_element (Score_element_info (staffline_p_, 0));
}
&& gh_number_p (gh_cdr (dims)))
staffline_p_->set_elt_property ("extra-extent-Y", dims);
-
- staffline_p_->set_bound(RIGHT,get_staff_info().command_pcol_l ());
+ Item * it = get_staff_info().command_pcol_l ();
+
+ Pointer_group_interface (it, "bounded-by-me").add_element (staffline_p_);
+ staffline_p_->set_bound(RIGHT,it);
+
typeset_element (staffline_p_);
staffline_p_ = 0;
}
Line_group_engraver_group::do_removal_processing()
{
Engraver_group_engraver::do_removal_processing ();
+ Item * it = get_staff_info().command_pcol_l ();
- staffline_p_->set_bound(RIGHT,get_staff_info().command_pcol_l ());
+ Pointer_group_interface (it, "bounded-by-me").add_element (staffline_p_);
+ staffline_p_->set_bound(RIGHT,it);
Engraver_group_engraver::typeset_element (staffline_p_);
staffline_p_ = 0;
}
Line_group_engraver_group::do_creation_processing()
{
create_line_spanner ();
- staffline_p_->set_bound(LEFT,get_staff_info().command_pcol_l ());
+ Item * it = get_staff_info().command_pcol_l ();
+ staffline_p_->set_bound(LEFT,it);
+ Pointer_group_interface (it, "bounded-by-me").add_element (staffline_p_);
Engraver::announce_element (Score_element_info (staffline_p_,0));
}
}
Paper_column::Paper_column (Moment w)
- : Item (SCM_EOL)
+ : Item (SCM_EOL) // guh.?
{
SCM when = (new Moment (w))->smobify_self ();
scm_unprotect_object (when);
Axis_group_interface (this).set_interface ();
Axis_group_interface (this).set_axes (X_AXIS, X_AXIS);
-
+ set_elt_pointer ("bounded-by-me", SCM_EOL);
line_l_=0;
rank_i_ = -1;
}
bool
Paper_column::used_b ()const
{
- return gh_pair_p (get_elt_pointer ("elements")) || breakable_b ();
+ return gh_pair_p (get_elt_pointer ("elements")) || breakable_b ()
+ || gh_pair_p (get_elt_pointer ("bounded-by-me"))
+ ;
}