/// <summary> /// HACK - Insert the completion string not the text displayed in the /// completion list and move the cursor between the attribute /// quotes when an attribute is inserted. /// This should really be done using methods in the /// ICompletionWidget class. Here I am cheating and using /// the XmlEditorView and XmlCompletionData directly (The /// XmlCompletionData.InsertAction is not used in MonoDevelop). /// </summary> // void UpdateWord () // { // XmlCompletionData data = (XmlCompletionData)completionData[List.Selection]; // // string completeWord = data.CompletionString; // completionWidget.SetCompletionText(completionContext, wnd.PartialWord, completeWord); // if (data.XmlCompletionDataType == XmlCompletionData.DataType.XmlAttribute) { // // Position cursor inside attribute value string. // XmlEditorView view = (XmlEditorView)completionWidget; // TextIter iter = view.Buffer.GetIterAtMark(view.Buffer.InsertMark); // iter.Offset--; // view.Buffer.PlaceCursor(iter); // } // //completionWidget.SetCompletionText(wnd.PartialWord, wnd.CompleteWord); // } void UpdateWord() { string word = wnd.CompleteWord; if (word != null) { if (wnd.Selection != -1) { IActionCompletionData ac = completionData [wnd.Selection] as IActionCompletionData; if (ac != null) { ac.InsertAction(completionWidget, completionContext); return; } } completionWidget.SetCompletionText(completionContext, wnd.PartialWord, word); } }
void ICompletionWidget.SetCompletionText(CodeCompletionContext ctx, string partial_word, string complete_word) { completionWidget.SetCompletionText(ImportContext(ctx, projection), partial_word, complete_word); }