}
int
-Paper_column::get_rank (Grob *me)
+Paper_column::get_rank (Grob const *me)
{
- return dynamic_cast<Paper_column *> (me)->rank_;
+ return dynamic_cast<Paper_column const *> (me)->rank_;
}
System *
return system_;
}
+void
+Paper_column::set_system (System *s)
+{
+ system_ = s;
+}
+
Paper_column *
Paper_column::get_column () const
{
rank_ = src.rank_;
}
+int
+Paper_column::compare (Grob * const &a,
+ Grob * const &b)
+{
+ return sign (dynamic_cast<Paper_column*> (a)->rank_
+ - dynamic_cast<Paper_column*> (b)->rank_);
+}
+
+bool
+Paper_column::less_than (Grob *const &a,
+ Grob *const &b)
+{
+ Paper_column *pa = dynamic_cast<Paper_column*> (a);
+ Paper_column *pb = dynamic_cast<Paper_column*> (b);
+
+ return pa->rank_ < pb->rank_;
+}
+
Moment
Paper_column::when_mom (Grob *me)
{
ADD_INTERFACE (Paper_column,
-
- "paper-column-interface",
"@code{Paper_column} objects form the top-most X-parents for items."
" The are two types of columns: musical columns, where are attached to, and "
" non-musical columns, where bar-lines, clefs etc. are attached to. "
/* properties */
"between-cols "
"bounded-by-me "
+ "grace-spacing "
"line-break-system-details "
"line-break-penalty "
"line-break-permission "
"page-break-permission "
"page-turn-penalty "
"page-turn-permission "
+ "rhythmic-location "
"shortest-playing-duration "
"shortest-starter-duration "
+ "spacing "
"used "
"when ");