aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authornyamatongwe <devnull@localhost>2009-10-18 21:05:35 +0000
committernyamatongwe <devnull@localhost>2009-10-18 21:05:35 +0000
commitbd0b16f697913cc48beb8553aa1e666e94bd4454 (patch)
treef618ccb2c153b6f02f736dabd87ce918791f7b44 /src
parent25917b1b1b9c74931a0632269d567bc7499da2d6 (diff)
downloadscintilla-mirror-bd0b16f697913cc48beb8553aa1e666e94bd4454.tar.gz
AutoCGetCurrentText added by Nick Treleaven.
Diffstat (limited to 'src')
-rw-r--r--src/ScintillaBase.cxx20
-rw-r--r--src/ScintillaBase.h1
2 files changed, 21 insertions, 0 deletions
diff --git a/src/ScintillaBase.cxx b/src/ScintillaBase.cxx
index 3aba5fb7b..8b6e7a4cb 100644
--- a/src/ScintillaBase.cxx
+++ b/src/ScintillaBase.cxx
@@ -392,6 +392,23 @@ int ScintillaBase::AutoCompleteGetCurrent() {
return ac.lb->GetSelection();
}
+int ScintillaBase::AutoCompleteGetCurrentText(char *buffer) {
+ if (ac.Active()) {
+ int item = ac.lb->GetSelection();
+ char selected[1000];
+ selected[0] = '\0';
+ if (item != -1) {
+ ac.lb->GetValue(item, selected, sizeof(selected));
+ if (buffer != NULL)
+ strcpy(buffer, selected);
+ return strlen(selected);
+ }
+ }
+ if (buffer != NULL)
+ *buffer = '\0';
+ return 0;
+}
+
void ScintillaBase::CallTipShow(Point pt, const char *defn) {
ac.Cancel();
pt.y += vs.lineHeight;
@@ -564,6 +581,9 @@ sptr_t ScintillaBase::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lPara
case SCI_AUTOCGETCURRENT:
return AutoCompleteGetCurrent();
+ case SCI_AUTOCGETCURRENTTEXT:
+ return AutoCompleteGetCurrentText(reinterpret_cast<char *>(lParam));
+
case SCI_AUTOCSETCANCELATSTART:
ac.cancelAtStartPos = wParam != 0;
break;
diff --git a/src/ScintillaBase.h b/src/ScintillaBase.h
index 15b514c2b..73fcd72b5 100644
--- a/src/ScintillaBase.h
+++ b/src/ScintillaBase.h
@@ -72,6 +72,7 @@ protected:
void AutoCompleteCancel();
void AutoCompleteMove(int delta);
int AutoCompleteGetCurrent();
+ int AutoCompleteGetCurrentText(char *buffer);
void AutoCompleteCharacterAdded(char ch);
void AutoCompleteCharacterDeleted();
void AutoCompleteCompleted();