X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmarker_time_axis_view.cc;h=e9a15fb5a5c732a4dd771b3be35fbe1220217f32;hb=b034d9d05a64bf7f9f8a6465dee5441388fce6c5;hp=b07448e1a60780ac4c549555f080424382a3e28a;hpb=209d967b1bb80a9735d690d8f4f0455ecb9970ca;p=ardour.git diff --git a/gtk2_ardour/marker_time_axis_view.cc b/gtk2_ardour/marker_time_axis_view.cc index b07448e1a6..e9a15fb5a5 100644 --- a/gtk2_ardour/marker_time_axis_view.cc +++ b/gtk2_ardour/marker_time_axis_view.cc @@ -15,13 +15,12 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id$ */ #include -#include -#include +#include +#include #include "marker_time_axis_view.h" #include "marker_time_axis.h" @@ -32,6 +31,7 @@ #include "public_editor.h" #include "rgb_macros.h" #include "gui_thread.h" +#include "ardour_ui.h" #include "i18n.h" @@ -50,25 +50,23 @@ MarkerTimeAxisView::MarkerTimeAxisView(MarkerTimeAxis& tv) : _trackview (tv) { region_color = _trackview.color(); - stream_base_color = color_map[cMarkerTrackBase]; - - canvas_group = gtk_canvas_item_new (GTK_CANVAS_GROUP(_trackview.canvas_display), gtk_canvas_group_get_type (), 0); - - canvas_rect = gtk_canvas_item_new (GTK_CANVAS_GROUP(canvas_group), - gtk_canvas_simplerect_get_type(), - "x1", 0.0, - "y1", 0.0, - "x2", 1000000.0, - "y2", (double)20, - "outline_color_rgba", color_map[cMarkerTrackOutline], - "fill_color_rgba", stream_base_color, - 0) ; - - gtk_signal_connect(GTK_OBJECT(canvas_rect), "event", (GtkSignalFunc)PublicEditor::canvas_marker_time_axis_view_event, &_trackview) ; + stream_base_color = ARDOUR_UI::config()->canvasvar_MarkerTrack.get(); + + canvas_group = new ArdourCanvas::Group (*_trackview.canvas_display); + + canvas_rect = new ArdourCanvas::SimpleRect (*canvas_group); + canvas_rect->property_x1() = 0.0; + canvas_rect->property_y1() = 0.0; + canvas_rect->property_x2() = max_frames; + canvas_rect->property_y2() = (double)20; + canvas_rect->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerTrack.get(); + canvas_rect->property_fill_color_rgba() = stream_base_color; + + canvas_rect->signal_event().connect (bind (mem_fun (_trackview.editor, &PublicEditor::canvas_marker_time_axis_view_event), canvas_rect, &_trackview)); _samples_per_unit = _trackview.editor.get_current_zoom() ; - _trackview.editor.ZoomChanged.connect (slot(*this, &MarkerTimeAxisView::reset_samples_per_unit)); + _trackview.editor.ZoomChanged.connect (mem_fun(*this, &MarkerTimeAxisView::reset_samples_per_unit)); } /** @@ -93,17 +91,11 @@ MarkerTimeAxisView::~MarkerTimeAxisView() iter = next ; } - if(canvas_rect) - { - gtk_object_destroy(GTK_OBJECT(canvas_rect)) ; - canvas_rect = 0 ; - } - - if(canvas_group) - { - gtk_object_destroy(GTK_OBJECT(canvas_group)) ; - canvas_group = 0 ; - } + delete canvas_rect; + canvas_rect = 0 ; + + delete canvas_group; + canvas_group = 0 ; } @@ -118,16 +110,14 @@ MarkerTimeAxisView::~MarkerTimeAxisView() int MarkerTimeAxisView::set_height(gdouble h) { - if (h < 10.0 || h > 1000.0) - { - return -1 ; + if (h < 10.0 || h > 1000.0) { + return -1; } - gtk_object_set (GTK_OBJECT(canvas_rect), "y2", h, NULL); + canvas_rect->property_y2() = h; - for (MarkerViewList::iterator i = marker_view_list.begin(); i != marker_view_list.end(); ++i) - { - (*i)->set_height(h) ; + for (MarkerViewList::iterator i = marker_view_list.begin(); i != marker_view_list.end(); ++i) { + (*i)->set_y_position_and_height(0, h); } return 0; @@ -142,7 +132,8 @@ MarkerTimeAxisView::set_height(gdouble h) int MarkerTimeAxisView::set_position(gdouble x, gdouble y) { - gtk_canvas_item_set (canvas_group, "x", x, "y", y, NULL); + canvas_group->property_x() = x; + canvas_group->property_y() = y; return 0; } @@ -174,7 +165,7 @@ MarkerTimeAxisView::set_samples_per_unit(gdouble spp) * @param color the new base color */ void -MarkerTimeAxisView::apply_color(GdkColor& color) +MarkerTimeAxisView::apply_color(Gdk::Color& color) { region_color = color; @@ -200,14 +191,14 @@ MarkerTimeAxisView::apply_color(GdkColor& color) * @param src the identity of the object that initiated the change */ MarkerView* -MarkerTimeAxisView::add_marker_view(ImageFrameView* ifv, std::string mark_type, std::string mark_id, jack_nframes_t start, jack_nframes_t dur, void* src) +MarkerTimeAxisView::add_marker_view(ImageFrameView* ifv, std::string mark_type, std::string mark_id, nframes_t start, nframes_t dur, void* src) { if(ifv->has_marker_view_item(mark_id)) { return(0) ; } - MarkerView* mv = new MarkerView(GTK_CANVAS_GROUP(canvas_group), + MarkerView* mv = new MarkerView(canvas_group, &_trackview, ifv, _trackview.editor.get_current_zoom(), @@ -220,7 +211,7 @@ MarkerTimeAxisView::add_marker_view(ImageFrameView* ifv, std::string mark_type, ifv->add_marker_view_item(mv, src) ; marker_view_list.push_front(mv) ; - mv->GoingAway.connect(bind (slot (*this,&MarkerTimeAxisView::remove_marker_view), (void*)this)) ; + mv->GoingAway.connect(bind (mem_fun(*this,&MarkerTimeAxisView::remove_marker_view), (void*)this)) ; MarkerViewAdded(mv,src) ; /* EMIT_SIGNAL */ @@ -322,7 +313,7 @@ MarkerTimeAxisView::remove_named_marker_view(std::string item_id, void* src) void MarkerTimeAxisView::remove_marker_view(MarkerView* mv, void* src) { - ENSURE_GUI_THREAD(bind (slot (*this, &MarkerTimeAxisView::remove_marker_view), mv, src)); + ENSURE_GUI_THREAD(bind (mem_fun(*this, &MarkerTimeAxisView::remove_marker_view), mv, src)); MarkerViewList::iterator i; @@ -346,7 +337,7 @@ MarkerTimeAxisView::set_marker_duration_sec(double sec) { if(get_selected_time_axis_item() != 0) { - get_selected_time_axis_item()->set_duration((jack_nframes_t) (sec * _trackview.editor.current_session()->frame_rate()), this) ; + get_selected_time_axis_item()->set_duration((nframes_t) (sec * _trackview.editor.current_session()->frame_rate()), this) ; } }