#include "automation_time_axis.h"
#include "automation_line.h"
#include "public_editor.h"
-#include "canvas-simplerect.h"
-#include "canvas-waveview.h"
+#include "simplerect.h"
#include "selection.h"
#include "ghostregion.h"
#include "rgb_macros.h"
#include "automation_selectable.h"
#include "point_selection.h"
+#include "canvas_impl.h"
#include "i18n.h"
" ",
" "};
-AutomationTimeAxisView::AutomationTimeAxisView (Session& s, Route& r, PublicEditor& e, TimeAxisView& rent, Widget* p, std::string nom, std::string state_name, std::string nomparent)
+AutomationTimeAxisView::AutomationTimeAxisView (Session& s, Route& r, PublicEditor& e, TimeAxisView& rent,
+ ArdourCanvas::Canvas& canvas, const string & nom,
+ const string & state_name, const string & nomparent)
: AxisView (s),
- TimeAxisView (s, e, &rent, p),
+ TimeAxisView (s, e, &rent, canvas),
route (r),
_name (nom),
_state_name (state_name),
auto_play_item = 0;
ignore_state_request = false;
- base_rect = gtk_canvas_item_new (GTK_CANVAS_GROUP(canvas_display),
- gtk_canvas_simplerect_get_type(),
- "x1", 0.0,
- "y1", 0.0,
- "x2", 1000000.0,
- "outline_color_rgba", color_map[cAutomationTrackOutline],
- /* outline ends and bottom */
- "outline_what", (guint32) (0x1|0x2|0x8),
- "fill_color_rgba", color_map[cAutomationTrackFill],
- NULL);
-
- gtk_object_set_data (GTK_OBJECT(base_rect), "trackview", this);
+ // base_rect = gnome_canvas_item_new (GNOME_CANVAS_GROUP(canvas_display),
+ // gnome_canvas_simplerect_get_type(),
+ // "x1", 0.0,
+ // "y1", 0.0,
+ // "x2", 1000000.0,
+ // "outline_color_rgba", color_map[cAutomationTrackOutline],
+ // /* outline ends and bottom */
+ // "outline_what", (guint32) (0x1|0x2|0x8),
+ // "fill_color_rgba", color_map[cAutomationTrackFill],
+ // NULL);
+ base_rect = new SimpleRect(*canvas_display);
+ base_rect->property_x1() = 0.0;
+ base_rect->property_y1() = 0.0;
+ base_rect->property_x2() = 1000000.0;
+ base_rect->property_outline_color_rgba() = color_map[cAutomationTrackOutline];
+ /* outline ends and bottom */
+ base_rect->property_outline_what() = (guint32) (0x1|0x2|0x8);
+ base_rect->property_fill_color_rgba() = color_map[cAutomationTrackFill];
+
+ base_rect->set_data ("trackview", this);
- gtk_signal_connect (GTK_OBJECT(base_rect), "event",
- (GtkSignalFunc) PublicEditor::canvas_automation_track_event,
- this);
+ base_rect->signal_event().connect (bind (mem_fun (editor, &PublicEditor::canvas_automation_track_event),
+ base_rect, this));
- hide_button.add (*(manage (new Pixmap (small_x_xpm))));
+ hide_button.add (*(manage (new Gtk::Image (Gdk::Pixbuf::create_from_xpm_data(small_x_xpm)))));
height_button.set_name ("TrackSizeButton");
auto_button.set_name ("TrackVisualButton");
controls_base_unselected_name = X_("AutomationTrackControlsBase");
controls_ebox.set_name (controls_base_unselected_name);
- controls_frame.set_shadow_type (GTK_SHADOW_ETCHED_OUT);
+ controls_frame.set_shadow_type (Gtk::SHADOW_ETCHED_OUT);
XMLNode* xml_node = get_parent_with_state()->get_child_xml_node (_state_name);
set_state (*xml_node);
controls_table.show_all ();
TimeAxisView::set_height (h);
- gtk_object_set (GTK_OBJECT(base_rect), "y2", (double) h, NULL);
+ base_rect->property_y2() = h;
for (vector<AutomationLine*>::iterator i = lines.begin(); i != lines.end(); ++i) {
(*i)->set_height (h);
as_items.push_back (CheckMenuElem (_("off"),
bind (mem_fun(*this, &AutomationTimeAxisView::set_automation_state), (AutoState) Off)));
- auto_off_item = dynamic_cast<CheckMenuItem*>(as_items.back());
+ auto_off_item = dynamic_cast<CheckMenuItem*>(&as_items.back());
as_items.push_back (CheckMenuElem (_("play"),
bind (mem_fun(*this, &AutomationTimeAxisView::set_automation_state), (AutoState) Play)));
- auto_play_item = dynamic_cast<CheckMenuItem*>(as_items.back());
+ auto_play_item = dynamic_cast<CheckMenuItem*>(&as_items.back());
as_items.push_back (CheckMenuElem (_("write"),
bind (mem_fun(*this, &AutomationTimeAxisView::set_automation_state), (AutoState) Write)));
- auto_write_item = dynamic_cast<CheckMenuItem*>(as_items.back());
+ auto_write_item = dynamic_cast<CheckMenuItem*>(&as_items.back());
as_items.push_back (CheckMenuElem (_("touch"),
bind (mem_fun(*this, &AutomationTimeAxisView::set_automation_state), (AutoState) Touch)));
- auto_touch_item = dynamic_cast<CheckMenuItem*>(as_items.back());
+ auto_touch_item = dynamic_cast<CheckMenuItem*>(&as_items.back());
items.push_back (MenuElem (_("State"), *auto_state_menu));