summaryrefslogtreecommitdiff
path: root/delphi/Awkward/include/m_toptoolbar.inc
blob: f0d59f235b99219443f5d0f2ed34c159a73e156b (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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
{$IFNDEF M_TOPTOOLBAR}
{$DEFINE M_TOPTOOLBAR}

//button flags
const
  TTBBF_DISABLED    = 1;
  TTBBF_VISIBLE     = 2;
  TTBBF_PUSHED      = 4;
  TTBBF_SHOWTOOLTIP = 8;
  TTBBF_DRAWBORDER  = 16; // draw border for bitmap,bitmap must be WxH 16x12
  TTBBF_ISSEPARATOR = 32;

//for internal launch buttons
  TTBBF_ISLBUTTON   = 64;

type
  PTTBButton = ^TTBButton;
  TTBButton = record
    cbSize        :integer;
    hbBitmapUp    :HBITMAP;
    hbBitmapDown  :HBITMAP;
    pszServiceUp  :PAnsiChar;
    pszServiceDown:PAnsiChar;
    dwFlags       :DWORD;
    lParamUp      :LPARAM;
    wParamUp      :WPARAM;
    lParamDown    :LPARAM;
    wParamDown    :WPARAM;
    name          :PAnsiChar;
  end;

  PTTBButtonV2 = ^TTBButtonV2;
  TTBButtonV2 = record
    cbSize        :integer;
    hbBitmapUp    :HBITMAP;
    hbBitmapDown  :HBITMAP;
    pszServiceUp  :PAnsiChar;
    pszServiceDown:PAnsiChar;
    dwFlags       :DWORD;
    lParamUp      :LPARAM;
    wParamUp      :WPARAM;
    lParamDown    :LPARAM;
    wParamDown    :WPARAM;
    name          :PAnsiChar;
    hIconUp       :HICON;
    hIconDn       :HICON;
    tooltipUp     :PAnsiChar;
    tooltipDn     :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';

{
//=== SERVICES ===

  toptoolbar/addbutton service
  wparam = (TTBButton*)lpTTBButton
  lparam = 0
  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';

{$ENDIF}