From 7abf7ebc2d11445216d5d86b283d1aa8e2e42f0d Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@4f64403b-2f21-0410-a795-97e2b3489a10> Date: Mon, 15 Nov 2010 13:12:29 +0000 Subject: TopToolbar support (patch by FREAK_THEMIGHTY) git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@575 4f64403b-2f21-0410-a795-97e2b3489a10 --- updater/m_toolbar.h | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 updater/m_toolbar.h (limited to 'updater/m_toolbar.h') diff --git a/updater/m_toolbar.h b/updater/m_toolbar.h new file mode 100644 index 0000000..fc417cf --- /dev/null +++ b/updater/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