#ifndef __HISTORYEDITBOX_H #define __HISTORYEDITBOX_H #include #include #include #define HISTORYEDITBOX_PARENT ComboBox class HistoryEditBox : public HISTORYEDITBOX_PARENT { public: HistoryEditBox(); virtual ~HistoryEditBox(); virtual const wchar_t *dropdownlist_getMainGroupId() { return L"wasabi.historyeditbox.main.group"; } virtual const wchar_t *dropdownlist_getListGroupId() { return L"wasabi.historyeditbox.list.group"; } virtual const wchar_t *dropdownlist_getButtonId() { return L"historyeditbox.button"; } virtual const wchar_t *dropdownlist_getListId() { return L"historyeditbox.list"; } virtual const wchar_t *combobox_getEditId() { return L"historyeditbox.edit"; } void onEditKeyDown(int vk); void onEditEnter(const wchar_t *txt); virtual int wantAutoSort() { return 0; } virtual int wantDownOpenList() { return history_pos == 0; } virtual void dropdownlist_onCloseList(); virtual void onPreOpenList(); virtual int onInit(); virtual void addHistory(const wchar_t *txt); virtual int onAction(const wchar_t *action, const wchar_t *param=NULL, int x=-1, int y=-1, intptr_t p1=0, intptr_t p2=0, void *data=NULL, size_t datalen=0, ifc_window *source=NULL); void history_back(); void history_forward(); enum { HISTORYEDITBOX_SETNAVBUTTONS=0, }; protected: /*static */void CreateXMLParameters(int master_handle); private: static XMLParamPair params[]; #ifdef WASABI_COMPILE_CONFIG void saveHistory(); void loadHistory(int refill=1); #endif PtrList history; int history_pos; int xuihandle; }; #endif