Marked as 'AdvertsingProfitControl v 0.8.5' by its folder name. The 'Add Records' form has been finshed to at least include all the information the Advertising Profit Control sheet had.
This commit is contained in:
@@ -0,0 +1,137 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace AdvertsingProfitControl
|
||||
{
|
||||
public sealed partial class LogConsole : Form
|
||||
{
|
||||
//Source code: https://hashfactor.wordpress.com/2009/03/31/c-winforms-create-a-single-instance-form/
|
||||
private static readonly LogConsole gLogConsoleInstance = new LogConsole();
|
||||
private static bool gIsShown = false;
|
||||
|
||||
public LogConsole()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
logListView.Scrollable = true;
|
||||
logListView.View = View.Details;
|
||||
//Information for drawing header columns and sub-items in ListView:
|
||||
//http://stackoverflow.com/questions/561798/how-do-i-align-text-for-a-single-subitem-in-a-listview-using-c
|
||||
ColumnHeader header = new ColumnHeader();
|
||||
header.Text = "Advertising Profit Control " + Application.ProductVersion + " Debug Console";
|
||||
header.Name = "LogConsoleHeader";
|
||||
header.Width = logListView.Width;
|
||||
logListView.Columns.Add(header);
|
||||
}
|
||||
|
||||
static LogConsole()
|
||||
{
|
||||
GetStaticInstance.FormClosing += new FormClosingEventHandler(LogConsole_FormClosing);
|
||||
//Set the maximum and minimum size of the form.
|
||||
GetStaticInstance.MaximumSize = new Size(900, 900);
|
||||
GetStaticInstance.MinimumSize = new Size(400, 400);
|
||||
}
|
||||
|
||||
public new void Show()
|
||||
{
|
||||
if (gIsShown)
|
||||
{
|
||||
base.Show();
|
||||
}
|
||||
else
|
||||
{
|
||||
base.Show();
|
||||
gIsShown = true;
|
||||
}
|
||||
}
|
||||
|
||||
public new void Hide()
|
||||
{
|
||||
if (gIsShown)
|
||||
{
|
||||
base.Hide();
|
||||
gIsShown = false;
|
||||
}
|
||||
}
|
||||
|
||||
public enum Level : int
|
||||
{
|
||||
Critical = 0,
|
||||
Error = 1,
|
||||
Warning = 2,
|
||||
Info = 3,
|
||||
Verbose = 4,
|
||||
Debug = 5
|
||||
};
|
||||
|
||||
public void WriteToLog(Level level, string message)
|
||||
{
|
||||
Color color;
|
||||
int index;
|
||||
|
||||
switch (level)
|
||||
{
|
||||
case Level.Critical:
|
||||
color = Color.White;
|
||||
break;
|
||||
case Level.Error:
|
||||
color = Color.Red;
|
||||
break;
|
||||
case Level.Warning:
|
||||
color = Color.Goldenrod;
|
||||
break;
|
||||
case Level.Info:
|
||||
color = Color.Green;
|
||||
break;
|
||||
case Level.Verbose:
|
||||
color = Color.Blue;
|
||||
break;
|
||||
default:
|
||||
color = Color.Black;
|
||||
break;
|
||||
}
|
||||
index = logListView.Items.Count;
|
||||
try
|
||||
{
|
||||
message = String.Format("{0}: {1}", level, message);
|
||||
if (level != Level.Info)
|
||||
{
|
||||
GlobalClasses.WriteToLog(DateTime.Now + ": " + message + Environment.NewLine);
|
||||
}
|
||||
logListView.Items.Add(message);
|
||||
logListView.Items[index].ForeColor = color;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MessageBox.Show(e.Message);
|
||||
}
|
||||
|
||||
if (level == Level.Critical)
|
||||
{
|
||||
logListView.Items[index].BackColor = Color.Red;
|
||||
}
|
||||
else
|
||||
{
|
||||
logListView.Items[index].BackColor = Color.WhiteSmoke;
|
||||
}
|
||||
}
|
||||
|
||||
private static void LogConsole_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
e.Cancel = true;
|
||||
GetStaticInstance.Hide();
|
||||
gIsShown = false;
|
||||
}
|
||||
|
||||
public static LogConsole GetStaticInstance
|
||||
{
|
||||
get { return gLogConsoleInstance; }
|
||||
}
|
||||
|
||||
public bool IsVisable
|
||||
{
|
||||
get { return gIsShown; }
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user