SVN commit 502269 by rodda: A large commit which is mostly concerned with adding an interface for model-based code completion. It's functioning quite well at the moment, there are still several features to come (see kate/TODO), but at least the test seems to work :) In regards to the other interface, the only major regression that I see is the loss of ability to have multiple completion providers. This is mostly because the new way of starting a completion requires the client code to provide a Range of text which the completion is applying to, and I haven't figured out a good way to have multiple ranges. Possibly this can be worked around but I think it should actually be the client code's responsibility to do any merging (as more information is available there anyway). Changes in detail: KTextEditor: * Document * replaceText function with non-string-list text parameter * View * text cursor to widget coordinate function * added new position of the cursor to cursorPositionChanged * added mouse position functions and tracking enable/disable functions * Code Completion * New model-based code completion interface. Documentation coming shortly. Kate: * Part * clean up cursor position changed signal connections * commented out connection to argHintHidden() signal (doesn't exist?) * Renderer - changes to accomodate highlighting of out-of-document text * Highlighting - ditto * RenderRange -> KateRenderRange * View * Support new code completion interface * commented out connection of non-existant signals (old completion interface) * ViewInternal * support new arbitrary cursor coordinate function * support new code completion extension * Document - fixed modifiedOnDisk signal declaration * KateCompletion{Widget|Tree|Model|Delegate} * new classes implementing model-based code completion * Test * Added code completion testing to katetest, using basic synthesised data CCMAIL:kwrite-devel@kde.org CCMAIL:ktexteditor-devel@kde.org M +7 -7 interfaces/ktexteditor/Makefile.am A interfaces/ktexteditor/codecompletion2.cpp [License: LGPL (v2)] A interfaces/ktexteditor/codecompletion2.h [License: LGPL (v2)] M +10 -0 interfaces/ktexteditor/document.h M +10 -0 interfaces/ktexteditor/ktexteditor.cpp M +42 -1 interfaces/ktexteditor/view.h M +32 -1 kate/TODO M +4 -2 kate/part/Makefile.am M +4 -3 kate/part/katecodecompletion.cpp A kate/part/katecompletiondelegate.cpp [License: LGPL (v2)] A kate/part/katecompletiondelegate.h [License: LGPL (v2)] A kate/part/katecompletionmodel.cpp [License: LGPL (v2)] A kate/part/katecompletionmodel.h [License: LGPL (v2)] A kate/part/katecompletiontree.cpp [License: LGPL (v2)] A kate/part/katecompletiontree.h [License: LGPL (v2)] A kate/part/katecompletionwidget.cpp [License: LGPL (v2)] A kate/part/katecompletionwidget.h [License: LGPL (v2)] M +2 -2 kate/part/katedocument.cpp M +1 -3 kate/part/katedocument.h M +2 -2 kate/part/katehighlight.cpp M +30 -18 kate/part/katerenderer.cpp M +5 -4 kate/part/katerenderer.h M +4 -4 kate/part/katerenderrange.cpp M +5 -5 kate/part/katerenderrange.h M +1 -1 kate/part/katesmartcursor.cpp M +43 -18 kate/part/kateview.cpp M +25 -6 kate/part/kateview.h M +83 -13 kate/part/kateviewinternal.cpp M +2 -1 kate/part/kateviewinternal.h M +3 -2 kate/tests/Makefile.am A kate/tests/codecompletiontest.cpp [License: LGPL (v2)] A kate/tests/codecompletiontest.h [License: LGPL (v2)] M +8 -2 kate/tests/katetest.cpp _______________________________________________ Ktexteditor-devel mailing list Ktexteditor-devel@kde.org https://mail.kde.org/mailman/listinfo/ktexteditor-devel