ardour
grouped_buttons.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2001 Paul Davis
3 
4  This program is free software; you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation; either version 2 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program; if not, write to the Free Software
16  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17 
18 */
19 
20 #ifndef __gtkmm2ext_grouped_buttons_h__
21 #define __gtkmm2ext_grouped_buttons_h__
22 
23 #include <stdint.h>
24 
25 #include <vector>
26 #include <sigc++/signal.h>
27 
28 #include "gtkmm2ext/visibility.h"
29 
30 namespace Gtk {
31  class ToggleButton;
32 };
33 
34 class LIBGTKMM2EXT_API GroupedButtons : public sigc::trackable
35 {
36  public:
37  GroupedButtons (uint32_t nbuttons, uint32_t first_active);
38  GroupedButtons (std::vector<Gtk::ToggleButton *>&);
39 
40  Gtk::ToggleButton& button (uint32_t which) {
41  return *buttons[which];
42  }
43 
44  private:
45  std::vector<Gtk::ToggleButton *> buttons;
46  uint32_t current_active;
47  void one_clicked (uint32_t which);
48 };
49 
50 #endif /* __gtkmm2ext_grouped_buttons_h__ */
std::vector< Gtk::ToggleButton * > buttons
Gtk::ToggleButton & button(uint32_t which)
Definition: ardour_ui.h:130
LIBGTKMM2EXT_API
uint32_t current_active