X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmarker_view.cc;h=4bd842341bc76be7c0d8eaa8169617559ad105da;hb=459eda7e11e4b8fa9767dc8a3e2b1228dc54078e;hp=354f533e6b2d5b71fbfed5996437ed33af71bbd6;hpb=e493b2b7c4fbbbfc457f02babf9546289b430177;p=ardour.git diff --git a/gtk2_ardour/marker_view.cc b/gtk2_ardour/marker_view.cc index 354f533e6b..4bd842341b 100644 --- a/gtk2_ardour/marker_view.cc +++ b/gtk2_ardour/marker_view.cc @@ -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$ */ #include @@ -27,36 +26,35 @@ #include "marker_view.h" using namespace ARDOUR ; -using namespace sigc; -sigc::signal MarkerView::GoingAway; +PBD::Signal1 MarkerView::CatchDeletion //---------------------------------------------------------------------------------------// // Constructor / Desctructor /** * Constructs a new MarkerView - * + * * @param parent the parent canvas item * @param tv the parent TimeAxisView of this item * @param tavi the TimeAxisViewItem that this item is to be assciated (marking) with - * @param spu the current samples per unit + * @param spu the current samples per unit * @param base_color * @param mark_type the marker type/name text, eg fade out, pan up etc. * @param mark_id unique name/id of this item * @param start the start time of this item * @param duration the duration of this item */ -MarkerView::MarkerView(GtkCanvasGroup *parent, - TimeAxisView* tv, - ImageFrameView* marked, - double spu, - GdkColor& basic_color, - std::string mark_type, - std::string mark_id, - jack_nframes_t start, - jack_nframes_t duration) - : TimeAxisViewItem(mark_id, parent,*tv,spu,basic_color,start,duration) +MarkerView::MarkerView(ArdourCanvas::Group *parent, + TimeAxisView* tv, + ImageFrameView* marked, + double spu, + Gdk::Color& basic_color, + std::string mark_type, + std::string mark_id, + framepos_t start, + framecnt_t duration) + : TimeAxisViewItem(mark_id, *parent,*tv,spu,basic_color,start,duration) { mark_type_text = mark_type ; marked_item = marked ; @@ -64,21 +62,16 @@ MarkerView::MarkerView(GtkCanvasGroup *parent, // set the canvas item text to the marker type, not the id set_name_text(mark_type_text) ; - // hoo up our canvas events - gtk_signal_connect (GTK_OBJECT(frame_handle_start), "event", - (GtkSignalFunc) PublicEditor::canvas_markerview_start_handle_event, - this); - - gtk_signal_connect (GTK_OBJECT(frame_handle_end), "event", - (GtkSignalFunc) PublicEditor::canvas_markerview_end_handle_event, - this); - - gtk_signal_connect (GTK_OBJECT(group), "event", - (GtkSignalFunc) PublicEditor::canvas_markerview_item_view_event, this); - - /* handle any specific details required by the initial start end duration values */ - set_position(start, this) ; - set_duration(duration, this) ; + // hook up our canvas events + + if (frame_handle_start) { + frame_handle_start->signal_event().connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_markerview_start_handle_event), frame_handle_start, this)); + frame_handle_end->signal_event().connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_markerview_end_handle_event), frame_handle_end, this)); + } + group->signal_event().connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_markerview_item_view_event), group, this)); + + set_position(start, this) ; + set_duration(duration, this) ; } /** @@ -94,12 +87,12 @@ MarkerView::~MarkerView() } } - + //---------------------------------------------------------------------------------------// // Marker Type Methods /** - * Sets the marker Type text of this this MarkerItem, eg fade_out, pan up etc. + * Sets the marker Type text of this this MarkerItem, eg fade_out, pan up etc. * * @param type_text the marker type text of this item */ @@ -109,9 +102,9 @@ MarkerView::set_mark_type_text(std::string type_text) mark_type_text = type_text ; MarkTypeChanged(mark_type_text, this) ; /* EMIT_SIGNAL */ } - + /** - * Returns the marker Type of this this MarkerItem, eg fade_out, pan up etc. + * Returns the marker Type of this this MarkerItem, eg fade_out, pan up etc. * * @return the marker type text of this item */ @@ -130,7 +123,7 @@ MarkerView::set_marked_item(ImageFrameView* item) { ImageFrameView* temp = marked_item ; marked_item = item ; - + MarkedItemChanged(marked_item, this) ; /* EMIT_SIGNAL */ return(temp) ; }