summaryrefslogtreecommitdiff
path: root/plugins/ExternalAPI/m_toptoolbar.h
blob: f67a3f965bec418b4b53e54f2a26f46f4308e1ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114

#ifndef M_TOPTOOLBAR_H
#define M_TOPTOOLBAR_H

//button flags
#define TTBBF_DISABLED         1
#define TTBBF_VISIBLE          2 
#define TTBBF_PUSHED           4
#define TTBBF_SHOWTOOLTIP      8
#define TTBBF_DRAWBORDER      16
#define TTBBF_ISSEPARATOR     32
#define TTBBF_ISLBUTTON			64
#define TTBBF_ICONBYHANDLE   128 

typedef struct {
	int cbSize;
	char *pszServiceUp;
	char *pszServiceDown;
	DWORD dwFlags;
	LPARAM lParamUp;
	WPARAM wParamUp;
	LPARAM lParamDown;
	WPARAM wParamDown;
	char *name;
	union {
		HICON hIconUp;
		HANDLE hIconHandleUp;
	};
	union {
		HICON hIconDn;
		HANDLE hIconHandleDn;
	};
	char *tooltipUp;
	char *tooltipDn;
}
	TTBButton, * lpTTBButton;

//=== EVENTS ===
/*
toptoolbar/moduleloaded event
wParam = lParam = 0
Called when the toolbar services are available

!!!Warning you may work with TTB services only in this event or later.

*/
#define ME_TTB_MODULELOADED				"TopToolBar/ModuleLoaded"



//=== SERVICES ===
/*
toptoolbar/addbutton service
wparam = (TTBButton*)lpTTBButton
lparam = 0
returns: hTTBButton - handle of added button on success, -1 on failure.
*/
#define MS_TTB_ADDBUTTON						"TopToolBar/AddButton"

/*
toptoolbar/removebutton service
wparam = (HANDLE)hTTButton
lparam = 0
returns: 0 on success, -1 on failure.
*/
#define MS_TTB_REMOVEBUTTON					"TopToolBar/RemoveButton"

/*
toptoolbar/setstate service
wparam = (HANDLE)hTTButton
lparam = (LPARAM) state
returns: 0 on success, -1 on failure.
*/
#define TTBST_PUSHED			1
#define TTBST_RELEASED			2

#define MS_TTB_SETBUTTONSTATE					"TopToolBar/SetState"

/*
toptoolbar/getstate service
wparam = (HANDLE)hTTButton
lparam = 0
returns: state on success, -1 on failure.
*/
#define MS_TTB_GETBUTTONSTATE					"TopToolBar/GetState"

/*
toptoolbar/getoptions service
(HIWORD)wparam = (HANDLE)hTTButton
(LOWORD)wparam = TTBO_FLAG
lparam = 0,or lparam=lpTTBButton if flag=TTBO_ALLDATA
returns: value on success, -1 on failure.
*/
#define TTBO_FLAGS				0     //get/set all flags
#define TTBO_POS				1     //position
#define TTBO_WIDTH				2     //not impemented
#define TTBO_HEIGHT				3     //not impemented
#define TTBO_TIPNAME			4     //tool tip name
#define TTBO_ALLDATA			5     //change all data via lparam=lpTTBButton


#define MS_TTB_GETBUTTONOPTIONS					"TopToolBar/GetOptions"

/*
toptoolbar/setoptions service
(HIWORD)wparam = (HANDLE)hTTButton
(LOWORD)wparam = TTBO_FLAG
lparam = value
returns: 1 on success, -1 on failure.
*/
#define MS_TTB_SETBUTTONOPTIONS					"TopToolBar/SetOptions"


#endif