2 * Copyright (C) 2009 by Aiwota Programmer
3 * aiwotaprog@tetteke.tk
5 * This file is part of Dialektos.
7 * Dialektos is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
12 * Dialektos is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Dialektos. If not, see <http://www.gnu.org/licenses/>.
21 #include "buffer_builder.hxx"
23 #include "text_view_layoutable.hxx"
24 #include "text_line.hxx"
25 #include "text_element_res_num.hxx"
31 BufferBuilder::BufferBuilder(text_view::Layoutable& view, int res_num) :
32 text_view_(view), res_num_(res_num), current_line_(0) {
34 BufferBuilder::~BufferBuilder() { flush(); }
36 void BufferBuilder::add_res_num(int res_num, bool bold) {
37 assert( current_line_ != 0);
38 current_line_->add_element(
39 new text_element::ResNum(res_num, bold, text_view_.get_res_num_map()));
42 void BufferBuilder::new_line(int left_margin) {
44 current_line_ = new TextLine(res_num_, left_margin);
47 void BufferBuilder::flush() {
49 current_line_->trim_right();
50 text_view_.add_line(current_line_);
56 } // namespace dialektos