Click here to Skip to main content
15,896,063 members
Articles / Programming Languages / C#

Simple SVG Editor

Rate me:
Please Sign up or sign in to vote.
4.38/5 (18 votes)
18 Sep 2007CPOL1 min read 168.2K   12.6K   92  
This application is a combination of two projects from The Code Project: DrawTools by Alex Fry and SVGPad by Maurizio Bigoloni
// --------------------------------------------------------------------------------
// Name:     ErrH
//
// Author:   Maurizio Bigoloni <big71@fastwebnet.it>
//           See the ReleaseNote.txt file for copyright and license information.
//
// Remarks:
//
// --------------------------------------------------------------------------------

using System;
using System.Diagnostics;

namespace SVGLib
{
	/// <summary>
	/// Summary description for ErrH.
	/// </summary>
	public class ErrH
	{
		public enum _LogMode
		{
			Trace,
			EventLog,
			MessageBox
		}

		public enum _LogPriority
		{
			Info,
			Warning,
			Error
		}

		/*private static _LogMode m_logmodeError = _LogMode.MessageBox;
		private static _LogMode m_logmodeWarning = _LogMode.Trace;
		private static _LogMode m_logmodeInfo = _LogMode.Trace;*/
 
		
		private string m_sClass;
		private string m_sMethod;

		public ErrH(string sClass, string sMethod)
		{
			m_sClass = sClass;
			m_sMethod = sMethod;

			Log("Enter Method", _LogPriority.Info);
		}

		~ErrH()
		{
			
		}

		public static void Log(string sClass, string sMethod, string sMessage, _LogPriority prio)
		{
			string sMessageToLog;
			bool bLogToEventLog = false;
			bool bLogToMessageBox = false;

			sMessageToLog = Priority(prio) + Where(sClass, sMethod) + sMessage + ".";

			Trace.WriteLine(sMessageToLog);

			if ( bLogToEventLog )
			{
				// todo
			}

			if ( bLogToMessageBox )
			{
				// todo
			}
		}

		public void Log(string sMessage, _LogPriority prio)
		{
			string sMessageToLog;
			bool bLogToEventLog = false;
			bool bLogToMessageBox = false;

			sMessageToLog = Priority(prio) + Where() + sMessage + ".";

			Trace.WriteLine(sMessageToLog);

			if ( bLogToEventLog )
			{
				// todo
			}

			if ( bLogToMessageBox )
			{
				// todo
			}
		}

		public void LogParameter(string sName, string sValue)
		{
			Log("Parameter " + sName + " = " + sValue, _LogPriority.Info);
		}

		public void LogEnd(bool bSuccess)
		{
			if ( bSuccess )
			{
				Log("Method Succeeded", _LogPriority.Info);
			}
			else
			{
				Log("Method Failed", _LogPriority.Info);
			}
		}

		public void LogException(Exception e)
		{
			Log("A exception was catched. Message:" + e.Message , _LogPriority.Error);
		}

		public void LogUnhandledException()
		{
			Log("An unhandled exception was catched", _LogPriority.Error);
		}

		private static string Priority(_LogPriority prio)
		{
			string sPriority = "";

			switch ( prio )
			{
				case _LogPriority.Info:
					sPriority = "INF ";
					break;

				case _LogPriority.Warning:
					sPriority = "WAR ";
					break;

				case _LogPriority.Error:
					sPriority = "ERR ";
					break;
			}

			return sPriority;
		}

		private static string Where(string sClass, string sMethod)
		{
			return "Class:" + sClass + ". Method:" + sMethod + ". ";
		}

		private string Where()
		{
			return "Class:" + m_sClass + ". Method:" + m_sMethod + ". ";
		}
	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
Russian Federation Russian Federation
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions