diff options
author | David Robillard <d@drobilla.net> | 2011-11-18 21:56:01 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-11-18 21:56:01 +0000 |
commit | 5770f26bc9aea867d8fcd62c38ccef70291034aa (patch) | |
tree | 6b06f8711b1fd28b7e8c1059cb62ca13cf0eea1a /gtk2_ardour/ardour_window.cc | |
parent | cd4e803f60ef122b8b643478d43a7f1a9c46ae43 (diff) |
Add ArdourWindow class for non-dialog windows.
Make IOSelector an ArdourWindow.
It's debatable whether this one should actually be a window, cancel buttons
might actually be useful on the IO selector.
git-svn-id: svn://localhost/ardour2/branches/3.0@10691 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/ardour_window.cc')
-rw-r--r-- | gtk2_ardour/ardour_window.cc | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/gtk2_ardour/ardour_window.cc b/gtk2_ardour/ardour_window.cc new file mode 100644 index 0000000000..0e9294cc3f --- /dev/null +++ b/gtk2_ardour/ardour_window.cc @@ -0,0 +1,75 @@ +/* + Copyright (C) 2002-2011 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. + +*/ + +#include <iostream> +#include <sigc++/bind.h> + +#include <gtkmm2ext/doi.h> + +#include "ardour_window.h" +#include "keyboard.h" + +using namespace std; +using namespace Gtk; +using namespace Gtkmm2ext; + +ArdourWindow::ArdourWindow (string title) + : Window () +{ + set_title (title); + init (); +} + +ArdourWindow::ArdourWindow (Gtk::Window& parent, string title) + : Window () +{ + init (); + set_position (Gtk::WIN_POS_CENTER_ON_PARENT); +} + +ArdourWindow::~ArdourWindow () +{ +} + +bool +ArdourWindow::on_enter_notify_event (GdkEventCrossing *ev) +{ + Keyboard::the_keyboard().enter_window (ev, this); + return Window::on_enter_notify_event (ev); +} + +bool +ArdourWindow::on_leave_notify_event (GdkEventCrossing *ev) +{ + Keyboard::the_keyboard().leave_window (ev, this); + return Window::on_leave_notify_event (ev); +} + +void +ArdourWindow::on_unmap () +{ + Keyboard::the_keyboard().leave_window (0, this); + Window::on_unmap (); +} + +void +ArdourWindow::init () +{ + set_border_width (10); +} |