diff options
author | Doug McLain <doug@nostar.net> | 2008-06-02 05:02:28 +0000 |
---|---|---|
committer | Doug McLain <doug@nostar.net> | 2008-06-02 05:02:28 +0000 |
commit | 9c0d7d72d70082a54f823cd44c0ccda5da64bb6f (patch) | |
tree | 96ec400b83b8c1c06852b1936f684b5fbcd47a79 /libs/gtkmm2ext/grouped_buttons.cc | |
parent | 2f3f697bb8e185eb43c2c50b4eefc2bcb937f269 (diff) |
remove empty sigc++2 directory
git-svn-id: svn://localhost/ardour2/branches/3.0@3432 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/gtkmm2ext/grouped_buttons.cc')
-rw-r--r-- | libs/gtkmm2ext/grouped_buttons.cc | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/libs/gtkmm2ext/grouped_buttons.cc b/libs/gtkmm2ext/grouped_buttons.cc deleted file mode 100644 index b16b983d02..0000000000 --- a/libs/gtkmm2ext/grouped_buttons.cc +++ /dev/null @@ -1,96 +0,0 @@ -/* - Copyright (C) 2001 Paul Davis - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id$ -*/ - -#include <gtkmm.h> - -#include <gtkmm2ext/grouped_buttons.h> - -using namespace std; - -GroupedButtons::GroupedButtons (vector<Gtk::ToggleButton *>& buttonset) -{ - uint32_t n = 0; - - buttons = buttonset; - - for (vector<Gtk::ToggleButton *>::iterator i = buttons.begin(); i != buttons.end(); ++i, ++n) { - if ((*i)->get_active()) { - current_active = n; - } - (*i)->signal_clicked().connect (sigc::bind (mem_fun (*this, &GroupedButtons::one_clicked), n)); - } -} - -GroupedButtons::GroupedButtons (uint32_t nbuttons, uint32_t first_active) -{ - buttons.reserve (nbuttons); - current_active = first_active; - - for (uint32_t n = 0; n < nbuttons; ++n) { - - Gtk::ToggleButton *button; - - button = manage (new (Gtk::ToggleButton)); - - if (n == current_active) { - button->set_active (true); - } - - button->signal_clicked().connect (sigc::bind (mem_fun (*this, &GroupedButtons::one_clicked), n)); - buttons.push_back (button); - } -} - -static gint -reactivate_button (void *arg) -{ - Gtk::ToggleButton *b = (Gtk::ToggleButton *) arg; - b->set_active (true); - return FALSE; -} - -void -GroupedButtons::one_clicked (uint32_t which) -{ - if (buttons[which]->get_active()) { - - if (which != current_active) { - uint32_t old = current_active; - current_active = which; - buttons[old]->set_active (false); - } - - } else if (which == current_active) { - - /* Someobody tried to unset the current active - button by clicking on it. This caused - set_active (false) to be called. We don't - allow that, so just reactivate it. - - Don't try this right here, because of some - design glitches with GTK+ toggle buttons. - Setting the button back to active from - within the signal emission that marked - it as inactive causes a segfault ... - */ - - gtk_idle_add (reactivate_button, buttons[which]); - } -} |