Пример #1
0
        /// <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();
        }
Пример #2
0
        /// <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;
            });
        }
Пример #3
0
        /// <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);
        }
Пример #4
0
        /// <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();
            }
        }
Пример #5
0
 /// <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);
 }