diff options
author | Kirill Volinsky <mataes2007@gmail.com> | 2012-10-09 05:20:49 +0000 |
---|---|---|
committer | Kirill Volinsky <mataes2007@gmail.com> | 2012-10-09 05:20:49 +0000 |
commit | faf1e494a31b70203aa67d34602f5256eabe0336 (patch) | |
tree | b222ebe08c9173c1ba2811bcad4f47369d0e4f38 /plugins/ExternalAPI/delphi/m_toptoolbar.inc | |
parent | 302209a17a9f5342a377904cda699fd3833bbe9a (diff) |
Test commit:
delphi headers structure as c headers structure
git-svn-id: http://svn.miranda-ng.org/main/trunk@1829 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/ExternalAPI/delphi/m_toptoolbar.inc')
-rw-r--r-- | plugins/ExternalAPI/delphi/m_toptoolbar.inc | 191 |
1 files changed, 191 insertions, 0 deletions
diff --git a/plugins/ExternalAPI/delphi/m_toptoolbar.inc b/plugins/ExternalAPI/delphi/m_toptoolbar.inc new file mode 100644 index 0000000000..913f2435ea --- /dev/null +++ b/plugins/ExternalAPI/delphi/m_toptoolbar.inc @@ -0,0 +1,191 @@ +{$IFNDEF M_TOPTOOLBAR}
+{$DEFINE M_TOPTOOLBAR}
+
+const
+ TTB_OPTDIR = 'TopToolBar';
+
+//button flags
+const
+ TTBBF_DISABLED = $0001;
+ TTBBF_VISIBLE = $0002;
+ TTBBF_PUSHED = $0004;
+ TTBBF_SHOWTOOLTIP = $0008;
+ TTBBF_ISSEPARATOR = $0020;
+ TTBBF_ISLBUTTON = $0040;
+ TTBBF_ISSBUTTON = $0100;
+ TTBBF_ASPUSHBUTTON = $0200;
+
+type
+ PTTBButton = ^TTBButton;
+ TTBButton = record
+ cbSize :int;
+ pszService :PAnsiChar; // or program for lButtons
+ dwFlags :DWORD;
+ lParamUp :LPARAM;
+ wParamUp :WPARAM;
+ lParamDown :LPARAM;
+ wParamDown :WPARAM;
+ name :PAnsiChar;
+ hIconUp :HICON; // or hIconHandleUp:HANDLE
+ hIconDn :HICON; // or hIconHandleDn:HANDLE
+ pszTooltipUp :PansiChar;
+ pszTooltipDn :PansiChar;
+ end;
+
+const
+
+//=== 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.
+
+ Im use settimer() - so notify appear in miranda message loop
+ after all onmodulesload calls.
+}
+ ME_TTB_MODULELOADED:PAnsiChar = 'TopToolBar/ModuleLoaded';
+
+
+{
+ toptoolbar/initbuttons event
+ wParam = lParam = 0
+ Called when the toolbar needs to add default buttons
+}
+ ME_TTB_INITBUTTONS:PAnsiChar = 'TopToolBar/InitButtons';
+
+{
+//=== SERVICES ===
+
+ toptoolbar/addbutton service
+ wparam = (TTBButton*)lpTTBButton
+ lparam = (hLangpack)
+ returns: hTTBButton - handle of added button on success, -1 on failure.
+}
+ MS_TTB_ADDBUTTON:PAnsiChar = 'TopToolBar/AddButton';
+
+{
+ toptoolbar/removebutton service
+ wparam = (HANDLE)hTTButton
+ lparam = 0
+ returns: 0 on success, -1 on failure.
+}
+ MS_TTB_REMOVEBUTTON:PAnsiChar = 'TopToolBar/RemoveButton';
+
+{
+ toptoolbar/setstate service
+ wparam = (HANDLE)hTTButton
+ lparam = (LPARAM) state
+ returns: 0 on success, -1 on failure.
+}
+ TTBST_PUSHED = 1;
+ TTBST_RELEASED = 2;
+
+ MS_TTB_SETBUTTONSTATE:PAnsiChar = 'TopToolBar/SetState';
+
+{
+ toptoolbar/getstate service
+ wparam = (HANDLE)hTTButton
+ lparam = 0
+ returns: state on success, -1 on failure.
+}
+ MS_TTB_GETBUTTONSTATE:PAnsiChar = '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.
+}
+ TTBO_FLAGS = 0; // get/set all flags
+ TTBO_POS = 1; // position
+ TTBO_WIDTH = 2; // not impemented
+ TTBO_HEIGHT = 3; // not impemented
+ TTBO_TIPNAME = 4; // tool tip name
+ TTBO_ALLDATA = 5; // change all data via lparam=lpTTBButton
+
+ MS_TTB_GETBUTTONOPTIONS:PAnsiChar = 'TopToolBar/GetOptions';
+
+{
+ toptoolbar/setoptions service
+ (HIWORD)wparam = (HANDLE)hTTButton
+ (LOWORD)wparam = TTBO_FLAG
+ lparam = value
+ returns: 1 on success, -1 on failure.
+}
+ MS_TTB_SETBUTTONOPTIONS:PAnsiChar = 'TopToolBar/SetOptions';
+
+{
+ toptoolbar/setcustomproc service
+ wparam = pfnCustomproc
+ lparam = procedure parameter
+ returns: always returns 0.
+}
+ MS_TTB_SETCUSTOMPROC:PAnsiChar = 'TopToolBar/SetCustomProc';
+
+const
+ TTB_WINDOW_HANDLE = THANDLE(-1);
+
+{
+ this procedure is executed on each button on toolbar
+ and on a toolbar itself with hTTButton == TTB_WINDOW_HANDLE
+ hTTButton = button handle
+ hwndBtn = button window handle
+ userInfo = lParam passed into TopToolbar_SetCustomProc
+}
+type
+ pfnCustomProc = procedure(hTTButton:THANDLE; hwndBtn:HWND; userInfo:LPARAM); cdecl;
+
+
+///////////////////////////////////////////////////////////////////////////////
+// Toolbar internal structures
+
+type
+ TTBCtrlButton = record
+ hWindow:HWND;
+ end;
+
+type
+ pfnTTBPainterFunc = procedure(btnctrl:pointer{PTTBCtrl}; hdc:HDC); cdecl;
+
+type
+ PTTBCtrl = ^TTBCtrl;
+ TTBCtrl = record
+ hWnd :HWND;
+ hFrame :THANDLE;
+ nButtonWidth :int;
+ nButtonHeight:int;
+ nButtonSpace :int;
+ nLastHeight :int; // fix against recursion in WM_SIZE
+ bOrderChanged:boolean; // set by buttons' arrange procedure if the buttons' order was changed
+ bFlatButtons,
+ bAutoSize,
+ bSingleLine :boolean;
+ bHardUpdate :boolean; // clist modern requires to delete buttons to update them
+
+ pButtonList :PSortedList;
+
+ lResult :LRESULT; // custom window proc result
+ fnWindowProc :TWNDPROC; // custom window proc
+ end;
+
+type
+ PTBCtrlCustomize = ^TTBCtrlCustomize;
+ TTBCtrlCustomize = record
+ cbLen :size_t; // total length of the internal data structure
+ fnWindowProc:TWNDPROC; // subclassed windows procedure for the custom button
+ end;
+
+{
+ Sets the custom painting procedure for a toolbar
+ wParam = not used
+ lParam = TTBCtrlCustomize*
+ Usage: SendMessage(hwndToolbar, TTB_SETCUSTOM, 0, (LPARAM)&CustomData);
+ Only works on TopToolbars
+}
+const
+ TTB_SETCUSTOM = WM_USER+1;
+
+{$ENDIF}
|