ultimatepp/uppsrc/CtrlLib/SuggestCtrl.h
cxl dd14fd2819 CtrlLib: SuggestCtrl fixed for CLANG
git-svn-id: svn://ultimatepp.org/upp/trunk@7381 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2014-05-16 06:06:02 +00:00

37 lines
1.3 KiB
C++

class SuggestCtrl : public EditString {
virtual bool Key(dword key, int count);
virtual void CancelMode();
virtual void LostFocus();
virtual void GotFocus();
private:
Vector<WString> data;
ArrayCtrl list;
int droplines;
int delimiter_char;
int (*delimiter_filter)(int c);
int (*compare_filter)(int c);
void Cancel();
void Select();
WString ReadLast(int& h);
int IsDelimiter(int c);
WString CF(const WString& src);
typedef SuggestCtrl CLASSNAME;
public:
void ClearList() { data.Clear(); }
void AddList(const WString& s) { data.Add(s); }
void AddList(const String& s) { data.Add(s.ToWString()); }
void AddList(const char *s) { data.Add(s); }
void Pick(Vector<WString> rval_ list) { data = pick(list); }
SuggestCtrl& SetDropLines(int n) { droplines = n; return *this; }
SuggestCtrl& Delimiter(int chr) { delimiter_char = chr; return *this; }
SuggestCtrl& Delimiter(int (*filter)(int c)) { delimiter_filter = filter; return *this; }
SuggestCtrl& CompareFilter(int (*filter)(int c)) { compare_filter = filter; return *this; }
SuggestCtrl();
};