#include "stdafx.h"


#include "IndentedWriter.h"

TextWriter* IndentedWriter::get_TextWriter()
{
    return myTextWriter;
}

void IndentedWriter::set_TextWriter(TextWriter* Value)
{
    myTextWriter = Value;
}

bool IndentedWriter::get_Print()
{
    return myPrintFlag;
}

void IndentedWriter::set_Print(bool Value)
{
    myPrintFlag = Value;
}


IndentedWriter::IndentedWriter()
{
    myTextWriter = Console::Out;
    myPrintFlag = true;
    myIndent = 0;
}

void IndentedWriter::PushIndent()
{
    myIndent += 2;
}

void IndentedWriter::PopIndent()
{
    if (myIndent > 0)
    {
        myIndent -= 2;
    }
}

void IndentedWriter::WriteLine()
{
    WriteLine(S"");
}

void IndentedWriter::WriteLine(String* format, Object* arg[])
{
    WriteLine(String::Format(format, arg));
}

void IndentedWriter::WriteLine(String* message)
{
    if (myPrintFlag)
    {
        StringBuilder* sb = new StringBuilder();
        int _Vb_t_i4_0 = myIndent - 1;
        for (int i = 0; i <= _Vb_t_i4_0; i++)
        {
            sb->Append(' ');
        }
        sb->Append(message);
        myTextWriter->WriteLine(sb->ToString());
    }
}


