59 lines
1.7 KiB
C
59 lines
1.7 KiB
C
|
#ifndef __HISTORYEDITBOX_H
|
||
|
#define __HISTORYEDITBOX_H
|
||
|
|
||
|
#include <api/skin/widgets/combobox.h>
|
||
|
#include <bfc/ptrlist.h>
|
||
|
#include <bfc/string/StringW.h>
|
||
|
|
||
|
#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<StringW> history;
|
||
|
int history_pos;
|
||
|
int xuihandle;
|
||
|
};
|
||
|
|
||
|
#endif
|