#ifndef LIST_H
#define LIST_H
#include "toolkit.h"
#include "../ui/list.h"
#include "win32.h"
#include <commctrl.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct UiListView {
W32Widget widget;
UiObject *obj;
UiVar *var;
ui_getvaluefunc2 getvalue;
void *getvaluedata;
ui_getstylefunc getstyle;
void *getstyledata;
UiModel *model;
UiBool istable;
int preferred_width;
int preferred_height;
ui_callback onactivate;
void* onactivatedata;
ui_callback onselection;
void* onselectiondata;
ui_callback ondragstart;
void* ondragstartdata;
ui_callback ondragcomplete;
void* ondragcompletedata;
ui_callback ondrop;
void* ondropdata;
} UiListView;
int ui_listview_eventproc(W32Widget *widget,
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
W32Size ui_listview_get_preferred_size(W32Widget *widget);
void ui_listview_update(UiList *list,
int row);
UiListSelection ui_listview_getselection_impl(UiList *list);
void ui_listview_setselection_impl(UiList *list, UiListSelection selection);
int ui_dropdown_eventproc(W32Widget *widget,
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
W32Size ui_dropdown_get_preferred_size(W32Widget *widget);
void ui_dropdown_update(UiList *list,
int row);
UiListSelection ui_dropdown_getselection_impl(UiList *list);
void ui_dropdown_setselection_impl(UiList *list, UiListSelection selection);
#ifdef __cplusplus
}
#endif
#endif