Began the Windows Table integration.

This commit is contained in:
Pietro Gagliardi 2015-02-17 20:39:13 -05:00
parent a21ad39a2c
commit 8405292a2c
2 changed files with 9 additions and 20 deletions

View File

@ -9,14 +9,14 @@ static HMODULE comctl32;
BOOL (*WINAPI fv_SetWindowSubclass)(HWND, SUBCLASSPROC, UINT_PTR, DWORD_PTR);
BOOL (*WINAPI fv_RemoveWindowSubclass)(HWND, SUBCLASSPROC, UINT_PTR);
LRESULT (*WINAPI fv_DefSubclassProc)(HWND, UINT, WPARAM, LPARAM);
HIMAGELIST (*WINAPI fv_ImageList_Create)(int, int, UINT, int, int);
int (*WINAPI fv_ImageList_Add)(HIMAGELIST, HBITMAP, HBITMAP);
BOOL (*WINAPI fv_ImageList_Destroy)(HIMAGELIST);
// these are listed as WINAPI on MSDN
BOOL (*WINAPI fv__TrackMouseEvent)(LPTRACKMOUSEEVENT);
#define wantedICCClasses ( \
ICC_PROGRESS_CLASS | /* progress bars */ \
ICC_TAB_CLASSES | /* tabs */ \
ICC_LISTVIEW_CLASSES | /* list views */ \
ICC_LISTVIEW_CLASSES | /* table headers */ \
ICC_UPDOWN_CLASS | /* spinboxes */ \
0)
@ -119,12 +119,8 @@ DWORD initCommonControls(char **errmsg)
fv_RemoveWindowSubclass = (BOOL (*WINAPI)(HWND, SUBCLASSPROC, UINT_PTR)) f;
LOAD("DefSubclassProc");
fv_DefSubclassProc = (LRESULT (*WINAPI)(HWND, UINT, WPARAM, LPARAM)) f;
LOAD("ImageList_Create");
fv_ImageList_Create = (HIMAGELIST (*WINAPI)(int, int, UINT, int, int)) f;
LOAD("ImageList_Add");
fv_ImageList_Add = (int (*WINAPI)(HIMAGELIST, HBITMAP, HBITMAP)) f;
LOAD("ImageList_Destroy");
fv_ImageList_Destroy = (BOOL (*WINAPI)(HIMAGELIST)) f;
LOAD("_TrackMouseEvent");
fv__TrackMouseEvent = (HIMAGELIST (*WINAPI)(int, int, UINT, int, int)) f;
if ((*ficc)(&icc) == FALSE) {
*errmsg = "error initializing Common Controls (comctl32.dll)";

View File

@ -41,9 +41,8 @@ extern DWORD initCommonControls(char **);
extern BOOL (*WINAPI fv_SetWindowSubclass)(HWND, SUBCLASSPROC, UINT_PTR, DWORD_PTR);
extern BOOL (*WINAPI fv_RemoveWindowSubclass)(HWND, SUBCLASSPROC, UINT_PTR);
extern LRESULT (*WINAPI fv_DefSubclassProc)(HWND, UINT, WPARAM, LPARAM);
extern HIMAGELIST (*WINAPI fv_ImageList_Create)(int, int, UINT, int, int);
extern int (*WINAPI fv_ImageList_Add)(HIMAGELIST, HBITMAP, HBITMAP);
extern BOOL (*WINAPI fv_ImageList_Destroy)(HIMAGELIST);
// these are listed as WINAPI on MSDN
extern BOOL (*WINAPI fv__TrackMouseEvent)(LPTRACKMOUSEEVENT);
// control_windows.c
extern HWND newControl(LPWSTR, DWORD, DWORD);
@ -107,6 +106,7 @@ extern void tabEnterChildren(HWND);
extern void tabLeaveChildren(HWND);
// table_windows.go
#include "wintable/includethis.h"
extern LPWSTR xWC_LISTVIEW;
extern void setTableSubclass(HWND, void *);
extern void tableAppendColumn(HWND, int, LPWSTR);
@ -134,13 +134,6 @@ extern HBITMAP unscaledBitmap(void *, intptr_t, intptr_t);
extern HIMAGELIST newImageList(int, int);
extern void addImage(HIMAGELIST, HWND, HBITMAP, int, int, int, int);
extern void applyImageList(HWND, UINT, WPARAM, HIMAGELIST, HIMAGELIST);
enum {
checkboxStateChecked = 1 << 0,
checkboxStateHot = 1 << 1,
checkboxStatePushed = 1 << 2,
checkboxnStates = 1 << 3,
};
extern HIMAGELIST makeCheckboxImageList(HWND, HTHEME *);
// dialog_windows.c
extern void openFile(HWND, void *);