source: trunk/source/visualization/HepRep/src/IndentPrintWriter.cc @ 1202

Last change on this file since 1202 was 834, checked in by garnier, 16 years ago

import all except CVS

File size: 1.7 KB
Line 
1// Copyright FreeHEP, 2005.
2
3#include <fstream>
4
5#include "cheprep/IndentPrintWriter.h"
6
7using namespace std;
8
9/**
10 * @author Mark Donszelmann
11 * @version $Id: IndentPrintWriter.cc,v 1.14 2005/06/02 21:28:45 duns Exp $
12 */
13namespace cheprep {
14
15IndentPrintWriter::IndentPrintWriter(ostream* out, int level)
16    : out(out), 
17      closed(false), 
18      indentLevel(level),
19      indented(false),
20      indentString("  ") {
21}
22
23IndentPrintWriter::~IndentPrintWriter() {
24}
25
26void IndentPrintWriter::close() {
27    if (!closed) {
28        out->flush();
29        closed = true;
30    }
31}
32
33IndentPrintWriter& IndentPrintWriter::operator<< (const std::string & s) {
34    if (!indented) doIndent();
35    *out << s;
36    return *this;
37}
38
39IndentPrintWriter& IndentPrintWriter::operator<< (ostream& (*)(ostream&)) {
40    *out << endl;
41    indented = false;
42    return *this;
43}
44
45void IndentPrintWriter::println(const string & s) {
46        *this << s << endl;
47}
48
49void IndentPrintWriter::print(const string & s) {
50    *this << s;
51}
52
53void IndentPrintWriter::println() {
54    *out << endl;
55        indented = false;
56}
57
58void IndentPrintWriter::doIndent() {
59        for (int i=0; i<indentLevel; i++) {
60            *out << indentString;
61        }
62        indented = true;
63}
64
65void IndentPrintWriter::indent() {
66    indentLevel++;
67}
68
69void IndentPrintWriter::outdent() {
70    indentLevel--;
71}
72
73int IndentPrintWriter::getIndent() const {
74    return indentLevel;
75}
76
77void IndentPrintWriter::setIndent(const int level) {
78    indentLevel = level;
79}
80
81string IndentPrintWriter::getIndentString() const {
82    return indentString;
83}
84
85void IndentPrintWriter::setIndentString(const string & indent) {
86    indentString = indent;
87}
88
89} // cheprep
Note: See TracBrowser for help on using the repository browser.