Rich a3fcf2a0bb Added TotalPages count to DebugPagination
Added logic to close output file on Dispose
Output TotalPages count when closed
Added Manual Page Break output to DebugPagination.txt
Added preliminary pagination logic for KeepStepsOnPages
Fixed Pagination Logic for HLP EOPs and WCN EMGs
Update TotalPages on completing print of procedure
Added YTop to Debug Output on Paragraphs
Added preliminary logic for KeepStepsOnPage
Correct logic for word-wrap issue
2012-09-17 19:16:27 +00:00

112 lines
2.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace Volian.Base.Library
{
public class DebugPrint:IDisposable
{
public void Dispose()
{
Close();
}
private StreamWriter _MyStreamWriter = null;
public StreamWriter MyStreamWriter
{
get { return _MyStreamWriter; }
set
{
if (_MyStreamWriter != null)
{
_MyStreamWriter.Flush();
_MyStreamWriter.Close();
}
_MyStreamWriter = value;
}
}
public bool IsOpen
{
get { return MyStreamWriter != null; }
}
private string _FileName = null;
public string FileName
{
get { return _FileName; }
set
{
if (IsOpen) Close();
_FileName = value;
MyFileInfo = new FileInfo(value);
}
}
private FileInfo _MyFileInfo;
public FileInfo MyFileInfo
{
get { return _MyFileInfo; }
set { _MyFileInfo = value; }
}
public void Open(string fileName)
{
FileName = fileName;
MyStreamWriter = MyFileInfo.CreateText();
}
public void Close()
{
MyStreamWriter = null;
}
public void Write(string format, params object[] args)
{
if (IsOpen) MyStreamWriter.Write(format, args);
}
public void WriteLine(string format, params object[] args)
{
if (IsOpen) MyStreamWriter.WriteLine(format, args);
}
public void Show()
{
Close();
if (FileName != null)
System.Diagnostics.Process.Start(FileName);
//System.Diagnostics.Process.Start("Explorer", "/select," + FileName);
}
}
public static class DebugPagination
{
private static int _TotalPages = 0;
public static int TotalPages
{
get { return _TotalPages; }
set { _TotalPages = value; }
}
private static DebugPrint _MyDebugPrint = new DebugPrint();
public static void Open(string fileName)
{ _MyDebugPrint.Open(fileName); }
public static void Close()
{
WriteLine("{0} Total Pages", TotalPages);
_MyDebugPrint.Close();
}
public static void Write(string format, params object[] args)
{ _MyDebugPrint.Write(format, args); }
public static void WriteLine(string format, params object[] args)
{ _MyDebugPrint.WriteLine(format, args); }
public static void Show()
{ _MyDebugPrint.Show(); }
}
public static class DebugText
{
private static DebugPrint _MyDebugPrint = new DebugPrint();
public static void Open(string fileName)
{ _MyDebugPrint.Open(fileName); }
public static void Close()
{ _MyDebugPrint.Close(); }
public static void Write(string format, params object[] args)
{ _MyDebugPrint.Write(format, args); }
public static void WriteLine(string format, params object[] args)
{ _MyDebugPrint.WriteLine(format, args); }
public static void Show()
{ _MyDebugPrint.Show(); }
}
}