1
// Stephen Smally © 2012
2
// This program is free software; you can redistribute it and/or modify
3
// it under the terms of the GNU General Public License as published by
4
// the Free Software Foundation; either version 2 of the License, or
5
// (at your option) any later version.
7
// This program is distributed in the hope that it will be useful,
8
// but WITHOUT ANY WARRANTY; without even the implied warranty of
9
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
// GNU General Public License for more details.
12
// You should have received a copy of the GNU General Public License
13
// along with this program; if not, write to the Free Software
14
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
15
// MA 02110-1301, USA.
20
namespace Lsc.Widgets {
21
public class LscToolbar : Toolbar {
23
public signal void section_changed(int index);
26
public ToolButton back;
27
public RadioToolButton radio = null;
28
public SearchBar searchbar;
30
public void on_changed_radio (ToolButton widget) {
31
int index = get_children().index(widget)-1; // The radio position in the toolbar - 1
32
section_changed(index);
35
public LscToolbar () {
36
toolbar_style = ToolbarStyle.BOTH_HORIZ;
37
get_style_context().add_class("primary-toolbar");
40
back = new ToolButton.from_stock(Stock.GO_BACK);
43
// This has to be fixed with the Section enum
44
string[] SectionStrings = {
50
foreach (string section in SectionStrings) {
52
radio = new RadioToolButton(null);
54
radio = new RadioToolButton.from_widget(radio);
56
radio.label = section;
57
radio.icon_name = "applications-other";
58
radio.set_is_important(true);
59
radio.clicked.connect(on_changed_radio);
63
ToolItem spacer = new ToolItem();
64
spacer.set_expand(true);
67
searchbar = new SearchBar("Search apps...");
68
searchbar.text_changed_pause.connect((text) => {stdout.printf("%s\n", text); });
69
ToolItem searchbar_tool = new ToolItem();
70
searchbar_tool.add(searchbar);
71
insert(searchbar_tool, -1);