lumiera_/src/gui/widget/button-bar.hpp

60 lines
1.5 KiB
C++
Raw Normal View History

2009-03-10 19:38:53 +01:00
/*
BUTTON-BAR.hpp - button bar widget
2010-12-17 23:28:49 +01:00
2009-03-10 19:38:53 +01:00
Copyright (C) Lumiera.org
2009, Joel Holdsworth <joel@airwebreathe.org.uk>
2010-12-17 23:28:49 +01:00
2009-03-10 19:38:53 +01:00
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
2010-12-17 23:28:49 +01:00
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
2009-03-10 19:38:53 +01:00
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.
2010-12-17 23:28:49 +01:00
2009-03-10 19:38:53 +01:00
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.
2010-12-17 23:28:49 +01:00
2009-03-10 19:38:53 +01:00
*/
#ifndef GUI_WIDGET_BUTTON_BAR_H
#define GUI_WIDGET_BUTTON_BAR_H
2009-03-10 19:38:53 +01:00
#include "gui/widget/mini-button.hpp"
2009-03-10 19:38:53 +01:00
namespace gui {
namespace widget {
2009-03-10 19:38:53 +01:00
2009-03-14 15:29:59 +01:00
/**
* A modified toolbar widget for use in dialogs.
*/
class ButtonBar
: public Gtk::Box
{
public:
ButtonBar();
/** Append a widget to the button bar */
void append (Widget&);
/**
* Append a button to the button bar,
* and connect a click event.
*/
template<class T>
void
append (MiniWrapper<T>& button, sigc::slot<void> const& clicked_slot)
{
button.signal_clicked().connect (clicked_slot);
append (button);
}
};
}}// gui::widget
#endif /*GUI_WIDGET_BUTTON_BAR_H*/