ITarget now inherits from System.IDisposable. Adjusted existing implementations accordingly.
TargetFile basically implemented.
TargetStandardOutput now inserts a timestamp to the logging message.
Added new property to mashGUI Settings: GlobalLog. This string setting will be written to by the custom loggingTarget.
Added Form LogWindow, which is a debug output for log messages.
Created class LoggingTargetSettings which logs messages to a Settings property.
Also renamed all .gui namespaces to .Gui and put Forms in the mash.Gui.Forms namespace.
Put all user controls in the namespace mash.Gui.Controls
Added basic gui specific exception hierarchy.
MasterWindow is now throwing an exception when switching tabs and it is not of the excepted type.
Implemented LoggingTargetSettings.logMessage.
Logging.Manager now has a IList<ITarget> property and creates a new instance of List<ITarget> in its ctor.
Put all logging targets intot their namespace Target. Renamed all targets to not have the Target* prefix. The ITarget interface is now called Target.IBase.
Properly renamed the custom logging target LoggingTargetSettings to Logging.Target.Settings.
Added three logging targets to the logging manager in mash.Gui.Program.Main
MasterWindow now now shows a log window. It can not be closed and be reopened again yet.
The log window is now not closing but just hiding when the X button is clicked.
The master window can now toggle the log window.
Removed obsolete button from master window along with the click handler.
Logging.Target.Settings is now clearing the Settings.Default.GlobalLog property in its Dispose method.
Changed default namespace for mashCore project to mash.Core and adjusted usings accordingly.
Renamed mashCore to mash.Core, mashGUI to mash.Gui, and mashLogging to mash.Logging.