-
Notifications
You must be signed in to change notification settings - Fork 3
/
BrowserToolbar.cpp
69 lines (52 loc) · 1.92 KB
/
BrowserToolbar.cpp
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
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Copyright 2009, Maxime Simon, [email protected]
// All rights reserved.
//
// Distributed under the terms of the MIT License.
//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include "BrowserToolbar.h"
#include <Application.h>
#include <IconUtils.h>
#include <Resources.h>
#include <ToolbarButton.h>
#include <ToolbarSeparator.h>
#include "Constants.h"
BrowserToolbar::BrowserToolbar()
: WToolbar(BRect(0, 0, 1, 1), "main toolbar")
{
BBitmap *icon = _RetrieveBitmap("back.png");
WToolbarButton *button = new WToolbarButton("Back", "Back", icon, new BMessage(kMsgNavBack));
AddItem(button, 0, W_TOOLBAR_LAST_POSITION);
icon = _RetrieveBitmap("forward.png");
button = new WToolbarButton("Forward", "Forward", icon, new BMessage(kMsgNavForward));
AddItem(button, 0, W_TOOLBAR_LAST_POSITION);
icon = _RetrieveBitmap("reload.png");
button = new WToolbarButton("Reload", "Reload", icon, new BMessage(kMsgNavReload));
AddItem(button, 0, W_TOOLBAR_LAST_POSITION);
icon = _RetrieveBitmap("home.png");
button = new WToolbarButton("Home", "Home", icon, new BMessage(kMsgNavHome));
AddItem(button, 0, W_TOOLBAR_LAST_POSITION);
AddItem(new WToolbarSeparator(), 0, W_TOOLBAR_LAST_POSITION);
icon = _RetrieveBitmap("stop.png");
button = new WToolbarButton("Stop", "Stop", icon, new BMessage(kMsgNavStop));
AddItem(button, 0, W_TOOLBAR_LAST_POSITION);
SetLabelPosition(W_TOOLBAR_LABEL_NONE);
}
BrowserToolbar::~BrowserToolbar()
{
}
BBitmap*
BrowserToolbar::_RetrieveBitmap(const char *name)
{
BResources *resource = BApplication::AppResources();
size_t size = 0;
const void *data = resource->LoadResource('TBBM', name, &size);
if (!data)
return NULL;
BBitmap *bitmap = new BBitmap(BRect(0, 0, 15, 15), B_RGBA32);
if (BIconUtils::GetVectorIcon((const uint8 *)data, size, bitmap) != B_OK)
return NULL;
return bitmap;
}