blob: fc417cf873843faf4d3a866bb0e1817c56d8ec50 (
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
|
#ifndef M_TOOLBAR_H
#define M_TOOLBAR_H
#define TOOLBARBUTTON_ICONIDPREFIX "MTB_"
#define TOOLBARBUTTON_ICONIDPRIMARYSUFFIX "_Primary"
#define TOOLBARBUTTON_ICONIDSECONDARYSUFFIX "_Secondary"
#define TOOLBARBUTTON_ICONNAMEPRESSEDSUFFIX "Pressed"
//button flags
#define TBBF_DISABLED (1<<0)
#define TBBF_VISIBLE (1<<1)
#define TBBF_PUSHED (1<<2)
#define TBBF_SHOWTOOLTIP (1<<3)
#define TBBF_ISSEPARATOR (1<<5)
#define TBBF_ISLBUTTON (1<<6)
#define TBBF_FLEXSIZESEPARATOR (TBBF_ISSEPARATOR|TBBF_PUSHED)
typedef struct _tagTBButton
{
int cbSize; // size of structure
char * pszButtonID; // char id of button used to store button info in DB and know about icon
char * pszButtonName; // name of button (not translated)
char * pszServiceName; // service name to be executed
LPARAM lParam; // param of service to be called
char * pszTooltipUp, *pszTooltipDn;
DWORD defPos; // default order pos of button (less values are nearer to edge).. please use values greater that 100. the default buttons has pos: 10,20..90
DWORD tbbFlags; // combine of TBBF_ flags above
void (*ParamDestructor)(void *); //will be called on parameters deletion
HANDLE hPrimaryIconHandle;
HANDLE hSecondaryIconHandle;
}TBButton;
//////////////////////////////////////////////////////////////////////////
// Events
// Only after this event module subscribers should register their buttons
// wparam=lparam=0
// don't forget to return 0 to continue processing
#define ME_TB_MODULELOADED "ToolBar/ModuleLoaded"
//////////////////////////////////////////////////////////////////////////
// Services
//
//////////////////////////////////////////////////////////////////////////
// Adding a button
// WPARAM = 0
// LPARAM = (TBButton *) &description
// LRESULT = (HANDLE) hButton
// in order to correctly process default icons via iconlib it should be
// registered icolib icon with id named:
// 'TBButton_'+pszButtonID+ 'Up' or +'Down' for Push (2-state) buttons
#define MS_TB_ADDBUTTON "ToolBar/AddButton"
//////////////////////////////////////////////////////////////////////////
// Remove button
// WPARAM = (HANDLE) hButton;
// LPARAM = 0;
#define MS_TB_REMOVEBUTTON "ToolBar/RemoveButton"
//////////////////////////////////////////////////////////////////////////
// SetState
// WPARAM = (HANDLE) hButton;
// LPARAM = one of below TBST_ states
// LRESULT= old state
#define TBST_PUSHED 1
#define TBST_RELEASED 0
#define MS_TB_SETBUTTONSTATE "ToolBar/SetButtonState"
//////////////////////////////////////////////////////////////////////////
// SetStatebyId
// WPARAM = (char *) szButtonID;
// LPARAM = one of below TBST_ states
// LRESULT= old state
#define MS_TB_SETBUTTONSTATEBYID "ToolBar/SetButtonStateId"
//////////////////////////////////////////////////////////////////////////
// GetState
// WPARAM = (HANLDE) hButton;
// LPARAM = 0
// LRESULT= current state
#define MS_TB_GETBUTTONSTATE "ToolBar/GetButtonState"
//////////////////////////////////////////////////////////////////////////
// GetState
// WPARAM = (char *) szButtonID;;
// LPARAM = 0
// LRESULT= current state
#define MS_TB_GETBUTTONSTATEBYID "ToolBar/GetButtonStateId"
#endif
|