along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id$
*/
#include <algorithm>
-#include <gtk--.h>
-#include <gtkmmext/gtk_ui.h>
+#include <gtkmm.h>
+#include <gtkmm2ext/gtk_ui.h>
#include "marker_time_axis_view.h"
#include "marker_time_axis.h"
#include "public_editor.h"
#include "rgb_macros.h"
#include "gui_thread.h"
+#include "ardour_ui.h"
#include "i18n.h"
: _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));
}
/**
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 ;
}
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;
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;
}
* @param color the new base color
*/
void
-MarkerTimeAxisView::apply_color(GdkColor& color)
+MarkerTimeAxisView::apply_color(Gdk::Color& color)
{
region_color = 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(),
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 */
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;
{
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) ;
}
}