Added comment explaining new Gtk::Dialog idiom.
[ardour.git] / gtk2_ardour / regionview.h
index 0a40622bd050ef0eca780a1da40c4515b5064c1d..0ce154747fd81d62897c527e775d1897a52a695b 100644 (file)
 #define __gtk_ardour_region_view_h__
 
 #include <vector>
-#include <gtk--.h>
-#include <gtk-canvas.h>
-#include <sigc++/signal_system.h>
+
+#include <libgnomecanvasmm/libgnomecanvasmm.h>
+#include <libgnomecanvasmm/polygon.h>
+#include <sigc++/signal.h>
 #include <ardour/region.h>
 
 #include "time_axis_view_item.h"
 #include "automation_line.h"
 #include "enums.h"
-#include "canvas-waveview.h"
+#include "waveview.h"
+#include "canvas.h"
 
 namespace ARDOUR {
        class AudioRegion;
@@ -46,15 +48,15 @@ class AutomationTimeAxisView;
 class AudioRegionView : public TimeAxisViewItem
 {
   public:
-    AudioRegionView (GtkCanvasGroup *, 
-                    AudioTimeAxisView&,
-                    ARDOUR::AudioRegion&,
-                    double initial_samples_per_unit,
-                    double amplitude_above_axis,
-                    GdkColor& base_color,
-                    bool wait_for_waves);
-    ~AudioRegionView ();
-
+       AudioRegionView (ArdourCanvas::Group *, 
+                        AudioTimeAxisView&,
+                        ARDOUR::AudioRegion&,
+                        double initial_samples_per_unit,
+                        double amplitude_above_axis,
+                        Gdk::Color& base_color,
+                        bool wait_for_waves);
+       ~AudioRegionView ();
+       
     ARDOUR::AudioRegion& region;  // ok, let 'em have it
     bool is_valid() const { return valid; }
     void set_valid (bool yn) { valid = yn; }
@@ -89,16 +91,16 @@ class AudioRegionView : public TimeAxisViewItem
     void show_region_editor ();
     void hide_region_editor();
 
-    void add_gain_point_event (GtkCanvasItem *item, GdkEvent *event);
-    void remove_gain_point_event (GtkCanvasItem *item, GdkEvent *event);
+    void add_gain_point_event (ArdourCanvas::Item *item, GdkEvent *event);
+    void remove_gain_point_event (ArdourCanvas::Item *item, GdkEvent *event);
 
     AudioRegionGainLine* get_gain_line() const { return gain_line; }
 
     void region_changed (ARDOUR::Change);
     void envelope_active_changed ();
 
-    static SigC::Signal1<void,AudioRegionView*> AudioRegionViewGoingAway;
-    SigC::Signal0<void> GoingAway;
+    static sigc::signal<void,AudioRegionView*> AudioRegionViewGoingAway;
+    sigc::signal<void> GoingAway;
 
     GhostRegion* add_ghost (AutomationTimeAxisView&);
     void remove_ghost (GhostRegion*);
@@ -120,15 +122,15 @@ class AudioRegionView : public TimeAxisViewItem
            WaveformRectified = 0x8
     };
 
-    vector<GtkCanvasItem *> waves; /* waveviews */
-    vector<GtkCanvasItem *> tmp_waves; /* see ::create_waves()*/
-    GtkCanvasItem* sync_mark; /* polgyon for sync position */
-    GtkCanvasItem* no_wave_msg; /* text */
-    GtkCanvasItem* zero_line; /* simpleline */
-    GtkCanvasItem* fade_in_shape; /* polygon */
-    GtkCanvasItem* fade_out_shape; /* polygon */
-    GtkCanvasItem* fade_in_handle; /* simplerect */
-    GtkCanvasItem* fade_out_handle; /* simplerect */
+    vector<ArdourCanvas::WaveView *> waves; /* waveviews */
+    vector<ArdourCanvas::WaveView *> tmp_waves; /* see ::create_waves()*/
+    ArdourCanvas::Polygon* sync_mark; /* polgyon for sync position */
+    ArdourCanvas::Text* no_wave_msg; /* text */
+    ArdourCanvas::SimpleLine* zero_line; /* simpleline */
+    ArdourCanvas::Polygon* fade_in_shape; /* polygon */
+    ArdourCanvas::Polygon* fade_out_shape; /* polygon */
+    ArdourCanvas::SimpleRect* fade_in_handle; /* simplerect */
+    ArdourCanvas::SimpleRect* fade_out_handle; /* simplerect */
 
     AudioRegionGainLine* gain_line;
     AudioRegionEditor *editor;
@@ -163,7 +165,7 @@ class AudioRegionView : public TimeAxisViewItem
     void region_sync_changed ();
     void region_scale_amplitude_changed ();
 
-    static gint _lock_toggle (GtkCanvasItem*, GdkEvent*, void*);
+    static gint _lock_toggle (ArdourCanvas::Item*, GdkEvent*, void*);
     void lock_toggle ();
 
     void create_waves ();
@@ -175,12 +177,12 @@ class AudioRegionView : public TimeAxisViewItem
     void store_flags ();
 
     void set_colors ();
-    void compute_colors (GdkColor&);
+    void compute_colors (Gdk::Color&);
     void set_frame_color ();
     void reset_width_dependent_items (double pixel_width);
     void set_waveview_data_src();
 
-    vector<GtkCanvasWaveViewCache*> wave_caches;
+    vector<GnomeCanvasWaveViewCache*> wave_caches;
     vector<GhostRegion*> ghosts;
 };