/// <summary>Add a status message to the explorer window</summary> /// <param name="message">The message.</param> /// <param name="errorLevel">The error level.</param> public void ShowMessage(string message, Models.DataStore.ErrorLevel errorLevel) { StatusWindow.Visible = message != null; // Output the message if (errorLevel == Models.DataStore.ErrorLevel.Error) { StatusWindow.ForeColor = Color.Red; } else if (errorLevel == Models.DataStore.ErrorLevel.Warning) { StatusWindow.ForeColor = Color.Brown; } else { StatusWindow.ForeColor = Color.Blue; } message = message.TrimEnd("\n".ToCharArray()); message = message.Replace("\n", "\n "); message += "\n"; StatusWindow.Text = message; this.toolTip1.SetToolTip(this.StatusWindow, message); progressBar.Visible = false; Application.DoEvents(); }
/// <summary>Add a status message to the explorer window</summary> /// <param name="message">The message.</param> /// <param name="errorLevel">The error level.</param> public void ShowMessage(string message, Models.DataStore.ErrorLevel errorLevel) { Gtk.Application.Invoke(delegate { StatusWindow.Visible = message != null; StatusWindow.Buffer.Clear(); if (message != null) { string tagName; // Output the message if (errorLevel == Models.DataStore.ErrorLevel.Error) { tagName = "error"; } else if (errorLevel == Models.DataStore.ErrorLevel.Warning) { tagName = "warning"; } else { tagName = "normal"; } message = message.TrimEnd("\n".ToCharArray()); message = message.Replace("\n", "\n "); message += "\n"; TextIter insertIter = StatusWindow.Buffer.StartIter; StatusWindow.Buffer.InsertWithTagsByName(ref insertIter, message, tagName); } //this.toolTip1.SetToolTip(this.StatusWindow, message); progressBar.Visible = false; stopButton.Visible = false; }); }
/// <summary> /// Create a message table ready for writing. /// </summary> /// <param name="dataStore">The data store to read the message table from</param> /// <param name="simulationName">The simulation name to get messages for</param> /// <returns>The filled message table</returns> private static DataTable GetMessageTable(DataStore dataStore, string simulationName) { DataTable messageTable = new DataTable(); DataTable messages = dataStore.GetData(simulationName, "Messages"); if (messages != null && messages.Rows.Count > 0) { messageTable.Columns.Add("Date", typeof(string)); messageTable.Columns.Add("Message", typeof(string)); string previousCol1Text = null; string previousMessage = null; foreach (DataRow row in messages.Rows) { // Work out the column 1 text. string modelName = (string)row[1]; DateTime date = (DateTime)row[2]; string col1Text = date.ToString("yyyy-MM-dd") + " " + modelName; // If the date and model name have changed then write a row. if (col1Text != previousCol1Text) { if (previousCol1Text != null) { messageTable.Rows.Add(new object[] { previousCol1Text, previousMessage }); } previousMessage = string.Empty; previousCol1Text = col1Text; } else { col1Text = null; } string message = (string)row[3]; Models.DataStore.ErrorLevel errorLevel = (Models.DataStore.ErrorLevel)Enum.Parse(typeof(Models.DataStore.ErrorLevel), row[4].ToString()); if (errorLevel == DataStore.ErrorLevel.Error) { previousMessage += "FATAL ERROR: " + message; } else if (errorLevel == DataStore.ErrorLevel.Warning) { previousMessage += "WARNING: " + message; } else { previousMessage += message; } previousMessage += "\r\n"; } } return(messageTable); }
/// <summary>Add a status message to the explorer window</summary> /// <param name="message">The message.</param> /// <param name="errorLevel">The error level.</param> public void ShowMessage(string message, Models.DataStore.ErrorLevel errorLevel) { MethodInvoker messageUpdate = delegate { StatusWindow.Visible = message != null; // Output the message if (errorLevel == Models.DataStore.ErrorLevel.Error) { StatusWindow.ForeColor = Color.Red; } else if (errorLevel == Models.DataStore.ErrorLevel.Warning) { StatusWindow.ForeColor = Color.Brown; } else { StatusWindow.ForeColor = Color.Blue; } message = message.TrimEnd("\n".ToCharArray()); message = message.Replace("\n", "\n "); message += "\n"; StatusWindow.Text = message; this.toolTip1.SetToolTip(this.StatusWindow, message); progressBar.Visible = false; }; if (InvokeRequired) { this.BeginInvoke(new Action(messageUpdate)); } else { messageUpdate(); } }
/// <summary>Add a status message to the explorer window</summary> /// <param name="message">Status message</param> /// <param name="errorLevel">Level for the error message</param> public void ShowMessage(string message, Models.DataStore.ErrorLevel errorLevel) { this.view.ShowMessage(message, errorLevel); }