private void m_editor_InsertCharEvent(InsertCharEventArgs e) { UpdateIntellisense(false, "", "", e); }
/// <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); }