コード例 #1
0
 private void m_editor_InsertCharEvent(InsertCharEventArgs e)
 {
     UpdateIntellisense(false, "", "", e);
 }
コード例 #2
0
        /// <summary>
        /// Updates the intellisense box's elements to show the right object list.
        /// </summary>
        /// <param name="forceNextLevel"></param>
        /// <param name="word"></param>
        /// <param name="justRead"></param>
        /// <returns></returns>
        public bool UpdateIntellisense(bool forceNextLevel, string keyWord, string justRead, InsertCharEventArgs args)
        {
            //_node = args.Node;
            _args    = args;
            _operate = args.Operate;
            //Clear all elements
            m_IntellisenseBox.Items.Clear();
            bool needShow = false;

            switch (args.Operate)
            {
            case InsertOperate.InsertNodeName:

                //List<string> lstElement = m_editor.EditController.GetElementLists(_node.Parent.Name, _node.GetLastNodeName(), _node.GetSameLevelNodeName());
                //if (lstElement.Count > 0)
                //{
                //    foreach (string element in lstElement)
                //    {
                //        IntellisenseListItem li = new IntellisenseListItem();
                //        li.Text = m_editor.LanguageReader.GetDisplayText(element);
                //        li.Image = Properties.Resources.Element;
                //        li.Tag = element;
                //        m_IntellisenseBox.Items.Add(li);
                //    }
                //    needShow = true;
                //}
                break;

            case InsertOperate.InsertAttrName:

                ///已经存在的属性
                //List<string> existAttr = new List<string>();

                //foreach (VXmlAttribute attr in _node.Attributes)
                //{
                //    existAttr.Add(attr.Name);
                //}
                //List<string> lstAttr = m_editor.EditController.GetAttributeList(_node.Name, existAttr);
                //if (lstAttr.Count > 0)
                //{
                //    foreach (string attr in lstAttr)
                //    {
                //        IntellisenseListItem li = new IntellisenseListItem();
                //        li.Text = m_editor.LanguageReader.GetDisplayText(attr);
                //        li.Tag = attr;
                //        li.Image = Properties.Resources.Attribute;

                //        m_IntellisenseBox.Items.Add(li);
                //    }
                //    needShow = true;
                //}

                break;

            case InsertOperate.InsertAttrValue:
                //string attrName = (args.Segment as AttrValueSegment).Attribute.Name;
                //List<string> lstValue = m_editor.EditController.GetAttributeEnumList(attrName);
                //if (lstValue.Count > 0)
                //{
                //    foreach (string attrValue in lstValue)
                //    {
                //        IntellisenseListItem li = new IntellisenseListItem();
                //        li.Text = m_editor.LanguageReader.GetDisplayText(attrValue);
                //        li.Tag = attrValue;
                //        li.Image = Properties.Resources.Attribute;

                //        m_IntellisenseBox.Items.Add(li);
                //    }
                //    needShow = true;
                //}

                break;
            }
            if (needShow)
            {
                //Show box
                ShowIntellisenseBoxWithoutUpdate();
            }
            else
            {
                HideIntellisenseBox();
            }
            return(true);
        }