//IClass lastClassInMembersComboBox; void GetGlobalUnitMembers(ArrayList items) { foreach (SymScope ss in currentCompilationUnit.members) { if (ss.si.kind == SymbolKind.Method || ss.si.kind == SymbolKind.Constant || ss.si.kind == SymbolKind.Variable || ss.si.kind == SymbolKind.Event || ss.si.kind == SymbolKind.Field || ss.si.kind == SymbolKind.Parameter || ss.si.kind == SymbolKind.Property) { items.Add(new ComboBoxItem(ss, ss.GetDescriptionWithoutDoc(), CodeCompletionProvider.ImagesProvider.GetPictureNum(ss.si), true, false)); } } int ind = items.Count; items.Sort(0, items.Count, new Comparer(System.Globalization.CultureInfo.InvariantCulture)); if ((currentCompilationUnit as InterfaceUnitScope).impl_scope != null) { ImplementationUnitScope us = (currentCompilationUnit as InterfaceUnitScope).impl_scope; //items.Add(new ComboBoxItem(us,"implementation",CodeCompletionProvider.ImagesProvider.GetPictureNum(us.si),true)); foreach (SymScope ss in us.members) { if (ss.si.kind == SymbolKind.Method || ss.si.kind == SymbolKind.Constant || ss.si.kind == SymbolKind.Variable || ss.si.kind == SymbolKind.Event || ss.si.kind == SymbolKind.Field || ss.si.kind == SymbolKind.Parameter || ss.si.kind == SymbolKind.Property) { items.Add(new ComboBoxItem(ss, ss.GetDescriptionWithoutDoc(), CodeCompletionProvider.ImagesProvider.GetPictureNum(ss.si), true, false)); } } items.Sort(ind, items.Count - ind, new Comparer(System.Globalization.CultureInfo.InvariantCulture)); } }
void AddClasses(ArrayList items) { ImplementationUnitScope impl = null; int ind = 0; if (currentCompilationUnit == null) { //items.Add(new ComboBoxItem(currentCompilationUnit,PascalABCCompiler.StringResources.Get("CODE_COMPLETION_GLOBAL"),CodeCompletionProvider.ImagesProvider.IconNumberUnitNamespace,true,true)); return; } if ((currentCompilationUnit as InterfaceUnitScope).impl_scope != null) { items.Add(new ComboBoxItem(currentCompilationUnit, PascalABCCompiler.StringResources.Get("CODE_COMPLETION_INTERFACE"), CodeCompletionProvider.ImagesProvider.GetPictureNum(currentCompilationUnit.si), true, false)); impl = (currentCompilationUnit as InterfaceUnitScope).impl_scope; items.Add(new ComboBoxItem(impl, PascalABCCompiler.StringResources.Get("CODE_COMPLETION_IMPLEMENTATION"), CodeCompletionProvider.ImagesProvider.GetPictureNum(impl.si), true, false)); ind = 2; } else { items.Add(new ComboBoxItem(currentCompilationUnit, PascalABCCompiler.StringResources.Get("CODE_COMPLETION_GLOBAL"), CodeCompletionProvider.ImagesProvider.IconNumberUnitNamespace, true, true)); ind = 1; } foreach (SymScope ss in currentCompilationUnit.members) { if (ss.si.kind == SymbolKind.Class || ss.si.kind == SymbolKind.Struct || ss.si.kind == SymbolKind.Type || ss.si.kind == SymbolKind.Interface || ss.si.kind == SymbolKind.Enum || ss.si.kind == SymbolKind.Delegate) { if (ss.GetPosition().file_name != null && !ss.si.name.Contains("$")) { items.Add(new ComboBoxItem(ss, ss.si.name, CodeCompletionProvider.ImagesProvider.GetPictureNum(ss.si), true, false)); } } } if (impl != null) { foreach (SymScope ss in impl.members) { if (ss.si.kind == SymbolKind.Class || ss.si.kind == SymbolKind.Struct || ss.si.kind == SymbolKind.Type || ss.si.kind == SymbolKind.Interface || ss.si.kind == SymbolKind.Enum || ss.si.kind == SymbolKind.Delegate) { if (!ss.si.name.Contains("$")) { items.Add(new ComboBoxItem(ss, ss.si.name, CodeCompletionProvider.ImagesProvider.GetPictureNum(ss.si), true, false)); } } } } items.Sort(ind, items.Count - ind, new Comparer(System.Globalization.CultureInfo.InvariantCulture)); }