2 * PROJECT: ReactOS Applications Manager
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: base/applications/rapps/toolbar.c
5 * PURPOSE: ToolBar functions
6 * PROGRAMMERS: Dmitry Chapyshev (dmitry@reactos.org)
11 #define TOOLBAR_HEIGHT 24
16 static WCHAR szInstallBtn
[MAX_STR_LEN
];
17 static WCHAR szUninstallBtn
[MAX_STR_LEN
];
18 static WCHAR szModifyBtn
[MAX_STR_LEN
];
21 static const TBBUTTON Buttons
[] =
22 { /* iBitmap, idCommand, fsState, fsStyle, bReserved[2], dwData, iString */
23 { 0, ID_INSTALL
, TBSTATE_ENABLED
, BTNS_BUTTON
| BTNS_AUTOSIZE
, {0}, 0, (INT_PTR
)szInstallBtn
},
24 { 1, ID_UNINSTALL
, TBSTATE_ENABLED
, BTNS_BUTTON
| BTNS_AUTOSIZE
, {0}, 0, (INT_PTR
)szUninstallBtn
},
25 { 2, ID_MODIFY
, TBSTATE_ENABLED
, BTNS_BUTTON
| BTNS_AUTOSIZE
, {0}, 0, (INT_PTR
)szModifyBtn
},
26 { 5, 0, TBSTATE_ENABLED
, BTNS_SEP
, {0}, 0, 0},
27 { 3, ID_REFRESH
, TBSTATE_ENABLED
, BTNS_BUTTON
| BTNS_AUTOSIZE
, {0}, 0, 0},
28 { 5, 0, TBSTATE_ENABLED
, BTNS_SEP
, {0}, 0, 0},
29 { 4, ID_SETTINGS
, TBSTATE_ENABLED
, BTNS_BUTTON
| BTNS_AUTOSIZE
, {0}, 0, 0},
30 { 5, ID_EXIT
, TBSTATE_ENABLED
, BTNS_BUTTON
| BTNS_AUTOSIZE
, {0}, 0, 0}
35 ToolBarOnGetDispInfo(LPTOOLTIPTEXT lpttt
)
37 UINT idButton
= (UINT
)lpttt
->hdr
.idFrom
;
42 lpttt
->lpszText
= MAKEINTRESOURCE(IDS_TOOLTIP_EXIT
);
46 lpttt
->lpszText
= MAKEINTRESOURCE(IDS_TOOLTIP_INSTALL
);
50 lpttt
->lpszText
= MAKEINTRESOURCE(IDS_TOOLTIP_UNINSTALL
);
54 lpttt
->lpszText
= MAKEINTRESOURCE(IDS_TOOLTIP_MODIFY
);
58 lpttt
->lpszText
= MAKEINTRESOURCE(IDS_TOOLTIP_SETTINGS
);
62 lpttt
->lpszText
= MAKEINTRESOURCE(IDS_TOOLTIP_REFRESH
);
68 AddImageToImageList(HIMAGELIST hImageList
, UINT ImageIndex
)
72 if (!(hImage
= LoadImage(hInst
,
73 MAKEINTRESOURCE(ImageIndex
),
79 /* TODO: Error message */
82 ImageList_AddIcon(hImageList
, hImage
);
89 HIMAGELIST hImageList
;
91 /* Create the toolbar icon image list */
92 hImageList
= ImageList_Create(TOOLBAR_HEIGHT
,//GetSystemMetrics(SM_CXSMICON),
93 TOOLBAR_HEIGHT
,//GetSystemMetrics(SM_CYSMICON),
94 ILC_MASK
| GetSystemColorDepth(),
99 /* TODO: Error message */
103 AddImageToImageList(hImageList
, IDI_INSTALL
);
104 AddImageToImageList(hImageList
, IDI_UNINSTALL
);
105 AddImageToImageList(hImageList
, IDI_MODIFY
);
106 AddImageToImageList(hImageList
, IDI_REFRESH
);
107 AddImageToImageList(hImageList
, IDI_SETTINGS
);
108 AddImageToImageList(hImageList
, IDI_EXIT
);
115 CreateSearchBar(VOID
)
117 WCHAR szBuf
[MAX_STR_LEN
];
119 hSearchBar
= CreateWindowExW(WS_EX_CLIENTEDGE
,
122 WS_CHILD
| WS_VISIBLE
| ES_LEFT
| ES_AUTOVSCROLL
,
132 SendMessageW(hSearchBar
, WM_SETFONT
, (WPARAM
)GetStockObject(DEFAULT_GUI_FONT
), 0);
134 LoadStringW(hInst
, IDS_SEARCH_TEXT
, szBuf
, sizeof(szBuf
) / sizeof(WCHAR
));
135 SetWindowTextW(hSearchBar
, szBuf
);
137 SetParent(hSearchBar
, hToolBar
);
143 CreateToolBar(HWND hwnd
)
145 INT NumButtons
= sizeof(Buttons
) / sizeof(Buttons
[0]);
146 HIMAGELIST hImageList
;
148 LoadStringW(hInst
, IDS_INSTALL
, szInstallBtn
, sizeof(szInstallBtn
) / sizeof(WCHAR
));
149 LoadStringW(hInst
, IDS_UNINSTALL
, szUninstallBtn
, sizeof(szUninstallBtn
) / sizeof(WCHAR
));
150 LoadStringW(hInst
, IDS_MODIFY
, szModifyBtn
, sizeof(szModifyBtn
) / sizeof(WCHAR
));
152 hToolBar
= CreateWindowExW(0,
155 WS_CHILD
| WS_VISIBLE
| TBSTYLE_FLAT
| TBSTYLE_TOOLTIPS
| TBSTYLE_LIST
,
164 /* TODO: Show error message */
168 SendMessageW(hToolBar
, TB_SETEXTENDEDSTYLE
, 0, TBSTYLE_EX_HIDECLIPPEDBUTTONS
);
169 SendMessageW(hToolBar
, TB_BUTTONSTRUCTSIZE
, sizeof(Buttons
[0]), 0);
171 hImageList
= InitImageList();
175 /* TODO: Show error message */
179 ImageList_Destroy((HIMAGELIST
)SendMessageW(hToolBar
,
182 (LPARAM
)hImageList
));
184 SendMessageW(hToolBar
, TB_ADDBUTTONS
, NumButtons
, (LPARAM
)Buttons
);