NSIS/Contrib/nsDialogs/defs.h
kichik f1b8604bcb added rtl support
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5212 212acab6-be3b-0410-9dea-997c60f758d6
2007-07-18 20:47:58 +00:00

67 lines
1.1 KiB
C

#ifndef __NS_DIALOGS__DEFS_H__
#define __NS_DIALOGS__DEFS_H__
#include <windows.h>
#define NSDFUNC __stdcall
typedef int nsFunction;
enum nsControlType
{
NSCTL_UNKNOWN,
NSCTL_BUTTON,
NSCTL_EDIT,
NSCTL_COMBOBOX,
NSCTL_LISTBOX,
NSCTL_RICHEDIT,
NSCTL_RICHEDIT2,
NSCTL_STATIC,
NSCTL_TREE
};
struct nsDialogCallbacks
{
nsFunction onBack;
};
#define DLG_CALLBACK_IDX(x) (FIELD_OFFSET(struct nsDialogCallbacks, x)/sizeof(nsFunction))
struct nsControlCallbacks
{
nsFunction onClick;
nsFunction onChange;
nsFunction onNotify;
};
#define CTL_CALLBACK_IDX(x) (FIELD_OFFSET(struct nsControlCallbacks, x)/sizeof(nsFunction))
#define USERDATA_SIZE 1024
struct nsControl
{
HWND window;
enum nsControlType type;
char userData[USERDATA_SIZE];
struct nsControlCallbacks callbacks;
};
struct nsDialog
{
HWND hwDialog;
HWND hwParent;
WNDPROC parentOriginalWndproc;
BOOL rtl;
struct nsDialogCallbacks callbacks;
unsigned controlCount;
struct nsControl* controls;
};
#define NSCONTROL_ID_PROP "NSIS: nsControl pointer property"
#endif//__NS_DIALOGS__DEFS_H__