/// <summary>
        ///     Provides the color according to the info status
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        protected Color ColorBasedOnInfo(MessageInfoEnum info)
        {
            Color retVal = NothingColor;

            if ((info & MessageInfoEnum.Error) != 0)
            {
                retVal = ErrorColor;
            }
            else if ((info & MessageInfoEnum.PathToError) != 0)
            {
                retVal = PathToErrorColor;
            }
            else if ((info & MessageInfoEnum.Warning) != 0)
            {
                retVal = WarningColor;
            }
            else if ((info & MessageInfoEnum.PathToWarning) != 0)
            {
                retVal = PathToWarningColor;
            }
            else if ((info & MessageInfoEnum.Info) != 0)
            {
                retVal = InfoColor;
            }
            else if ((info & MessageInfoEnum.PathToInfo) != 0)
            {
                retVal = PathToInfoColor;
            }

            return(retVal);
        }
        /// <summary>
        ///     Updates the message info when a new message is added
        /// </summary>
        /// <param name="info"></param>
        protected void UpdateMessageInfo(MessageInfoEnum info)
        {
            if ((MessagePathInfo & info) == 0)
            {
                // Flag is not yet handled in this model element
                MessagePathInfo = MessagePathInfo | info;

                ModelElement enclosing = Enclosing as ModelElement;
                if (enclosing != null)
                {
                    MessageInfoEnum nextInfo = info;
                    switch (info)
                    {
                    case MessageInfoEnum.Error:
                        nextInfo = MessageInfoEnum.PathToError;
                        break;

                    case MessageInfoEnum.Warning:
                        nextInfo = MessageInfoEnum.PathToWarning;
                        break;

                    case MessageInfoEnum.Info:
                        nextInfo = MessageInfoEnum.PathToInfo;
                        break;
                    }
                    enclosing.UpdateMessageInfo(nextInfo);
                }
            }
        }
        /// <summary>
        ///     Creates a path to the info provided
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        public static MessageInfoEnum CreatePathTo(MessageInfoEnum info)
        {
            MessageInfoEnum retVal = MessageInfoEnum.NoMessage;

            if ((info & (MessageInfoEnum.Error | MessageInfoEnum.PathToError)) != 0)
            {
                retVal = retVal | MessageInfoEnum.PathToError;
            }
            if ((info & (MessageInfoEnum.Warning | MessageInfoEnum.PathToWarning)) != 0)
            {
                retVal = retVal | MessageInfoEnum.PathToWarning;
            }
            if ((info & (MessageInfoEnum.Info | MessageInfoEnum.PathToInfo)) != 0)
            {
                retVal = retVal | MessageInfoEnum.PathToInfo;
            }

            return retVal;
        }
Exemple #4
0
        /// <summary>
        ///     Creates a path to the info provided
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        public static MessageInfoEnum CreatePathTo(MessageInfoEnum info)
        {
            MessageInfoEnum retVal = MessageInfoEnum.NoMessage;

            if ((info & (MessageInfoEnum.Error | MessageInfoEnum.PathToError)) != 0)
            {
                retVal = retVal | MessageInfoEnum.PathToError;
            }
            if ((info & (MessageInfoEnum.Warning | MessageInfoEnum.PathToWarning)) != 0)
            {
                retVal = retVal | MessageInfoEnum.PathToWarning;
            }
            if ((info & (MessageInfoEnum.Info | MessageInfoEnum.PathToInfo)) != 0)
            {
                retVal = retVal | MessageInfoEnum.PathToInfo;
            }

            return(retVal);
        }