changes to help strp silence
[ardour.git] / gtk2_ardour / imageframe_time_axis_view.h
index f6215236f18f492332010a20f7c154fbc1e31789..1191068c1d1f3143bc7336daefd8e211955fa574 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2003 Paul Davis 
+    Copyright (C) 2003 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
@@ -15,7 +15,6 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-    $Id$
 */
 
 #ifndef __ardour_imageframe_time_axis_view_h__
 #include <list>
 #include <cmath>
 
-#include <gtkmm.h>
-#include <libgnomecanvas/libgnomecanvas.h>
+#include <gdkmm/color.h>
+
 #include <jack/jack.h>
 
+#include <libgnomecanvasmm.h>
+#include "canvas.h"
+#include "simplerect.h"
+
+
 class PublicEditor ;
 class ImageFrameTimeAxis ;
 class ImageFrameView ;
@@ -44,20 +48,20 @@ class ImageFrameTimeAxisView : public sigc::trackable
        public:
                //---------------------------------------------------------------------------------------//
                // Constructor / Desctructor
-               
+
                /**
                 * Constructs a new ImageFrameTimeAxisView.
                 *
                 * @param ifta the parent ImageFrameTimeAxis of this view helper
                 */
                ImageFrameTimeAxisView(ImageFrameTimeAxis& ifta) ;
-               
+
                /**
-                * Destructor 
+                * Destructor
                 * Responsible for destroying all items tat may have been added to this time axis
                 */
                ~ImageFrameTimeAxisView () ;
-               
+
                //---------------------------------------------------------------------------------------//
                // Parent/Child helper object accessors
 
@@ -67,23 +71,23 @@ class ImageFrameTimeAxisView : public sigc::trackable
                 * @return the TimeAxisView that this object is acting as a view helper for
                 */
                ImageFrameTimeAxis& trackview() { return _trackview; }
-               
+
                /**
                 *
                 */
-               GnomeCanvasItem* canvas_item() { return canvas_group; }
-               
-               
+               ArdourCanvas::Group * canvas_item() { return &canvas_group; }
+
+
                //---------------------------------------------------------------------------------------//
                // ui methods & data
-               
+
                /**
                 * Sets the height of the time axis view and the item upon it
                 *
                 * @param height the new height
                 */
                int set_height(gdouble) ;
-               
+
                /**
                 * Sets the position of this view helper on the canvas
                 *
@@ -91,32 +95,32 @@ class ImageFrameTimeAxisView : public sigc::trackable
                 * @param y the y position upon the canvas
                 */
                int set_position(gdouble x, gdouble y) ;
-               
+
                /**
                 * Sets the current samples per unit.
                 * this method tells each item upon the time axis of the change
-                * 
+                *
                 * @param spu the new samples per canvas unit value
                 */
                int set_samples_per_unit(gdouble spu) ;
-               
+
                /**
                 * Returns the current samples per unit of this time axis view helper
                 *
                 * @return the current samples per unit of this time axis view helper
                 */
                gdouble get_samples_per_unit() { return _samples_per_unit; }
-               
+
                /**
                 * Sets the color of the items contained uopn this view helper
                 *
                 * @param color the new base color
                 */
                void apply_color (Gdk::Color&) ;
-               
+
                //---------------------------------------------------------------------------------------//
                // Child ImageFrameTimeAxisGroup Accessors/Mutators
-               
+
                /**
                 * Adds an ImageFrameTimeAxisGroup to the list of items upon this time axis view helper
                 * the new ImageFrameTimeAxisGroup is returned
@@ -125,7 +129,7 @@ class ImageFrameTimeAxisView : public sigc::trackable
                 * @param src the identity of the object that initiated the change
                 */
                ImageFrameTimeAxisGroup* add_imageframe_group(std::string group_id, void* src) ;
-               
+
                /**
                 * Returns the named ImageFrameTimeAxisGroup or 0 if the named group does not exist on this view helper
                 *
@@ -133,7 +137,7 @@ class ImageFrameTimeAxisView : public sigc::trackable
                 * @return the named ImageFrameTimeAxisGroup, or 0 if it is not held upon this view
                 */
                ImageFrameTimeAxisGroup* get_named_imageframe_group(std::string group_id) ;
-               
+
                /**
                 * Removes and returns the named ImageFrameTimeAxisGroup from the list of ImageFrameTimeAxisGroup held by this view helper
                 *
@@ -142,38 +146,38 @@ class ImageFrameTimeAxisView : public sigc::trackable
                 * @see add_imageframe_group
                 */
                ImageFrameTimeAxisGroup* remove_named_imageframe_group(std::string group_id, void* src) ;
-               
+
                /**
                 * Removes the specified ImageFrameTimeAxisGroup from the list of ImageFrameTimeAxisGroups upon this TimeAxis.
                 *
                 * @param iftag the ImageFrameView to remove
                 */
                void remove_imageframe_group(ImageFrameTimeAxisGroup* iftag, void* src) ;
-               
-               
+
+
                //---------------------------------------------------------------------------------------//
                // Selected group methods
-               
+
                /**
                 * Sets the currently selected group upon this time axis
                 *
                 * @param ifv the item to set selected
                 */
                void set_selected_imageframe_group(ImageFrameTimeAxisGroup* iftag) ;
-               
+
                /**
                 * Clears the currently selected image frame group unpo this time axis
                 *
                 */
                void clear_selected_imageframe_group() ;
-               
+
                /**
                 * Returns the currently selected group upon this time axis
                 *
                 * @return the currently selected group upon this time axis
-                */             
+                */
                ImageFrameTimeAxisGroup* get_selected_imageframe_group() const ;
-               
+
 
                /**
                 * Sets the duration of the selected ImageFrameView to the specified number of seconds
@@ -181,10 +185,10 @@ class ImageFrameTimeAxisView : public sigc::trackable
                 * @param sec the duration to set the ImageFrameView to, in seconds
                 */
                void set_imageframe_duration_sec(double sec) ;
-               
+
                //---------------------------------------------------------------------------------------//
                // Selected item methods
-               
+
                /**
                 * Sets the currently selected image frame view item
                 *
@@ -192,23 +196,23 @@ class ImageFrameTimeAxisView : public sigc::trackable
                 * @param ifv the selected item
                 */
                void set_selected_imageframe_view(ImageFrameTimeAxisGroup* iftag, ImageFrameView* ifv) ;
-               
+
                /**
                 * Clears the currently selected image frame view item
                 *
                 * @param clear_group set true if the selected parent group of the item should be cleared also
                 */
                void clear_selected_imageframe_item(bool clear_group) ;
-               
+
                /**
                 * Returns the currently selected image frame view item upon this time axis
                 *
                 * @return the currently selected image frame view item
                 */
                ImageFrameView* get_selected_imageframe_view() const ;
-               
 
-               
+
+
                /**
                 * Removes the currently selected ImageFrameTimeAxisGroup
                 *
@@ -217,16 +221,16 @@ class ImageFrameTimeAxisView : public sigc::trackable
                 */
                void remove_selected_imageframe_item(void* src) ;
 
-               
+
                //---------------------------------------------------------------------------------//
                // Emitted Signals
-               
+
                /** Emitted when and ImageFrameGroup is added to this time axis */
                sigc::signal<void,ImageFrameTimeAxisGroup*,void*> ImageFrameGroupAdded ;
-               
+
                /** Emitted when an ImageFrameGroup is removed from this time axis */
                sigc::signal<void,std::string,void*> ImageFrameGroupRemoved ;
-               
+
        protected:
 
 
@@ -236,36 +240,36 @@ class ImageFrameTimeAxisView : public sigc::trackable
                 *
                 */
                void reset_samples_per_unit() ;
-               
+
                /**
                 * The list of ImageFrameViews held by this view helper */
                typedef std::list<ImageFrameTimeAxisGroup *> ImageFrameGroupList ;
                ImageFrameGroupList imageframe_groups ;
-               
+
                /** the currently selected time axis item upon this time axis */
                ImageFrameTimeAxisGroup* selected_imageframe_group ;
-       
+
                /**
                 * thecurrently selected image frame view
                 * we keep this here so that we only have one per view, not one per group
                 */
                ImageFrameView* selected_imageframe_view ;
-       
-       
-               
+
+
+
                /* the TimeAxisView that this object is acting as the view helper for */
                ImageFrameTimeAxis& _trackview ;
-               
-               GnomeCanvasItem *canvas_group ;
-               GnomeCanvasItem *canvas_rect; /* frame around the whole thing */
-               
+
+               ArdourCanvas::Group       canvas_group ;
+               ArdourCanvas::SimpleRect  canvas_rect; /* frame around the whole thing */
+
                /** the current samples per unit */
                double _samples_per_unit ;
-               
+
                /* XXX why are these different? */
                Gdk::Color region_color ;
                uint32_t stream_base_color ;
-               
+
 } ; /* class ImageFrameTimeAxisView */
 
 #endif /* __ardour_imageframe_time_axis_view_h__ */