private void LogActivation(DesktopObject changeObj, DesktopObject nowActive)
        {
            string message = changeObj.Active ?
                             "Activated" : string.Format("Deactivated, Active object: {0}", nowActive == null ? "none" : nowActive.Name);

            LogEvent(new EventLogItem(changeObj, message));
        }
            public EventLogItem(DesktopObject source, string message)
            {
                // note that we don't cache a reference to the DesktopObject, as this might
                // affect results of GC tests
                _objectName  = source.Name;
                _objectTitle = source.Title;

                _message = message;
                _index   = ++_indexCounter;
            }
 private void LogState(DesktopObject changeObj)
 {
     LogEvent(new EventLogItem(changeObj, "State: " + changeObj.State.ToString()));
 }
 private void LogVisiblility(DesktopObject source)
 {
     LogEvent(new EventLogItem(source, source.Visible ? "Visible" : "Hidden"));
 }