示例#1
0
        public void UpdateAdorner(bool bHasExpression, bool bHasConfiguration)
        {
            if (!bHasExpression && !bHasConfiguration)
            {
                DetachAdorner();
                return;
            }

            if (this.m_adornerLayer != null)
            {
                if (this.m_adorner == null)
                {
                    this.m_adorner = this;
                    m_adorner.Tag  = this.m_tag;
                    this.m_adornerLayer.Add(this.m_adorner);
                }

                m_adorner.Images.Clear();
                System.Windows.Media.Imaging.BitmapSource s_Icon;
                if (bHasExpression && bHasConfiguration)
                {
                    s_Icon            = HighlightingToDo.GetBitmapSource(ExpressionHighlighterPlugin.ExpressionColor, ExpressionHighlighterPlugin.ConfigurationColor);
                    m_adorner.ToolTip = "Controlled by expression and configuration";
                }
                else if (bHasExpression)
                {
                    s_Icon            = HighlightingToDo.GetBitmapSource(ExpressionHighlighterPlugin.ExpressionColor);
                    m_adorner.ToolTip = "Controlled by expression";
                }
                else
                {
                    s_Icon            = HighlightingToDo.GetBitmapSource(ExpressionHighlighterPlugin.ConfigurationColor);
                    m_adorner.ToolTip = "Controlled by configuration";
                }

                m_adorner.Images.Add(new Tuple <Point, System.Windows.Media.ImageSource>(GetImagePosition(), s_Icon));
                m_adorner.InvalidateVisual();
                this.m_adornerLayer.UpdateLayout();
            }
        }