From 9e7e453efa0e3b3b7720df75fc5645a168075e8d Mon Sep 17 00:00:00 2001 From: mataes2007 Date: Mon, 25 Apr 2011 18:46:43 +0000 Subject: first step to moving all ext api's in one place git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@36 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- ExternalAPI/m_toolbar.h | 88 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 ExternalAPI/m_toolbar.h (limited to 'ExternalAPI/m_toolbar.h') diff --git a/ExternalAPI/m_toolbar.h b/ExternalAPI/m_toolbar.h new file mode 100644 index 0000000..fc417cf --- /dev/null +++ b/ExternalAPI/m_toolbar.h @@ -0,0 +1,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 \ No newline at end of file -- cgit v1.2.3