internal void SetVisibleTypes(string text) { string part = ""; HMSItem item = GetHMSItemByText(text, out part); if (item != null) { if (item.Type.ToLower().StartsWith("bool")) { visibleItems.AddRange(HMS.ItemsBoolean); return; } HMSClassInfo info = HMS.HmsTypes[item.Type]; if (!string.IsNullOrEmpty(info.Name)) { visibleItems.AddRange(info.MemberItems); } } }
protected override void OnDoubleClick(EventArgs e) { var indx = FocussedItemIndex; var item = SelectedItem; if (item.IsClass) { BeginUpdate(); if (!item.Expanded) { item.Expanded = true; AutocompleteItems insertedItems = new AutocompleteItems(); insertedItems.AddRange(item.ClassInfo.StaticItems); insertedItems.AddRange(item.ClassInfo.MemberItems); Items.InsertRange(indx + 1, insertedItems); } else { item.Expanded = false; if (indx < Count - 1) { int count = 0; for (int i = indx + 1; i < Count; i++) { if (Items[i].Level < 1) break; count++; } Items.RemoveRange(indx + 1, count); } } EndUpdate(); } base.OnDoubleClick(e); }
public void AddAutocompleteItems(AutocompleteItems items) { sourceItems.AddRange(items); }
private void FillListBox(string word = "") { if (word == null) word = ""; AutocompleteItems exactlyItems = new AutocompleteItems(); AutocompleteItems notExacItems = new AutocompleteItems(); if (word == "") { exactlyItems.AddRange(HMS.ItemsFunction); exactlyItems.AddRange(HMS.ItemsVariable); exactlyItems.AddRange(HMS.ItemsClass); exactlyItems.AddRange(HMS.ItemsConstant); } else if (word.StartsWith(prevWord)) { foreach (var item in visibleItems) CheckItem(exactlyItems, notExacItems, item, word); } else { foreach (var item in HMS.ItemsFunction) CheckItem(exactlyItems, notExacItems, item, word); foreach (var item in HMS.ItemsVariable) CheckItem(exactlyItems, notExacItems, item, word); foreach (var item in HMS.ItemsClass ) CheckItem(exactlyItems, notExacItems, item, word); foreach (var item in HMS.ItemsConstant) CheckItem(exactlyItems, notExacItems, item, word); } exactlyItems.AddRange(notExacItems); visibleItems = exactlyItems.ToArray(); prevWord = word; }