1 /* 2 This file is to be included only by bsrMutualDependencies.h, 3 to satisfy declarations mutual dependencies. 4 */ 5 6 //______________________________________________________________________________ 7 class bsrPage : public bsrElement 8 { 9 public: 10 11 // creation 12 // ------------------------------------------------------ 13 14 static SMARTP<bsrPage> create ( 15 int inputLineNumber, 16 int printPageNumber, 17 int linesPerPage); 18 19 SMARTP<bsrPage> createPageNewbornClone (); 20 21 protected: 22 23 // constructors/destructor 24 // ------------------------------------------------------ 25 26 bsrPage ( 27 int inputLineNumber, 28 int printPageNumber, 29 int linesPerPage); 30 31 virtual ~bsrPage (); 32 33 public: 34 35 // set and get 36 // ------------------------------------------------------ 37 getPrintPageNumber()38 int getPrintPageNumber () const 39 { return fPrintPageNumber; } 40 getBraillePageNumber()41 int getBraillePageNumber () const 42 { return fBraillePageNumber; } 43 getLinesPerPage()44 int getLinesPerPage () const 45 { return fLinesPerPage; } 46 47 public: 48 49 // public services 50 // ------------------------------------------------------ 51 appendPageHeadingToPage(S_bsrPageHeading pageHeading)52 void appendPageHeadingToPage (S_bsrPageHeading pageHeading) 53 { fPageElementsList.push_back (pageHeading); } 54 appendMusicHeadingToPage(S_bsrMusicHeading musicHeading)55 void appendMusicHeadingToPage (S_bsrMusicHeading musicHeading) 56 { fPageElementsList.push_back (musicHeading); } 57 appendFootNotesToPage(S_bsrFootNotes footNotes)58 void appendFootNotesToPage (S_bsrFootNotes footNotes) 59 { fPageElementsList.push_back (footNotes); } 60 appendLineToPage(S_bsrLine line)61 void appendLineToPage (S_bsrLine line) 62 { fPageElementsList.push_back (line); } 63 64 int fetchLineContentsNumber () const; 65 66 public: 67 68 69 public: 70 71 // visitors 72 // ------------------------------------------------------ 73 74 virtual void acceptIn (basevisitor* v); 75 virtual void acceptOut (basevisitor* v); 76 77 virtual void browseData (basevisitor* v); 78 79 public: 80 81 // print 82 // ------------------------------------------------------ 83 84 virtual std::string asString () const; 85 86 virtual void print (ostream& os) const; 87 88 private: 89 90 // fields 91 // ------------------------------------------------------ 92 93 int fPrintPageNumber; 94 int fBraillePageNumber; 95 96 int fLinesPerPage; 97 98 list<S_bsrPageElement> 99 fPageElementsList; 100 }; 101 typedef SMARTP<bsrPage> S_bsrPage; 102 EXP ostream& operator<< (ostream& os, const S_bsrPage& elt); 103 104