r258@gwythaint (orig r798): fugalh | 2006-08-12 15:50:33 -0600
[ardour.git] / gtk2_ardour / tempo_dialog.h
index f287147aa2294621c645404043fceb4b21452879..2c6827954f622c448efa24fd55853c32fd5b1a6c 100644 (file)
@@ -1,7 +1,15 @@
 #ifndef __ardour_gtk_tempo_dialog_h__
 #define __ardour_gtk_tempo_dialog_h__
 
-#include <gtkmm.h>
+#include <gtkmm/entry.h>
+#include <gtkmm/frame.h>
+#include <gtkmm/box.h>
+#include <gtkmm/button.h>
+#include <gtkmm/label.h>
+#include <gtkmm/table.h>
+#include <gtkmm/entry.h>
+#include <gtkmm/comboboxtext.h>
+
 #include <ardour/types.h>
 #include <ardour/tempo.h>
 
@@ -25,21 +33,23 @@ struct TempoDialog : public ArdourDialog
     Gtk::Frame   when_frame;
     char buf[64];
     
-    TempoDialog (ARDOUR::TempoMap&, jack_nframes_t, string action);
-    TempoDialog (ARDOUR::TempoSection&, string action);
+    TempoDialog (ARDOUR::TempoMap&, jack_nframes_t, const string & action);
+    TempoDialog (ARDOUR::TempoSection&, const string & action);
 
     double get_bpm ();
     bool   get_bbt_time (ARDOUR::BBT_Time&);
     
   private:
     void init (const ARDOUR::BBT_Time& start, double, bool);
+    bool bpm_key_press (GdkEventKey* );
+    bool bpm_key_release (GdkEventKey* );
 };
 
 struct MeterDialog : public ArdourDialog 
 {
     Gtk::Entry   bpb_entry;
-    Gtk::Combo   note_types;
-    vector<const gchar *> strings;
+    Gtk::ComboBoxText note_types;
+    vector<string> strings;
     Gtk::Frame   note_frame;
     Gtk::Frame   bpb_frame;
     Gtk::VBox    vpacker;
@@ -56,8 +66,8 @@ struct MeterDialog : public ArdourDialog
     Gtk::Frame   when_frame;
     char buf[64];
     
-    MeterDialog (ARDOUR::TempoMap&, jack_nframes_t, string action);
-    MeterDialog (ARDOUR::MeterSection&, string action);
+    MeterDialog (ARDOUR::TempoMap&, jack_nframes_t, const string & action);
+    MeterDialog (ARDOUR::MeterSection&, const string & action);
 
     double get_bpb ();
     double get_note_type ();
@@ -65,6 +75,9 @@ struct MeterDialog : public ArdourDialog
 
   private:
     void init (const ARDOUR::BBT_Time&, double, double, bool);
+    bool bpb_key_press (GdkEventKey* );
+    bool bpb_key_release (GdkEventKey* );
+    void note_types_change ();
 };
 
 #endif /* __ardour_gtk_tempo_dialog_h__ */