diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-06-03 22:18:47 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-06-03 22:18:47 +0000 |
commit | e77b5261d2811a1ad139afc29250e3a3337c455d (patch) | |
tree | dbd09a97b2b7489ac04b1e68a89854fd655c5ff8 /gtk2_ardour/time_info_box.h | |
parent | 11bcfd84296d5c4224e94bbae606180c5b58ef5b (diff) |
next iteration of clock work. still far from complete, and probably waiting on a rethink of text rendering+layout. but it has the info block now, and it semi-works
git-svn-id: svn://localhost/ardour2/branches/3.0@9676 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/time_info_box.h')
-rw-r--r-- | gtk2_ardour/time_info_box.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/gtk2_ardour/time_info_box.h b/gtk2_ardour/time_info_box.h new file mode 100644 index 0000000000..a1da519aed --- /dev/null +++ b/gtk2_ardour/time_info_box.h @@ -0,0 +1,73 @@ +/* + Copyright (C) 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. + +*/ + +#ifndef __time_info_box_h__ +#define __time_info_box_h__ + +#include <map> + +#include <gtkmm/box.h> +#include <gtkmm/label.h> + +#include "ardour/ardour.h" +#include "ardour/session_handle.h" + +class CairoEditableText; +class CairoCell; +class CairoTextCell; + +namespace ARDOUR { + class Session; + class Location; +} + +class AudioClock; + +class TimeInfoBox : public Gtk::Table, public ARDOUR::SessionHandlePtr +{ + public: + TimeInfoBox (); + ~TimeInfoBox (); + + void set_session (ARDOUR::Session*); + + protected: + bool on_expose_event (GdkEventExpose*); + + private: + AudioClock* selection_start; + AudioClock* selection_end; + AudioClock* selection_length; + + AudioClock* punch_start; + AudioClock* punch_end; + + Gtk::Label selection_title; + Gtk::Label punch_title; + + void punch_changed (ARDOUR::Location*); + void punch_location_changed (ARDOUR::Location*); + void watch_punch (ARDOUR::Location*); + PBD::ScopedConnectionList punch_connections; + + void selection_changed (); +}; + + +#endif /* __time_info_box_h__ */ |