mostly editor.cc & editor_mouse.cc for Gdk::Cursor, Gnome::Canvas::Item

git-svn-id: svn://localhost/trunk/ardour2@73 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Nick Mainsbridge 2005-10-28 22:19:45 +00:00
parent df065d1414
commit 0e2de804f2
9 changed files with 350 additions and 356 deletions

View file

@ -167,17 +167,17 @@ static GtkTargetEntry target_table[] = {
static guint n_targets = sizeof(target_table) / sizeof(target_table[0]); static guint n_targets = sizeof(target_table) / sizeof(target_table[0]);
GdkCursor* Editor::cross_hair_cursor = 0; Gdk::Cursor* Editor::cross_hair_cursor = 0;
GdkCursor* Editor::selector_cursor = 0; Gdk::Cursor* Editor::selector_cursor = 0;
GdkCursor* Editor::trimmer_cursor = 0; Gdk::Cursor* Editor::trimmer_cursor = 0;
GdkCursor* Editor::grabber_cursor = 0; Gdk::Cursor* Editor::grabber_cursor = 0;
GdkCursor* Editor::zoom_cursor = 0; Gdk::Cursor* Editor::zoom_cursor = 0;
GdkCursor* Editor::time_fx_cursor = 0; Gdk::Cursor* Editor::time_fx_cursor = 0;
GdkCursor* Editor::fader_cursor = 0; Gdk::Cursor* Editor::fader_cursor = 0;
GdkCursor* Editor::speaker_cursor = 0; Gdk::Cursor* Editor::speaker_cursor = 0;
GdkCursor* Editor::null_cursor = 0; Gdk::Cursor* Editor::null_cursor = 0;
GdkCursor* Editor::wait_cursor = 0; Gdk::Cursor* Editor::wait_cursor = 0;
GdkCursor* Editor::timebar_cursor = 0; Gdk::Cursor* Editor::timebar_cursor = 0;
GdkPixmap *Editor::check_pixmap = 0; GdkPixmap *Editor::check_pixmap = 0;
GdkBitmap *Editor::check_mask = 0; GdkBitmap *Editor::check_mask = 0;
@ -548,8 +548,8 @@ Editor::Editor (AudioEngine& eng)
route_list_scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC); route_list_scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
route_list.get_selection()->signal_changed().connect (mem_fun (*this, &Editor::route_display_selection_changed)); route_list.get_selection()->signal_changed().connect (mem_fun (*this, &Editor::route_display_selection_changed));
route_display_model->signal_rows_reordered().connect (mem_fun (*this, &Editor::queue_route_list_reordered)); route_list.rows_reordered.connect (mem_fun (*this, &Editor::queue_route_list_reordered));
route_list.signal_button_press_event().connect (mem_fun(*this, &Editor::route_list_column_click)); route_list.signal_columns_changed().connect (mem_fun(*this, &Editor::route_list_column_click));
edit_group_list_button_label.set_text (_("Edit Groups")); edit_group_list_button_label.set_text (_("Edit Groups"));
edit_group_list_button_label.set_name ("EditGroupTitleButton"); edit_group_list_button_label.set_name ("EditGroupTitleButton");
@ -566,8 +566,8 @@ Editor::Editor (AudioEngine& eng)
/* use checkbox for the active column */ /* use checkbox for the active column */
CellRendererToggle *active_cell = dynamic_cast<CellRendererToggle*>(edit_group_list.get_column_cell_renderer (0)); CellRendererToggle *active_cell = dynamic_cast<CellRendererToggle*>(edit_group_list.get_column_cell_renderer (0));
active_cell->property_activatable() = true; active_cell->set_property ("activatable", true);
active_cell->property_radio() = false; active_cell->set_property ("radio", false);
edit_group_list.set_name ("MixerGroupList"); edit_group_list.set_name ("MixerGroupList");
//edit_group_list.set_shadow_type (Gtk::SHADOW_IN); //edit_group_list.set_shadow_type (Gtk::SHADOW_IN);
@ -642,9 +642,9 @@ Editor::Editor (AudioEngine& eng)
region_list_display.signal_motion_notify_event().connect (mem_fun(*this, &Editor::region_list_display_motion)); region_list_display.signal_motion_notify_event().connect (mem_fun(*this, &Editor::region_list_display_motion));
region_list_display.signal_enter_notify_event().connect (mem_fun(*this, &Editor::region_list_display_enter_notify)); region_list_display.signal_enter_notify_event().connect (mem_fun(*this, &Editor::region_list_display_enter_notify));
region_list_display.signal_leave_notify_event().connect (mem_fun(*this, &Editor::region_list_display_leave_notify)); region_list_display.signal_leave_notify_event().connect (mem_fun(*this, &Editor::region_list_display_leave_notify));
region_list_display.select_row.connect (mem_fun(*this, &Editor::region_list_display_selected)); region_list_display.get_selection()->signal_changed().connect (mem_fun(*this, &Editor::region_list_selection_changed));
region_list_display.unselect_row.connect (mem_fun(*this, &Editor::region_list_display_unselected)); //region_list_display.unselect_row.connect (mem_fun(*this, &Editor::region_list_display_unselected));
region_list_display.click_column.connect (mem_fun(*this, &Editor::region_list_column_click)); region_list_display.signal_columns_changed().connect (mem_fun(*this, &Editor::region_list_column_click));
named_selection_scroller.add (named_selection_display); named_selection_scroller.add (named_selection_display);
named_selection_scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC); named_selection_scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
@ -665,13 +665,13 @@ Editor::Editor (AudioEngine& eng)
canvas_region_list_pane.pack1 (edit_frame, true, true); canvas_region_list_pane.pack1 (edit_frame, true, true);
canvas_region_list_pane.pack2 (region_selection_vpane, true, true); canvas_region_list_pane.pack2 (region_selection_vpane, true, true);
track_list_canvas_pane.signal_size_allocate().connect_after (bind (mem_fun(*this, &Editor::pane_allocation_handler), track_list_canvas_pane.size_allocate.connect_notify (bind (mem_fun(*this, &Editor::pane_allocation_handler),
static_cast<Gtk::Paned*> (&track_list_canvas_pane))); static_cast<Gtk::Paned*> (&track_list_canvas_pane)));
canvas_region_list_pane.signal_size_allocate().connect_after (bind (mem_fun(*this, &Editor::pane_allocation_handler), canvas_region_list_pane.size_allocate.connect_notify (bind (mem_fun(*this, &Editor::pane_allocation_handler),
static_cast<Gtk::Paned*> (&canvas_region_list_pane))); static_cast<Gtk::Paned*> (&canvas_region_list_pane)));
route_group_vpane.signal_size_allocate().connect_after (bind (mem_fun(*this, &Editor::pane_allocation_handler), route_group_vpane.size_allocate.connect_notify (bind (mem_fun(*this, &Editor::pane_allocation_handler),
static_cast<Gtk::Paned*> (&route_group_vpane))); static_cast<Gtk::Paned*> (&route_group_vpane)));
region_selection_vpane.signal_size_allocate().connect_after (bind (mem_fun(*this, &Editor::pane_allocation_handler), region_selection_vpane.size_allocate.connect_notify (bind (mem_fun(*this, &Editor::pane_allocation_handler),
static_cast<Gtk::Paned*> (&region_selection_vpane))); static_cast<Gtk::Paned*> (&region_selection_vpane)));
track_list_canvas_pane.pack1 (list_vpacker, true, true); track_list_canvas_pane.pack1 (list_vpacker, true, true);
@ -733,7 +733,7 @@ Editor::Editor (AudioEngine& eng)
add (vpacker); add (vpacker);
add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK); add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK);
configure_event.connect (mem_fun (*ARDOUR_UI::instance(), &ARDOUR_UI::configure_handler)); signal_configure_event().connect (mem_fun (*ARDOUR_UI::instance(), &ARDOUR_UI::configure_handler));
signal_delete_event().connect (mem_fun (*ARDOUR_UI::instance(), &ARDOUR_UI::exit_on_main_window_close)); signal_delete_event().connect (mem_fun (*ARDOUR_UI::instance(), &ARDOUR_UI::exit_on_main_window_close));
constructed = true; constructed = true;
@ -825,10 +825,10 @@ Editor::initialize_canvas ()
// GNOME_CANVAS(track_canvas)->close_enough = 2; // GNOME_CANVAS(track_canvas)->close_enough = 2;
track_canvas.signal_event().connect (slot (*this, &Editor::track_canvas_event)); track_canvas.signal_event().connect (mem_fun (*this, &Editor::track_canvas_event));
track_canvas.set_name ("EditorMainCanvas"); track_canvas.set_name ("EditorMainCanvas");
track_canvas.add_events (Gdk::POINTER_MOTION_HINT_MASK); track_canvas.add_events (Gdk::POINTER_MOTION_HINT_MASK);
track_canvas.signal_event().connect (slot (*this, &Editor::track_canvas_event)); track_canvas.signal_event().connect (mem_fun (*this, &Editor::track_canvas_event));
track_canvas.signal_leave_notify_event().connect (mem_fun(*this, &Editor::left_track_canvas)); track_canvas.signal_leave_notify_event().connect (mem_fun(*this, &Editor::left_track_canvas));
/* set up drag-n-drop */ /* set up drag-n-drop */
@ -842,168 +842,168 @@ Editor::initialize_canvas ()
Pango::FontDescription font = get_font_for_style (N_("VerboseCanvasCursor")); Pango::FontDescription font = get_font_for_style (N_("VerboseCanvasCursor"));
verbose_canvas_cursor = new Canvas::Text (track_canvas.root()); verbose_canvas_cursor = new Gnome::Canvas::Text (*track_canvas.root());
verbose_canvas_cursor->property_font_descr() << font; verbose_canvas_cursor->set_property ("font_desc", font);
verbose_canvas_cursor->property_anchor() << GTK_ANCHOR_NW; verbose_canvas_cursor->set_property ("anchor", GTK_ANCHOR_NW);
verbose_canvas_cursor->property_fill_color_rgba() << color_map[cVerboseCanvasCursor]; verbose_canvas_cursor->set_property ("fill_color_rgba", color_map[cVerboseCanvasCursor]);
verbose_cursor_visible = false; verbose_cursor_visible = false;
/* a group to hold time (measure) lines */ /* a group to hold time (measure) lines */
time_line_group = new Canvas::Group (track_canvas.root(), 0.0, 0.0); time_line_group = new Gnome::Canvas::Group (*track_canvas.root(), 0.0, 0.0);
cursor_group = new Canvas::Group (track_canvas.root(), 0.0, 0.0); cursor_group = new Gnome::Canvas::Group (*track_canvas.root(), 0.0, 0.0);
time_canvas.set_name ("EditorTimeCanvas"); time_canvas.set_name ("EditorTimeCanvas");
time_canvas.add_events (Gdk::POINTER_MOTION_HINT_MASK); time_canvas.add_events (Gdk::POINTER_MOTION_HINT_MASK);
meter_group = new Canvas::Group (time_canvas.root(), 0.0, 0.0); meter_group = new Gnome::Canvas::Group (*time_canvas.root(), 0.0, 0.0);
tempo_group = new Canvas::Group (time_canvas.root(), 0.0, 0.0); tempo_group = new Gnome::Canvas::Group (*time_canvas.root(), 0.0, 0.0);
marker_group = new Canvas::Group (time_canvas.root(), 0.0, timebar_height * 2.0); marker_group = new Gnome::Canvas::Group (*time_canvas.root(), 0.0, timebar_height * 2.0);
range_marker_group = new Canvas::Group (time_canvas.root(), 0.0, timebar_height * 3.0); range_marker_group = new Gnome::Canvas::Group (*time_canvas.root(), 0.0, timebar_height * 3.0);
transport_marker_group = new Canvas::Group (time_canvas.root(), 0.0, timebar_height * 4.0); transport_marker_group = new Gnome::Canvas::Group (*time_canvas.root(), 0.0, timebar_height * 4.0);
tempo_bar = Canvas::SimpleRect (*tempo_group, 0.0, 0.0, max_canvas_coordinate, timebar_height); tempo_bar = new Gnome::Canvas::SimpleRect (*tempo_group, 0.0, 0.0, max_canvas_coordinate, timebar_height);
tempo_bar->property_fill_color_rgba() << color_map[cTempoBar]; tempo_bar->set_property ("fill_color_rgba", color_map[cTempoBar]);
tempo_bar->property_outline_pixels() << 0; tempo_bar->set_property ("outline_pixels", 0);
meter_bar = Canvas::SimpleRect (*meter_group, 0.0, 0.0, max_canvas_coordinate, timebar_height); meter_bar = new Gnome::Canvas::SimpleRect (*meter_group, 0.0, 0.0, max_canvas_coordinate, timebar_height);
meter_bar->property_fill_color_rgba() << color_map[cMeterBar]; meter_bar->set_property ("fill_color_rgba", color_map[cMeterBar]);
meter_bar->property_outline_pixels() << 0; meter_bar->set_property ("outline_pixels",0);
marker_bar = Canvas::SimpleRect (*marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height); marker_bar = new Gnome::Canvas::SimpleRect (*marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height);
marker_bar->property_fill_color_rgba() << color_map[cMarkerBar]; marker_bar->set_property ("fill_color_rgba", color_map[cMarkerBar]);
marker_bar->property_outline_pixels() << 0; marker_bar->set_property ("outline_pixels", 0);
range_marker_bar = Canvas::SimpleRect (*range_marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height); range_marker_bar = new Gnome::Canvas::SimpleRect (*range_marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height);
range_marker_bar->property_fill_color_rgba() << color_map[cRangeMarkerBar]; range_marker_bar->set_property ("fill_color_rgba", color_map[cRangeMarkerBar]);
range_marker_bar->property_outline_pixels() << 0; range_marker_bar->set_property ("outline_pixels", 0);
transport_marker_bar = Canvas::SimpleRect (*transport_marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height); transport_marker_bar = new Gnome::Canvas::SimpleRect (*transport_marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height);
transport_marker_bar->property_fill_color_rgba() << color_map[cTransportMarkerBar]; transport_marker_bar->set_property ("fill_color_rgba", color_map[cTransportMarkerBar]);
transport_marker_bar->property_outline_pixels() << 0; transport_marker_bar->set_property ("outline_pixels", 0);
range_bar_drag_rect = Canvas::SimpleRect (*range_marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height).gobj(); range_bar_drag_rect = new Gnome::Canvas::SimpleRect (*range_marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height);
range_bar_drag_rect->property_fill_color_rgba() << color_map[cRangeBarDragRectFill]; range_bar_drag_rect->set_property ("fill_color_rgba", color_map[cRangeBarDragRectFill]);
range_bar_drag_rect->property_outline_color_rgba() << color_map[cRangeBarDragRect]; range_bar_drag_rect->set_property ("outline_color_rgba", color_map[cRangeBarDragRect]);
range_bar_drag_rect->property_outline_pixels() << 0; range_bar_drag_rect->set_property ("outline_pixels", 0);
range_bar_drag_rect->hide (); range_bar_drag_rect->hide ();
transport_bar_drag_rect = Canvas::SimpleRect (*transport_marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height); transport_bar_drag_rect = new Gnome::Canvas::SimpleRect (*transport_marker_group, 0.0, 0.0, max_canvas_coordinate, timebar_height);
transport_bar_drag_rect ->property_fill_color_rgba() << color_map[cTransportBarDragRectFill]; transport_bar_drag_rect ->set_property ("fill_color_rgba", color_map[cTransportBarDragRectFill]);
transport_bar_drag_rect->property_outline_color_rgba() << color_map[cTransportBarDragRect]; transport_bar_drag_rect->set_property ("outline_color_rgba", color_map[cTransportBarDragRect]);
transport_bar_drag_rect->property_outline_pixels() << 0; transport_bar_drag_rect->set_property ("outline_pixels", 0);
transport_bar_drag_rect->hide (); transport_bar_drag_rect->hide ();
marker_drag_line_points = new Canvas::Points (2); marker_drag_line_points = new Gnome::Canvas::Points (2);
marker_drag_line_points[0]->set_x (0.0); marker_drag_line_points[0]->set_x (0.0);
marker_drag_line_points[0]->set_y (0.0); marker_drag_line_points[0]->set_y (0.0);
marker_drag_line_points[1]->set_x (0.0); marker_drag_line_points[1]->set_x (0.0);
marker_drag_line_points[1]->set_y (0.0); marker_drag_line_points[1]->set_y (0.0);
marker_drag_line = Canvas::Line (track_canvas.root()); marker_drag_line = new Gnome::Canvas::Line (*track_canvas.root());
marker_drag_line->property_width_pixels() << 1; marker_drag_line->set_property ("width_pixels", 1);
marker_drag_line->property_fill_color_rgba() << color_map[cMarkerDragLine]; marker_drag_line->set_property("fill_color_rgba", color_map[cMarkerDragLine]);
marker_drag_line->property_points() << marker_drag_line_points; marker_drag_line->set_property("points", marker_drag_line_points);
marker_drag_line->hide(); marker_drag_line->hide();
range_marker_drag_rect = new Canvas::SimpleRect (track_canvas.root(), 0.0, 0.0, 0.0, 0.0); range_marker_drag_rect = new Gnome::Canvas::SimpleRect (*track_canvas.root(), 0.0, 0.0, 0.0, 0.0);
range_marker_drag_rect->property_fill_color_rgba() << color_map[cRangeDragRectFill]; range_marker_drag_rect->set_property ("fill_color_rgba", color_map[cRangeDragRectFill]);
range_marker_drag_rect->property_outline_color_rgba() << color_map[cRangeDragRect]; range_marker_drag_rect->set_property ("outline_color_rgba", color_map[cRangeDragRect]);
range_marker_drag_rect->hide (); range_marker_drag_rect->hide ();
transport_loop_range_rect = new Canvas::Simplerect (group.root(), 0.0, 0.0, 0.0, 0.0); transport_loop_range_rect = new Gnome::Canvas::SimpleRect (group.root(), 0.0, 0.0, 0.0, 0.0);
transport_loop_range_rect->property_fill_color_rgba() << color_map[cTransportLoopRectFill]; transport_loop_range_rect->set_property ("fill_color_rgba", color_map[cTransportLoopRectFill]);
transport_loop_range_rect->property_outline_color_rgba() << color_map[cTransportLoopRect]; transport_loop_range_rect->set_property ("outline_color_rgba", color_map[cTransportLoopRect]);
transport_loop_range_rect->property_outline_pixels() << 1; transport_loop_range_rect->set_property ("outline_pixels", 1);
transport_loop_range_rect->hide(); transport_loop_range_rect->hide();
transport_punch_range_rect = new Canvas::Simplerect (group.root(), 0.0, 0.0, 0.0, 0.0); transport_punch_range_rect = new Gnome::Canvas::SimpleRect (group.root(), 0.0, 0.0, 0.0, 0.0);
transport_punch_range_rect->property_fill_color_rgba() << color_map[cTransportPunchRectFill]; transport_punch_range_rect->set_property ("fill_color_rgba", color_map[cTransportPunchRectFill]);
transport_punch_range_rect->property_outline_color_rgba() << color_map[cTransportPunchRect]; transport_punch_range_rect->set_property ("outline_color_rgba", color_map[cTransportPunchRect]);
transport_punch_range_rect->property_outline_pixels() << 0; transport_punch_range_rect->set_property ("outline_pixels", 0);
transport_punch_range_rect->hide(); transport_punch_range_rect->hide();
transport_loop_range_rect->lower_to_bottom (); // loop on the bottom transport_loop_range_rect->lower_to_bottom (); // loop on the bottom
transport_punchin_line = new Canvas::SimpleRect (*time_line_group, 0.0, 0.0, 0.0, 0.0); transport_punchin_line = new Gnome::Canvas::SimpleRect (*time_line_group, 0.0, 0.0, 0.0, 0.0);
transport_punchin_line->property_outline_color_rgba() << color_map[cPunchInLine]; transport_punchin_line->set_property ("outline_color_rgba", color_map[cPunchInLine]);
transport_punchin_line->property_outline_pixels() << 1; transport_punchin_line->set_property ("outline_pixels", 1);
transport_punchin_line->hide (); transport_punchin_line->hide ();
transport_punchout_line = new Canvas::Simplerect (group.root(), 0.0, 0.0, 0.0, 0.0); transport_punchout_line = new Gnome::Canvas::SimpleRect (group.root(), 0.0, 0.0, 0.0, 0.0);
transport_punchout_line->property_outline_color_rgba() << color_map[cPunchOutLine]; transport_punchout_line->set_property ("outline_color_rgba", color_map[cPunchOutLine]);
transport_punchout_line->property_outline_pixels() << 1; transport_punchout_line->set_property ("outline_pixels", 1);
transport_punchout_line->hide(); transport_punchout_line->hide();
// used to show zoom mode active zooming // used to show zoom mode active zooming
zoom_rect = new Canvas::Simplerect (track_canvas.root(), 0.0, 0.0, 0.0, 0.0); zoom_rect = new Gnome::Canvas::SimpleRect (*track_canvas.root(), 0.0, 0.0, 0.0, 0.0);
zoom_rect->property_fill_color_rgba() << color_map[cZoomRectFill]; zoom_rect->set_property ("fill_color_rgba", color_map[cZoomRectFill]);
zoom_rect->property_outline_color_rgba() << color_map[cZoomRect]; zoom_rect->set_property ("outline_color_rgba", color_map[cZoomRect]);
zoom_rect->property_outline_pixels() << 1; zoom_rect->set_property ("outline_pixels", 1);
zoom_rect->hide(); zoom_rect->hide();
zoom_rect.signal_event().connect (slot (*this, &PublicEditor::canvas_zoom_rect_event)); zoom_rect->signal_event().connect (mem_fun (*this, &PublicEditor::canvas_zoom_rect_event));
// used as rubberband rect // used as rubberband rect
rubberband_rect = new Canvas::Simplerect (track_canvas.root(), 0.0, 0.0, 0.0, 0.0); rubberband_rect = new Gnome::Canvas::SimpleRect (*track_canvas.root(), 0.0, 0.0, 0.0, 0.0);
rubberband_rect->property_outline_color_rgba() << color_map[cRubberBandRect]; rubberband_rect->set_property ("outline_color_rgba", color_map[cRubberBandRect]);
rubberband_rect->property_fill_color_rgba() << (guint32) color_map[cRubberBandRectFill]; rubberband_rect->set_property ("fill_color_rgba", (guint32) color_map[cRubberBandRectFill]);
rubberband_rect->property_outline_pixels() << 1; rubberband_rect->set_property ("outline_pixels", 1);
rubberband_rect->hide(); rubberband_rect->hide();
tempo_bar.signal_event().connect (slot (*this, &PublicEditor::canvas_tempo_bar_event)); tempo_bar->signal_event().connect (mem_fun (*this, &PublicEditor::canvas_tempo_bar_event));
meter_bar.signal_event().connect (slot (*this, &PublicEditor::canvas_meter_bar_event)); meter_bar->signal_event().connect (mem_fun (*this, &PublicEditor::canvas_meter_bar_event));
marker_bar.signal_event().connect (slot (*this, &PublicEditor::canvas_marker_bar_event)); marker_bar->signal_event().connect (mem_fun (*this, &PublicEditor::canvas_marker_bar_event));
range_marker_bar.signal_event().connect (slot (*this, &PublicEditor::canvas_range_marker_bar_event)); range_marker_bar->signal_event().connect (mem_fun (*this, &PublicEditor::canvas_range_marker_bar_event));
transport_marker_bar.signal_event().connect (slot (*this, &PublicEditor::canvas_transport_marker_bar_event)); transport_marker_bar->signal_event().connect (mem_fun (*this, &PublicEditor::canvas_transport_marker_bar_event));
/* separator lines */ /* separator lines */
tempo_line_points = new Canvas::Points (2); tempo_line_points = new Gnome::Canvas::Points (2);
tempo_line_points[0]->set_x (0.0); tempo_line_points[0]->set_x (0.0);
tempo_line_points[0]->set_y (timebar_height); tempo_line_points[0]->set_y (timebar_height);
tempo_line_points[1]->set_x (max_canvas_coordinate); tempo_line_points[1]->set_x (max_canvas_coordinate);
tempo_line_points[1]->set_y (timebar_height); tempo_line_points[1]->set_y (timebar_height);
tempo_line = Canvas::Line (*tempo_group, *tempo_line_points); tempo_line = new Gnome::Canvas::Line (*tempo_group, *tempo_line_points);
tempo_line->property_width_pixels() << 0; tempo_line->set_property ("width_pixels", 0);
tempo_line->property_fill_color() << "black"; tempo_line->set_property ("fill_color", black);
meter_line_points = new Canvas::Points (2); meter_line_points = new Gnome::Canvas::Points (2);
meter_line_points[0]->set_x (0); meter_line_points[0]->set_x (0);
meter_line_points[0]->set_y (timebar_height); meter_line_points[0]->set_y (timebar_height);
meter_line_points[1]->set_x (max_canvas_coordinate); meter_line_points[1]->set_x (max_canvas_coordinate);
meter_line_points[1]->set_y (timebar_height); meter_line_points[1]->set_y (timebar_height);
meter_line = Canvas::Line (*meter_group, *meter_line_points); meter_line = new Gnome::Canvas::Line (*meter_group, *meter_line_points);
meter_line->property_width_pixels() << 0; meter_line->set_property ("width_pixels", 0);
meter_line->property_fill_color() << "black"; meter_line->set_property ("fill_color", black);
marker_line_points = Canvas::Points (2); marker_line_points = new Gnome::Canvas::Points (2);
marker_line_points[0]->set_x (0); marker_line_points[0]->set_x (0);
marker_line_points[0]->set_y (timebar_height); marker_line_points[0]->set_y (timebar_height);
marker_line_points[1]->set_x (max_canvas_coordinate); marker_line_points[1]->set_x (max_canvas_coordinate);
marker_line_points[1]->set_y (timebar_height); marker_line_points[1]->set_y (timebar_height);
marker_line = new Canvas::Line (*marker_group, *marker_line_points); marker_line = new Gnome::Canvas::Line (*marker_group, *marker_line_points);
marker_line->property_width_pixels() << 0; marker_line->set_property ("width_pixels", 0);
marker_line->property_fill_color() << "black"; marker_line->set_property ("fill_color", black);
range_marker_line = new Canvas::Line (*range_marker_group, marker_line_points); range_marker_line = new Gnome::Canvas::Line (*range_marker_group, *marker_line_points);
range_marker_line->property_width_pixels() << 0; range_marker_line->set_property ("width_pixels", 0);
range_marker_line->property_fill_color() << "black"; range_marker_line->set_property ("fill_color", black);
transport_marker_line = new Canvas::Line (*transport_marker_group, marker_line_points); transport_marker_line = new Gnome::Canvas::Line (*transport_marker_group, *marker_line_points);
transport_marker_line->property_width_pixels() << 0; transport_marker_line->set_property ("width_pixels", 0);
transport_marker_line->property_fill_color() << "black"; transport_marker_line->set_property ("fill_color", black);
ZoomChanged.connect (bind (mem_fun(*this, &Editor::update_loop_range_view), false)); ZoomChanged.connect (bind (mem_fun(*this, &Editor::update_loop_range_view), false));
ZoomChanged.connect (bind (mem_fun(*this, &Editor::update_punch_range_view), false)); ZoomChanged.connect (bind (mem_fun(*this, &Editor::update_punch_range_view), false));
double time_height = timebar_height * 5; double time_height = timebar_height * 5;
double time_width = FLT_MAX/frames_per_unit; double time_width = FLT_MAX/frames_per_unit;
gnome_canvas_set_scroll_region (GNOME_CANVAS(time_canvas), 0.0, 0.0, time_width, time_height); time_canvas.set_scroll_region(0.0, 0.0, time_width, time_height);
edit_cursor = new Cursor (*this, "blue", (GtkSignalFunc) _canvas_edit_cursor_event); edit_cursor = new Cursor (*this, "blue", (GtkSignalFunc) _canvas_edit_cursor_event);
playhead_cursor = new Cursor (*this, "red", (GtkSignalFunc) _canvas_playhead_cursor_event); playhead_cursor = new Cursor (*this, "red", (GtkSignalFunc) _canvas_playhead_cursor_event);
@ -1211,17 +1211,17 @@ Editor::on_realize ()
/* Even though we're not using acceleration, we want the /* Even though we're not using acceleration, we want the
labels to show up. labels to show up.
*/ */
Glib::RefPtr<Gdk::Pixmap> empty_pixmap = Gdk::Pixmap::create(get_window(), 1, 1, 1);
Glib::RefPtr<Gdk::Pixmap> empty_bitmap = Gdk::Pixmap::create(get_window(), 1, 1, 1);
track_context_menu.accelerate (*this->get_toplevel()); track_context_menu.accelerate (*this->get_toplevel());
track_region_context_menu.accelerate (*this->get_toplevel()); track_region_context_menu.accelerate (*this->get_toplevel());
Window::on_realize (); Window::on_realize ();
GdkPixmap* empty_pixmap = gdk_pixmap_new (get_window()->gobj(), 1, 1, 1); Gdk::Color white ("#ffffff" );
GdkPixmap* empty_bitmap = gdk_pixmap_new (get_window()->gobj(), 1, 1, 1); null_cursor = new Gdk::Cursor(empty_pixmap, empty_bitmap, white, white, 0, 0);
GdkColor white = { 0, 0, 0 };
null_cursor = gdk_cursor_new_from_pixmap (empty_pixmap, empty_bitmap, &white, &white, 0, 0);
} }
void void
@ -1229,8 +1229,8 @@ Editor::on_map ()
{ {
Window::on_map (); Window::on_map ();
track_canvas_scroller.get_window()->set_cursor (current_canvas_cursor); track_canvas_scroller.get_window()->set_cursor (*current_canvas_cursor);
time_canvas_scroller.get_window()->set_cursor (timebar_cursor); time_canvas_scroller.get_window()->set_cursor (*timebar_cursor);
} }
void void
@ -1290,11 +1290,8 @@ Editor::track_canvas_allocate (GtkAllocation *alloc)
} else { } else {
/* center it */ /* center it */
first_action_message->set_property ("x", (gdouble) (canvas_width - pixel_width) / 2.0),
gnome_canvas_item_set (first_action_message, first_action_message->set_property ("y", (gdouble) (canvas_height/2.0) - (2.0 * (pixel_height)));
"x", (gdouble) (canvas_width - pixel_width) / 2.0,
"y", (gdouble) (canvas_height/2.0) - (2.0 * (pixel_height)),
NULL);
} }
} }
@ -1353,15 +1350,12 @@ Editor::reset_scrolling_region (GtkAllocation *alloc)
canvas_alloc_height = alloc->height; canvas_alloc_height = alloc->height;
canvas_alloc_width = alloc->width; canvas_alloc_width = alloc->width;
} else { } else {
canvas_alloc_height = track_canvas->allocation.height; canvas_alloc_height = track_canvas.get_height();
canvas_alloc_width = track_canvas->allocation.width; canvas_alloc_width = track_canvas.get_width();
} }
canvas_height = max (canvas_height, canvas_alloc_height); canvas_height = max (canvas_height, canvas_alloc_height);
track_canvas.set_scroll_region ( 0.0, 0.0, max (last_canvas_unit, canvas_alloc_width), canvas_height);
gnome_canvas_set_scroll_region (GNOME_CANVAS(track_canvas), 0.0, 0.0,
max (last_canvas_unit, canvas_alloc_width),
canvas_height);
if (edit_cursor) edit_cursor->set_length (canvas_alloc_height); if (edit_cursor) edit_cursor->set_length (canvas_alloc_height);
if (playhead_cursor) playhead_cursor->set_length (canvas_alloc_height); if (playhead_cursor) playhead_cursor->set_length (canvas_alloc_height);
@ -1369,25 +1363,29 @@ Editor::reset_scrolling_region (GtkAllocation *alloc)
if (marker_drag_line) { if (marker_drag_line) {
marker_drag_line_points->coords[3] = canvas_height; marker_drag_line_points->coords[3] = canvas_height;
// cerr << "set mlA points, nc = " << marker_drag_line_points->num_points << endl; // cerr << "set mlA points, nc = " << marker_drag_line_points->num_points << endl;
gnome_canvas_item_set (marker_drag_line, "points", marker_drag_line_points, NULL); marker_drag_line->set_property("points", marker_drag_line_points);
} }
if (range_marker_drag_rect) { if (range_marker_drag_rect) {
gnome_canvas_item_set (range_marker_drag_rect, "y1", 0.0, "y2", (double) canvas_height, NULL); range_marker_drag_rect->set_property("y1", 0.0);
range_marker_drag_rect->set_property("y2", (double) canvas_height);
} }
if (transport_loop_range_rect) { if (transport_loop_range_rect) {
gnome_canvas_item_set (transport_loop_range_rect, "y1", 0.0, "y2", (double) canvas_height, NULL); transport_loop_range_rect->set_property("y1", 0.0);
transport_loop_range_rect->set_property("y2", (double) canvas_height);
} }
if (transport_punch_range_rect) { if (transport_punch_range_rect) {
gnome_canvas_item_set (transport_punch_range_rect, "y1", 0.0, "y2", (double) canvas_height, NULL); transport_punch_range_rect->set_property("y1", 0.0);
transport_punch_range_rect->set_property("y2", (double) canvas_height);
} }
if (transport_punchin_line) { if (transport_punchin_line) {
gnome_canvas_item_set (transport_punchin_line, "y1", 0.0, "y2", (double) canvas_height, NULL); transport_punchin_line->set_property("y1", 0.0);
transport_punchin_line->set_property("y2", (double) canvas_height);
} }
if (transport_punchout_line) { if (transport_punchout_line) {
gnome_canvas_item_set (transport_punchout_line, "y1", 0.0, "y2", (double) canvas_height, NULL); transport_punchout_line->set_property("y1", 0.0);
transport_punchout_line->set_property("y2", (double) canvas_height);
} }
update_fixed_rulers (); update_fixed_rulers ();
if (is_visible() && first_time) { if (is_visible() && first_time) {
@ -1560,7 +1558,7 @@ Editor::connect_to_session (Session *t)
session = t; session = t;
if (first_action_message) { if (first_action_message) {
gnome_canvas_item_hide (first_action_message); first_action_message->hide();
} }
flush_track_canvas(); flush_track_canvas();
@ -1607,11 +1605,11 @@ Editor::connect_to_session (Session *t)
switch (session->get_edit_mode()) { switch (session->get_edit_mode()) {
case Splice: case Splice:
edit_mode_selector.get_entry()->set_text (edit_mode_strings[splice_index]); edit_mode_selector.set_active_text (edit_mode_strings[splice_index]);
break; break;
case Slide: case Slide:
edit_mode_selector.get_entry()->set_text (edit_mode_strings[slide_index]); edit_mode_selector.set_active_text (edit_mode_strings[slide_index]);
break; break;
} }
@ -1661,13 +1659,13 @@ Editor::connect_to_session (Session *t)
redisplay_regions (); redisplay_regions ();
redisplay_named_selections (); redisplay_named_selections ();
route_list.freeze (); //route_list.freeze (); GTK2FIX
route_display_model.clear (); route_display_model.clear ();
session->foreach_route (this, &Editor::handle_new_route); session->foreach_route (this, &Editor::handle_new_route);
// route_list.select_all (); // route_list.select_all ();
route_list.sort (); route_list.sort ();
route_list_reordered (); route_list_reordered ();
route_list.thaw (); //route_list.thaw ();
if (embed_audio_item) { if (embed_audio_item) {
embed_audio_item->set_sensitive (true); embed_audio_item->set_sensitive (true);
@ -1730,55 +1728,54 @@ Editor::connect_to_session (Session *t)
void void
Editor::build_cursors () Editor::build_cursors ()
{ {
GdkPixmap *source, *mask; Glib::RefPtr <Gdk::Pixmap> source, mask;
GdkColor fg = { 0, 65535, 0, 0 }; /* Red. */ Gdk::Color fg ("#ff0000"); /* Red. */
GdkColor bg = { 0, 0, 0, 65535 }; /* Blue. */ Gdk::Color bg ("#0000ff"); /* Blue. */
source = gdk_bitmap_create_from_data (NULL, hand_bits, Gdk::Pixmap::create_from_data (source, hand_bits,
hand_width, hand_height); hand_width, hand_height, 1, fg, bg);
mask = gdk_bitmap_create_from_data (NULL, handmask_bits, Gdk::Pixmap::create_from_data(mask, handmask_bits,
handmask_width, handmask_height); handmask_width, handmask_height, 1, fg, bg);
grabber_cursor = gdk_cursor_new_from_pixmap (source, mask, &fg, &bg, hand_x_hot, hand_y_hot); grabber_cursor = new Gdk::Cursor (source, mask, fg, bg, hand_x_hot, hand_y_hot);
gdk_pixmap_unref (source); source->unreference();
gdk_pixmap_unref (mask); mask->unreference();
Gdk::Color mbg ("#000000" ); /* Black */
Gdk::Color mfg ("#0000ff" ); /* Blue. */
GdkColor mbg = { 0, 0, 0, 0 }; /* Black */ Gdk::Pixmap::create_from_data (source, mag_bits,
GdkColor mfg = { 0, 0, 0, 65535 }; /* Blue. */ mag_width, mag_height, 1, fg, bg);
Gdk::Pixmap::create_from_data (mask, magmask_bits,
mag_width, mag_height, 1, fg, bg);
zoom_cursor = new Gdk::Cursor (source, mask, mfg, mbg, mag_x_hot, mag_y_hot);
source->unreference();
mask->unreference();
source = gdk_bitmap_create_from_data (NULL, mag_bits, Gdk::Color fbg ("#ffffff" );
mag_width, mag_height); Gdk::Color ffg ("#000000" );
mask = gdk_bitmap_create_from_data (NULL, magmask_bits,
mag_width, mag_height);
zoom_cursor = gdk_cursor_new_from_pixmap (source, mask, &mfg, &mbg, mag_x_hot, mag_y_hot);
gdk_pixmap_unref (source);
gdk_pixmap_unref (mask);
GdkColor fbg = { 0, 65535, 65535, 65535 }; Gdk::Pixmap::create_from_data (source, fader_cursor_bits,
GdkColor ffg = { 0, 0, 0, 0 }; fader_cursor_width, fader_cursor_height, 1, fg, bg);
Gdk::Pixmap::create_from_data (mask, fader_cursor_mask_bits,
fader_cursor_width, fader_cursor_height, 1, fg, bg);
fader_cursor = new Gdk::Cursor (source, mask, ffg, fbg, fader_cursor_x_hot, fader_cursor_y_hot);
source->unreference();
mask->unreference();
source = gdk_bitmap_create_from_data (NULL, fader_cursor_bits, Gdk::Pixmap::create_from_data (source,speaker_cursor_bits,
fader_cursor_width, fader_cursor_height); speaker_cursor_width, speaker_cursor_height, 1, fg, bg);
mask = gdk_bitmap_create_from_data (NULL, fader_cursor_mask_bits, Gdk::Pixmap::create_from_data (mask, speaker_cursor_mask_bits,
fader_cursor_width, fader_cursor_height); speaker_cursor_width, speaker_cursor_height, 1, fg, bg);
fader_cursor = gdk_cursor_new_from_pixmap (source, mask, &ffg, &fbg, fader_cursor_x_hot, fader_cursor_y_hot); speaker_cursor = new Gdk::Cursor (source, mask, ffg, fbg, speaker_cursor_x_hot, speaker_cursor_y_hot);
gdk_pixmap_unref (source); source->unreference();
gdk_pixmap_unref (mask); mask->unreference();
source = gdk_bitmap_create_from_data (NULL, speaker_cursor_bits, cross_hair_cursor = new Gdk::Cursor (Gdk::CROSSHAIR);
speaker_cursor_width, speaker_cursor_height); trimmer_cursor = new Gdk::Cursor (Gdk::SB_H_DOUBLE_ARROW);
mask = gdk_bitmap_create_from_data (NULL, speaker_cursor_mask_bits, selector_cursor = new Gdk::Cursor (Gdk::XTERM);
speaker_cursor_width, speaker_cursor_height); time_fx_cursor = new Gdk::Cursor (Gdk::SIZING);
speaker_cursor = gdk_cursor_new_from_pixmap (source, mask, &ffg, &fbg, speaker_cursor_x_hot, speaker_cursor_y_hot); wait_cursor = new Gdk::Cursor (Gdk::WATCH);
gdk_pixmap_unref (source); timebar_cursor = new Gdk::Cursor(Gdk::LEFT_PTR);
gdk_pixmap_unref (mask);
cross_hair_cursor = gdk_cursor_new (GDK_CROSSHAIR);
trimmer_cursor = gdk_cursor_new (GDK_SB_H_DOUBLE_ARROW);
selector_cursor = gdk_cursor_new (GDK_XTERM);
time_fx_cursor = gdk_cursor_new (GDK_SIZING);
wait_cursor = gdk_cursor_new (GDK_WATCH);
timebar_cursor = gdk_cursor_new (GDK_LEFT_PTR);
} }
void void
@ -2420,7 +2417,7 @@ Editor::set_snap_to (SnapType st)
{ {
snap_type = st; snap_type = st;
vector<string> txt = internationalize (snap_type_strings); vector<string> txt = internationalize (snap_type_strings);
snap_type_selector.get_entry()->set_text (txt[(int)st]); snap_type_selector.set_active_text (txt[(int)st]);
instant_save (); instant_save ();
@ -2442,7 +2439,7 @@ Editor::set_snap_mode (SnapMode mode)
{ {
snap_mode = mode; snap_mode = mode;
vector<string> txt = internationalize (snap_mode_strings); vector<string> txt = internationalize (snap_mode_strings);
snap_mode_selector.get_entry()->set_text (txt[(int)mode]); snap_mode_selector.set_active_text (txt[(int)mode]);
instant_save (); instant_save ();
} }
@ -2511,7 +2508,7 @@ Editor::set_state (const XMLNode& node)
} }
set_default_size(width, height); set_default_size(width, height);
set_uposition(x, y-yoff); set_position(x, y-yoff);
if ((prop = node.property ("zoom-focus"))) { if ((prop = node.property ("zoom-focus"))) {
set_zoom_focus ((ZoomFocus) atoi (prop->value())); set_zoom_focus ((ZoomFocus) atoi (prop->value()));
@ -2587,12 +2584,12 @@ Editor::get_state ()
char buf[32]; char buf[32];
if (is_realized()) { if (is_realized()) {
Gdk_Window win = get_window(); Glib::RefPtr<Gdk::Window> win = get_window();
int x, y, xoff, yoff, width, height; int x, y, xoff, yoff, width, height;
win.get_root_origin(x, y); win->get_root_origin(x, y);
win.get_position(xoff, yoff); win->get_position(xoff, yoff);
win.get_size(width, height); win->get_size(width, height);
XMLNode* geometry = new XMLNode ("geometry"); XMLNode* geometry = new XMLNode ("geometry");
char buf[32]; char buf[32];
@ -2876,7 +2873,7 @@ Editor::snap_to (jack_nframes_t& start, int32_t direction, bool for_mark)
void void
Editor::setup_toolbar () Editor::setup_toolbar ()
{ {
nstring pixmap_path; string pixmap_path;
vector<ToggleButton *> mouse_mode_buttons; vector<ToggleButton *> mouse_mode_buttons;
mouse_mode_buttons.push_back (&mouse_move_button); mouse_mode_buttons.push_back (&mouse_move_button);
@ -2955,29 +2952,24 @@ Editor::setup_toolbar ()
edit_mode_label.set_name ("ToolBarLabel"); edit_mode_label.set_name ("ToolBarLabel");
edit_mode_selector.set_name ("EditModeSelector"); edit_mode_selector.set_name ("EditModeSelector");
edit_mode_selector.get_entry()->set_name ("EditModeSelector");
edit_mode_selector.get_popwin()->set_name ("EditModeSelector");
edit_mode_box.set_spacing (3); edit_mode_box.set_spacing (3);
edit_mode_box.set_border_width (3); edit_mode_box.set_border_width (3);
/* XXX another disgusting hack because of the way combo boxes size themselves */ /* XXX another disgusting hack because of the way combo boxes size themselves */
Gtkmm2ext::set_size_request_to_display_given_text (*edit_mode_selector.get_entry(), "EdgtMode", 2, 10); Gtkmm2ext::set_size_request_to_display_given_text (edit_mode_selector, "EdgtMode", 2, 10);
set_popdown_string (edit_mode_selector, internationalize (edit_mode_strings)); set_popdown_strings (edit_mode_selector, internationalize (edit_mode_strings));
edit_mode_box.pack_start (edit_mode_label, false, false); edit_mode_box.pack_start (edit_mode_label, false, false);
edit_mode_box.pack_start (edit_mode_selector, false, false); edit_mode_box.pack_start (edit_mode_selector, false, false);
edit_mode_selector.get_popwin()->signal_unmap_event().connect (mem_fun(*this, &Editor::edit_mode_selection_done)); edit_mode_selector.signal_unmap_event().connect (mem_fun(*this, &Editor::edit_mode_selection_done));
/* Snap Type */ /* Snap Type */
snap_type_label.set_name ("ToolBarLabel"); snap_type_label.set_name ("ToolBarLabel");
snap_type_selector.set_name ("SnapTypeSelector"); snap_type_selector.set_name ("SnapTypeSelector");
snap_type_selector.get_entry()->set_name ("SnapTypeSelector");
snap_type_selector.get_popwin()->set_name ("SnapTypeSelector");
snap_type_box.set_spacing (3); snap_type_box.set_spacing (3);
snap_type_box.set_border_width (3); snap_type_box.set_border_width (3);
@ -2985,53 +2977,49 @@ Editor::setup_toolbar ()
/* XXX another disgusting hack because of the way combo boxes size themselves */ /* XXX another disgusting hack because of the way combo boxes size themselves */
const guint32 FUDGE = 10; // Combo's are stupid - they steal space from the entry for the button const guint32 FUDGE = 10; // Combo's are stupid - they steal space from the entry for the button
Gtkmm2ext::set_size_request_to_display_given_text (*snap_type_selector.get_entry(), "Region bounds", 2+FUDGE, 10); Gtkmm2ext::set_size_request_to_display_given_text (snap_type_selector, "Region bounds", 2+FUDGE, 10);
set_popdown_strings (snap_type_selector, internationalize (snap_type_strings)); set_popdown_strings (snap_type_selector, internationalize (snap_type_strings));
snap_type_box.pack_start (snap_type_label, false, false); snap_type_box.pack_start (snap_type_label, false, false);
snap_type_box.pack_start (snap_type_selector, false, false); snap_type_box.pack_start (snap_type_selector, false, false);
snap_type_selector.get_popwin()->signal_unmap_event().connect (mem_fun(*this, &Editor::snap_type_selection_done)); snap_type_selector.signal_unmap_event().connect (mem_fun(*this, &Editor::snap_type_selection_done));
/* Snap mode, not snap type */ /* Snap mode, not snap type */
snap_mode_label.set_name ("ToolBarLabel"); snap_mode_label.set_name ("ToolBarLabel");
snap_mode_selector.set_name ("SnapModeSelector"); snap_mode_selector.set_name ("SnapModeSelector");
snap_mode_selector.get_entry()->set_name ("SnapModeSelector");
snap_mode_selector.get_popwin()->set_name ("SnapModeSelector");
snap_mode_box.set_spacing (3); snap_mode_box.set_spacing (3);
snap_mode_box.set_border_width (3); snap_mode_box.set_border_width (3);
Gtkmm2ext::set_size_request_to_display_given_text (*snap_mode_selector.get_entry(), "SngpMode", 2, 10); Gtkmm2ext::set_size_request_to_display_given_text (snap_mode_selector, "SngpMode", 2, 10);
set_popdown_strings (snap_mode_selector, internationalize (snap_mode_strings)); set_popdown_strings (snap_mode_selector, internationalize (snap_mode_strings));
snap_mode_box.pack_start (snap_mode_label, false, false); snap_mode_box.pack_start (snap_mode_label, false, false);
snap_mode_box.pack_start (snap_mode_selector, false, false); snap_mode_box.pack_start (snap_mode_selector, false, false);
snap_mode_selector.get_popwin()->signal_unmap_event().connect (mem_fun(*this, &Editor::snap_mode_selection_done)); snap_mode_selector.signal_unmap_event().connect (mem_fun(*this, &Editor::snap_mode_selection_done));
/* Zoom focus mode */ /* Zoom focus mode */
zoom_focus_label.set_name ("ToolBarLabel"); zoom_focus_label.set_name ("ToolBarLabel");
zoom_focus_selector.set_name ("ZoomFocusSelector"); zoom_focus_selector.set_name ("ZoomFocusSelector");
zoom_focus_selector.get_entry()->set_name ("ZoomFocusSelector");
zoom_focus_selector.get_popwin()->set_name ("ZoomFocusSelector");
zoom_focus_box.set_spacing (3); zoom_focus_box.set_spacing (3);
zoom_focus_box.set_border_width (3); zoom_focus_box.set_border_width (3);
/* XXX another disgusting hack because of the way combo boxes size themselves */ /* XXX another disgusting hack because of the way combo boxes size themselves */
Gtkmm2ext::set_size_request_to_display_given_text (*zoom_focus_selector.get_entry(), "Edgt Cursor", 2, 10); Gtkmm2ext::set_size_request_to_display_given_text (zoom_focus_selector, "Edgt Cursor", 2, 10);
set_popdown_strings (zoom_focus_selector, internationalize (zoom_focus_strings)); set_popdown_strings (zoom_focus_selector, internationalize (zoom_focus_strings));
zoom_focus_box.pack_start (zoom_focus_label, false, false); zoom_focus_box.pack_start (zoom_focus_label, false, false);
zoom_focus_box.pack_start (zoom_focus_selector, false, false); zoom_focus_box.pack_start (zoom_focus_selector, false, false);
zoom_focus_selector.get_popwin()->signal_unmap_event().connect (mem_fun(*this, &Editor::zoom_focus_selection_done)); zoom_focus_selector.signal_unmap_event().connect (mem_fun(*this, &Editor::zoom_focus_selection_done));
/* selection/cursor clocks */ /* selection/cursor clocks */
@ -3308,7 +3296,7 @@ Editor::track_canvas_drag_data_received (GdkDragContext *context,
double wx; double wx;
double wy; double wy;
gnome_canvas_window_to_world (GNOME_CANVAS(track_canvas), (double) x, (double) y, &wx, &wy); track_canvas.c2w( x, y, wx, wy);
ev.type = GDK_BUTTON_RELEASE; ev.type = GDK_BUTTON_RELEASE;
ev.button.x = wx; ev.button.x = wx;
@ -3867,15 +3855,15 @@ Editor::duplicate_dialog (bool dup_region)
void void
Editor::show_verbose_canvas_cursor () Editor::show_verbose_canvas_cursor ()
{ {
gnome_canvas_item_raise_to_top (verbose_canvas_cursor); verbose_canvas_cursor->raise_to_top();
gnome_canvas_item_show (verbose_canvas_cursor); verbose_canvas_cursor->show();
verbose_cursor_visible = true; verbose_cursor_visible = true;
} }
void void
Editor::hide_verbose_canvas_cursor () Editor::hide_verbose_canvas_cursor ()
{ {
gnome_canvas_item_hide (verbose_canvas_cursor); verbose_canvas_cursor->hide();
verbose_cursor_visible = false; verbose_cursor_visible = false;
} }
@ -3885,13 +3873,15 @@ Editor::set_verbose_canvas_cursor (string txt, double x, double y)
/* XXX get origin of canvas relative to root window, /* XXX get origin of canvas relative to root window,
add x and y and check compared to gdk_screen_{width,height} add x and y and check compared to gdk_screen_{width,height}
*/ */
gnome_canvas_item_set (verbose_canvas_cursor, "text", txt.c_str(), "x", x, "y", y, NULL); verbose_canvas_cursor->set_property("text", txt.c_str());
verbose_canvas_cursor->set_property("x", x);
verbose_canvas_cursor->set_property("y", y);
} }
void void
Editor::set_verbose_canvas_cursor_text (string txt) Editor::set_verbose_canvas_cursor_text (string txt)
{ {
gnome_canvas_item_set (verbose_canvas_cursor, "text", txt.c_str(), NULL); verbose_canvas_cursor->set_property("text", txt.c_str());
} }
gint gint
@ -3901,7 +3891,7 @@ Editor::edit_mode_selection_done (GdkEventAny *ev)
return FALSE; return FALSE;
} }
string choice = edit_mode_selector.get_entry()->get_text(); string choice = edit_mode_selector.get_active_text();
EditMode mode = Slide; EditMode mode = Slide;
if (choice == _("Splice")) { if (choice == _("Splice")) {
@ -3922,7 +3912,7 @@ Editor::snap_type_selection_done (GdkEventAny *ev)
return FALSE; return FALSE;
} }
string choice = snap_type_selector.get_entry()->get_text(); string choice = snap_type_selector.get_active_text();
SnapType snaptype = SnapToFrame; SnapType snaptype = SnapToFrame;
if (choice == _("Beats/3")) { if (choice == _("Beats/3")) {
@ -3977,7 +3967,7 @@ Editor::snap_mode_selection_done (GdkEventAny *ev)
{ {
if(session == 0) return FALSE; if(session == 0) return FALSE;
string choice = snap_mode_selector.get_entry()->get_text(); string choice = snap_mode_selector.get_active_text();
SnapMode mode = SnapNormal; SnapMode mode = SnapNormal;
if (choice == _("Normal")) { if (choice == _("Normal")) {
@ -3998,7 +3988,7 @@ Editor::zoom_focus_selection_done (GdkEventAny *ev)
return FALSE; return FALSE;
} }
string choice = zoom_focus_selector.get_entry()->get_text(); string choice = zoom_focus_selector.get_active_text();
ZoomFocus focus_type = ZoomFocusLeft; ZoomFocus focus_type = ZoomFocusLeft;
if (choice == _("Left")) { if (choice == _("Left")) {
@ -4166,7 +4156,7 @@ Editor::set_zoom_focus (ZoomFocus f)
if (zoom_focus != f) { if (zoom_focus != f) {
zoom_focus = f; zoom_focus = f;
vector<string> txt = internationalize (zoom_focus_strings); vector<string> txt = internationalize (zoom_focus_strings);
zoom_focus_selector.get_entry()->set_text (txt[(int)f]); zoom_focus_selector.set_active_text (txt[(int)f]);
ZoomFocusChanged (); /* EMIT_SIGNAL */ ZoomFocusChanged (); /* EMIT_SIGNAL */
instant_save (); instant_save ();

View file

@ -477,7 +477,7 @@ class Editor : public PublicEditor
Gtk::VBox global_vpacker; Gtk::VBox global_vpacker;
Gtk::VBox vpacker; Gtk::VBox vpacker;
GdkCursor *current_canvas_cursor; Gdk::Cursor* current_canvas_cursor;
Gnome::Canvas::CanvasAA track_canvas; Gnome::Canvas::CanvasAA track_canvas;
Gnome::Canvas::CanvasAA time_canvas; Gnome::Canvas::CanvasAA time_canvas;
@ -798,17 +798,17 @@ class Editor : public PublicEditor
TrackViewList track_views; TrackViewList track_views;
TimeAxisView *trackview_by_y_position (double ypos); TimeAxisView *trackview_by_y_position (double ypos);
static GdkCursor* cross_hair_cursor; static Gdk::Cursor* cross_hair_cursor;
static GdkCursor* trimmer_cursor; static Gdk::Cursor* trimmer_cursor;
static GdkCursor* selector_cursor; static Gdk::Cursor* selector_cursor;
static GdkCursor* grabber_cursor; static Gdk::Cursor* grabber_cursor;
static GdkCursor* zoom_cursor; static Gdk::Cursor* zoom_cursor;
static GdkCursor* time_fx_cursor; static Gdk::Cursor* time_fx_cursor;
static GdkCursor* fader_cursor; static Gdk::Cursor* fader_cursor;
static GdkCursor* speaker_cursor; static Gdk::Cursor* speaker_cursor;
static GdkCursor* null_cursor; static Gdk::Cursor* null_cursor;
static GdkCursor* wait_cursor; static Gdk::Cursor* wait_cursor;
static GdkCursor* timebar_cursor; static Gdk::Cursor* timebar_cursor;
static void build_cursors (); static void build_cursors ();
@ -1089,7 +1089,7 @@ class Editor : public PublicEditor
LineDragInfo current_line_drag_info; LineDragInfo current_line_drag_info;
void start_grab (GdkEvent*, GdkCursor* cursor = 0); void start_grab (GdkEvent*, Gdk::Cursor* cursor = 0);
bool end_grab (GnomeCanvasItem*, GdkEvent*); bool end_grab (GnomeCanvasItem*, GdkEvent*);
Gtk::Menu fade_context_menu; Gtk::Menu fade_context_menu;
@ -1266,7 +1266,7 @@ class Editor : public PublicEditor
TimeLineList free_measure_lines; TimeLineList free_measure_lines;
TimeLineList used_measure_lines; TimeLineList used_measure_lines;
GnomeCanvasItem* time_line_group; Gnome::Canvas::Group* time_line_group;
GnomeCanvasItem* get_time_line (); GnomeCanvasItem* get_time_line ();
void hide_measures (); void hide_measures ();
void draw_measures (); void draw_measures ();
@ -1454,21 +1454,21 @@ class Editor : public PublicEditor
void end_range_markerbar_op (GnomeCanvasItem* item, GdkEvent* event); void end_range_markerbar_op (GnomeCanvasItem* item, GdkEvent* event);
GnomeCanvasItem *range_bar_drag_rect; Gnome::Canvas::Item *range_bar_drag_rect;
GnomeCanvasItem *transport_bar_drag_rect; Gnome::Canvas::Item *transport_bar_drag_rect;
GnomeCanvasItem *marker_drag_line; Gnome::Canvas::Item *marker_drag_line;
GnomeCanvasPoints *marker_drag_line_points; Gnome::Canvas::Points *marker_drag_line_points;
GnomeCanvasItem *range_marker_drag_rect; Gnome::Canvas::Item *range_marker_drag_rect;
void update_marker_drag_item (ARDOUR::Location *); void update_marker_drag_item (ARDOUR::Location *);
GnomeCanvasItem *transport_bar_range_rect; GnomeCanvasItem *transport_bar_range_rect;
GnomeCanvasItem *transport_bar_preroll_rect; GnomeCanvasItem *transport_bar_preroll_rect;
GnomeCanvasItem *transport_bar_postroll_rect; GnomeCanvasItem *transport_bar_postroll_rect;
GnomeCanvasItem *transport_loop_range_rect; Gnome::Canvas::Item *transport_loop_range_rect;
GnomeCanvasItem *transport_punch_range_rect; Gnome::Canvas::Item *transport_punch_range_rect;
GnomeCanvasItem *transport_punchin_line; Gnome::Canvas::Item *transport_punchin_line;
GnomeCanvasItem *transport_punchout_line; Gnome::Canvas::Item *transport_punchout_line;
GnomeCanvasItem *transport_preroll_rect; GnomeCanvasItem *transport_preroll_rect;
GnomeCanvasItem *transport_postroll_rect; GnomeCanvasItem *transport_postroll_rect;
@ -1485,7 +1485,7 @@ class Editor : public PublicEditor
bool select_all_within (jack_nframes_t start, jack_nframes_t end, gdouble topy, gdouble boty, bool add); bool select_all_within (jack_nframes_t start, jack_nframes_t end, gdouble topy, gdouble boty, bool add);
GnomeCanvasItem *rubberband_rect; Gnome::Canvas::Item *rubberband_rect;
/* mouse zoom process */ /* mouse zoom process */
@ -1493,7 +1493,7 @@ class Editor : public PublicEditor
void drag_mouse_zoom (GnomeCanvasItem* item, GdkEvent* event); void drag_mouse_zoom (GnomeCanvasItem* item, GdkEvent* event);
void end_mouse_zoom (GnomeCanvasItem* item, GdkEvent* event); void end_mouse_zoom (GnomeCanvasItem* item, GdkEvent* event);
GnomeCanvasItem *zoom_rect; Gnome::Canvas::Item *zoom_rect;
void reposition_zoom_rect (jack_nframes_t start, jack_nframes_t end); void reposition_zoom_rect (jack_nframes_t start, jack_nframes_t end);
/* diskstream/route display management */ /* diskstream/route display management */

View file

@ -49,8 +49,7 @@ Editor::kbd_driver (sigc::slot<void,GdkEvent*> theslot, bool use_track_canvas, b
selection->set (entered_regionview); selection->set (entered_regionview);
} }
gnome_canvas_window_to_world (GNOME_CANVAS(track_canvas), x, y, &dx, &dy); track_canvas.c2w(x, y, dx, dy);
ev.type = GDK_BUTTON_PRESS; ev.type = GDK_BUTTON_PRESS;
ev.button.x = dx; ev.button.x = dx;
ev.button.y = dy; ev.button.y = dy;

View file

@ -778,8 +778,8 @@ gint
Editor::new_transport_marker_menu_popdown (GdkEventAny *ev) Editor::new_transport_marker_menu_popdown (GdkEventAny *ev)
{ {
// hide rects // hide rects
gnome_canvas_item_hide (transport_bar_drag_rect); transport_bar_drag_rect->hide();
gnome_canvas_item_hide (range_marker_drag_rect); range_marker_drag_rect->hide();
return FALSE; return FALSE;
} }
@ -849,14 +849,15 @@ Editor::update_loop_range_view (bool visibility)
double x1 = frame_to_pixel (tll->start()); double x1 = frame_to_pixel (tll->start());
double x2 = frame_to_pixel (tll->end()); double x2 = frame_to_pixel (tll->end());
gnome_canvas_item_set (transport_loop_range_rect, "x1", x1, "x2", x2, NULL); transport_loop_range_rect->set_property ("x1", x1);
transport_loop_range_rect->set_property ("x2", x2);
if (visibility) { if (visibility) {
gnome_canvas_item_show (transport_loop_range_rect); transport_loop_range_rect->show();
} }
} }
else if (visibility) { else if (visibility) {
gnome_canvas_item_hide (transport_loop_range_rect); transport_loop_range_rect->hide();
} }
} }
@ -874,14 +875,15 @@ Editor::update_punch_range_view (bool visibility)
double x1 = frame_to_pixel (tpl->start()); double x1 = frame_to_pixel (tpl->start());
double x2 = frame_to_pixel (tpl->end()); double x2 = frame_to_pixel (tpl->end());
gnome_canvas_item_set (transport_punch_range_rect, "x1", x1, "x2", x2, NULL); transport_punch_range_rect->set_property ("x1", x1);
transport_punch_range_rect->set_property ("x2", x2);
if (visibility) { if (visibility) {
gnome_canvas_item_show (transport_punch_range_rect); transport_punch_range_rect->show();
} }
} }
else if (visibility) { else if (visibility) {
gnome_canvas_item_hide (transport_punch_range_rect); transport_punch_range_rect->hide();
} }
// if (session->get_punch_in()) { // if (session->get_punch_in()) {

View file

@ -242,7 +242,7 @@ Editor::set_mouse_mode (MouseMode m, bool force)
ignore_mouse_mode_toggle = false; ignore_mouse_mode_toggle = false;
if (is_drawable()) { if (is_drawable()) {
gdk_window_set_cursor (track_canvas_scroller.get_window()->gobj(), current_canvas_cursor); track_canvas_scroller.get_window()->set_cursor(*current_canvas_cursor);
} }
} }
@ -926,7 +926,7 @@ Editor::button_release_handler (GnomeCanvasItem* item, GdkEvent* event, ItemType
break; break;
case MarkerItem: case MarkerItem:
remove_marker (item, event); remove_marker (item, &event);
break; break;
case RegionItem: case RegionItem:
@ -1139,7 +1139,7 @@ Editor::enter_handler (GnomeCanvasItem* item, GdkEvent* event, ItemType item_typ
show_verbose_canvas_cursor (); show_verbose_canvas_cursor ();
if (is_drawable()) { if (is_drawable()) {
gdk_window_set_cursor (track_canvas_scroller.get_window()->gobj(), fader_cursor); track_canvas_scroller.get_window()->set_cursor (*fader_cursor);
} }
} }
break; break;
@ -1163,7 +1163,7 @@ Editor::enter_handler (GnomeCanvasItem* item, GdkEvent* event, ItemType item_typ
show_verbose_canvas_cursor (); show_verbose_canvas_cursor ();
if (is_drawable()) { if (is_drawable()) {
gdk_window_set_cursor (track_canvas_scroller.get_window()->gobj(), fader_cursor); track_canvas_scroller.get_window()->set_cursor (*fader_cursor);
} }
break; break;
@ -1171,7 +1171,7 @@ Editor::enter_handler (GnomeCanvasItem* item, GdkEvent* event, ItemType item_typ
if (mouse_mode == MouseGain) { if (mouse_mode == MouseGain) {
gnome_canvas_item_set (item, "fill_color_rgba", color_map[cEnteredGainLine], NULL); gnome_canvas_item_set (item, "fill_color_rgba", color_map[cEnteredGainLine], NULL);
if (is_drawable()) { if (is_drawable()) {
gdk_window_set_cursor (track_canvas_scroller.get_window()->gobj(), fader_cursor); track_canvas_scroller.get_window()->set_cursor (*fader_cursor);
} }
} }
break; break;
@ -1181,13 +1181,13 @@ Editor::enter_handler (GnomeCanvasItem* item, GdkEvent* event, ItemType item_typ
case PanAutomationLineItem: case PanAutomationLineItem:
gnome_canvas_item_set (item, "fill_color_rgba", color_map[cEnteredAutomationLine], NULL); gnome_canvas_item_set (item, "fill_color_rgba", color_map[cEnteredAutomationLine], NULL);
if (is_drawable()) { if (is_drawable()) {
gdk_window_set_cursor (track_canvas_scroller.get_window()->gobj(), fader_cursor); track_canvas_scroller.get_window()->set_cursor (*fader_cursor);
} }
break; break;
case AudioRegionViewNameHighlight: case AudioRegionViewNameHighlight:
if (is_drawable() && mouse_mode == MouseObject) { if (is_drawable() && mouse_mode == MouseObject) {
gdk_window_set_cursor (track_canvas_scroller.get_window()->gobj(), trimmer_cursor); track_canvas_scroller.get_window()->set_cursor (*trimmer_cursor);
} }
break; break;
@ -1201,14 +1201,14 @@ Editor::enter_handler (GnomeCanvasItem* item, GdkEvent* event, ItemType item_typ
/* </CMT Additions> */ /* </CMT Additions> */
if (is_drawable()) { if (is_drawable()) {
gdk_window_set_cursor (track_canvas_scroller.get_window()->gobj(), trimmer_cursor); track_canvas_scroller.get_window()->set_cursor (*trimmer_cursor);
} }
break; break;
case EditCursorItem: case EditCursorItem:
case PlayheadCursorItem: case PlayheadCursorItem:
if (is_drawable()) { if (is_drawable()) {
gdk_window_set_cursor (track_canvas_scroller.get_window()->gobj(), grabber_cursor); track_canvas_scroller.get_window()->set_cursor (*grabber_cursor);
} }
break; break;
@ -1218,7 +1218,7 @@ Editor::enter_handler (GnomeCanvasItem* item, GdkEvent* event, ItemType item_typ
if (!reinterpret_cast<AudioRegionView *> (gtk_object_get_data(GTK_OBJECT(item), "regionview"))->name_active()) { if (!reinterpret_cast<AudioRegionView *> (gtk_object_get_data(GTK_OBJECT(item), "regionview"))->name_active()) {
if (mouse_mode == MouseObject && is_drawable()) { if (mouse_mode == MouseObject && is_drawable()) {
gdk_window_set_cursor (track_canvas_scroller.get_window()->gobj(), trimmer_cursor); track_canvas_scroller.get_window()->set_cursor (*trimmer_cursor);
} }
} }
break; break;
@ -1226,7 +1226,7 @@ Editor::enter_handler (GnomeCanvasItem* item, GdkEvent* event, ItemType item_typ
case AutomationTrackItem: case AutomationTrackItem:
if (is_drawable()) { if (is_drawable()) {
GdkCursor *cursor; Gdk::Cursor *cursor;
switch (mouse_mode) { switch (mouse_mode) {
case MouseRange: case MouseRange:
cursor = selector_cursor; cursor = selector_cursor;
@ -1239,7 +1239,7 @@ Editor::enter_handler (GnomeCanvasItem* item, GdkEvent* event, ItemType item_typ
break; break;
} }
gdk_window_set_cursor (track_canvas_scroller.get_window()->gobj(), cursor); track_canvas_scroller.get_window()->set_cursor (*cursor);
AutomationTimeAxisView* atv; AutomationTimeAxisView* atv;
if ((atv = static_cast<AutomationTimeAxisView*>(gtk_object_get_data(GTK_OBJECT(item), "trackview"))) != 0) { if ((atv = static_cast<AutomationTimeAxisView*>(gtk_object_get_data(GTK_OBJECT(item), "trackview"))) != 0) {
@ -1255,7 +1255,7 @@ Editor::enter_handler (GnomeCanvasItem* item, GdkEvent* event, ItemType item_typ
case MeterBarItem: case MeterBarItem:
case TempoBarItem: case TempoBarItem:
if (is_drawable()) { if (is_drawable()) {
gdk_window_set_cursor (time_canvas_scroller.get_window()->gobj(), timebar_cursor); time_canvas_scroller.get_window()->set_cursor (*timebar_cursor);
} }
break; break;
@ -1268,7 +1268,7 @@ Editor::enter_handler (GnomeCanvasItem* item, GdkEvent* event, ItemType item_typ
case MeterMarkerItem: case MeterMarkerItem:
case TempoMarkerItem: case TempoMarkerItem:
if (is_drawable()) { if (is_drawable()) {
gdk_window_set_cursor (time_canvas_scroller.get_window()->gobj(), timebar_cursor); time_canvas_scroller.get_window()->set_cursor (*timebar_cursor);
} }
break; break;
case FadeInHandleItem: case FadeInHandleItem:
@ -1333,7 +1333,7 @@ Editor::leave_handler (GnomeCanvasItem* item, GdkEvent* event, ItemType item_typ
} }
if (is_drawable()) { if (is_drawable()) {
gdk_window_set_cursor (track_canvas_scroller.get_window()->gobj(), current_canvas_cursor); track_canvas_scroller.get_window()->set_cursor (*current_canvas_cursor);
} }
hide_verbose_canvas_cursor (); hide_verbose_canvas_cursor ();
@ -1351,7 +1351,7 @@ Editor::leave_handler (GnomeCanvasItem* item, GdkEvent* event, ItemType item_typ
case MarkerViewHandleEndItem: case MarkerViewHandleEndItem:
/* </CMT Additions> */ /* </CMT Additions> */
if (is_drawable()) { if (is_drawable()) {
gdk_window_set_cursor (track_canvas_scroller.get_window()->gobj(), current_canvas_cursor); track_canvas_scroller.get_window()->set_cursor (*current_canvas_cursor);
} }
break; break;
@ -1362,7 +1362,7 @@ Editor::leave_handler (GnomeCanvasItem* item, GdkEvent* event, ItemType item_typ
al = reinterpret_cast<AutomationLine*> (gtk_object_get_data (GTK_OBJECT(item),"line")); al = reinterpret_cast<AutomationLine*> (gtk_object_get_data (GTK_OBJECT(item),"line"));
gnome_canvas_item_set (item, "fill_color_rgba", al->get_line_color(), NULL); gnome_canvas_item_set (item, "fill_color_rgba", al->get_line_color(), NULL);
if (is_drawable()) { if (is_drawable()) {
gdk_window_set_cursor (track_canvas_scroller.get_window()->gobj(), current_canvas_cursor); track_canvas_scroller.get_window()->set_cursor (*current_canvas_cursor);
} }
break; break;
@ -1370,7 +1370,7 @@ Editor::leave_handler (GnomeCanvasItem* item, GdkEvent* event, ItemType item_typ
/* see enter_handler() for notes */ /* see enter_handler() for notes */
if (!reinterpret_cast<AudioRegionView *> (gtk_object_get_data(GTK_OBJECT(item), "regionview"))->name_active()) { if (!reinterpret_cast<AudioRegionView *> (gtk_object_get_data(GTK_OBJECT(item), "regionview"))->name_active()) {
if (is_drawable() && mouse_mode == MouseObject) { if (is_drawable() && mouse_mode == MouseObject) {
gdk_window_set_cursor (track_canvas_scroller.get_window()->gobj(), current_canvas_cursor); track_canvas_scroller.get_window()->set_cursor (*current_canvas_cursor);
} }
} }
break; break;
@ -1381,7 +1381,7 @@ Editor::leave_handler (GnomeCanvasItem* item, GdkEvent* event, ItemType item_typ
case TempoBarItem: case TempoBarItem:
case MarkerBarItem: case MarkerBarItem:
if (is_drawable()) { if (is_drawable()) {
gdk_window_set_cursor (time_canvas_scroller.get_window()->gobj(), timebar_cursor); time_canvas_scroller.get_window()->set_cursor (*timebar_cursor);
} }
break; break;
@ -1396,7 +1396,7 @@ Editor::leave_handler (GnomeCanvasItem* item, GdkEvent* event, ItemType item_typ
case TempoMarkerItem: case TempoMarkerItem:
if (is_drawable()) { if (is_drawable()) {
gdk_window_set_cursor (time_canvas_scroller.get_window()->gobj(), timebar_cursor); time_canvas_scroller.get_window()->set_cursor (*timebar_cursor);
} }
break; break;
@ -1409,8 +1409,7 @@ Editor::leave_handler (GnomeCanvasItem* item, GdkEvent* event, ItemType item_typ
case AutomationTrackItem: case AutomationTrackItem:
if (is_drawable()) { if (is_drawable()) {
gdk_window_set_cursor (track_canvas_scroller.get_window()->gobj(), current_canvas_cursor); track_canvas_scroller.get_window()->set_cursor (*current_canvas_cursor);
clear_entered_track = true; clear_entered_track = true;
Glib::signal_idle().connect (mem_fun(*this, &Editor::left_automation_track)); Glib::signal_idle().connect (mem_fun(*this, &Editor::left_automation_track));
} }
@ -1546,7 +1545,7 @@ Editor::motion_handler (GnomeCanvasItem* item, GdkEvent* event, ItemType item_ty
} }
void void
Editor::start_grab (GdkEvent* event, GdkCursor *cursor) Editor::start_grab (GdkEvent* event, Gdk::Cursor *cursor)
{ {
if (drag_info.item == 0) { if (drag_info.item == 0) {
fatal << _("programming error: start_grab called without drag item") << endmsg; fatal << _("programming error: start_grab called without drag item") << endmsg;
@ -1582,8 +1581,11 @@ Editor::start_grab (GdkEvent* event, GdkCursor *cursor)
gnome_canvas_item_grab (drag_info.item, gnome_canvas_item_grab (drag_info.item,
Gdk::POINTER_MOTION_MASK|Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK, Gdk::POINTER_MOTION_MASK|Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK,
cursor, cursor->gobj(),
event->button.time); event->button.time);
//drag_info.item->grab (Gdk::POINTER_MOTION_MASK|Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK,
// cursor,
// event->button.time);
if (session && session->transport_rolling()) { if (session && session->transport_rolling()) {
drag_info.was_rolling = true; drag_info.was_rolling = true;
@ -1941,10 +1943,11 @@ Editor::update_marker_drag_item (Location *location)
if (location->is_mark()) { if (location->is_mark()) {
marker_drag_line_points->coords[0] = x1; marker_drag_line_points->coords[0] = x1;
marker_drag_line_points->coords[2] = x1; marker_drag_line_points->coords[2] = x1;
gnome_canvas_item_set (marker_drag_line, "points", marker_drag_line_points, NULL); marker_drag_line->set_property ("points", marker_drag_line_points);
} }
else { else {
gnome_canvas_item_set (range_marker_drag_rect, "x1", x1, "x2", x2, NULL); range_marker_drag_rect->set_property ("x1", x1);
range_marker_drag_rect->set_property ("x2", x2);
} }
} }
@ -1975,12 +1978,12 @@ Editor::start_marker_grab (GnomeCanvasItem* item, GdkEvent* event)
update_marker_drag_item (location); update_marker_drag_item (location);
if (location->is_mark()) { if (location->is_mark()) {
gnome_canvas_item_show (marker_drag_line); marker_drag_line->show();
gnome_canvas_item_raise_to_top (marker_drag_line); marker_drag_line->raise_to_top();
} }
else { else {
gnome_canvas_item_show (range_marker_drag_rect); range_marker_drag_rect->show();
gnome_canvas_item_raise_to_top (range_marker_drag_rect); range_marker_drag_rect->raise_to_top();
} }
if (is_start) show_verbose_time_cursor (location->start(), 10); if (is_start) show_verbose_time_cursor (location->start(), 10);
@ -2081,8 +2084,8 @@ Editor::marker_drag_finished_callback (GnomeCanvasItem* item, GdkEvent* event)
location->set (drag_info.copied_location->start(), drag_info.copied_location->end()); location->set (drag_info.copied_location->start(), drag_info.copied_location->end());
} }
gnome_canvas_item_hide (marker_drag_line); marker_drag_line->hide();
gnome_canvas_item_hide (range_marker_drag_rect); range_marker_drag_rect->hide();
} }
void void
@ -3004,7 +3007,7 @@ Editor::region_drag_motion_callback (GnomeCanvasItem* item, GdkEvent* event)
gnome_canvas_item_raise_to_top (rv->get_canvas_group()); gnome_canvas_item_raise_to_top (rv->get_canvas_group());
gnome_canvas_item_raise_to_top (rv->get_time_axis_view().canvas_display); gnome_canvas_item_raise_to_top (rv->get_time_axis_view().canvas_display);
gnome_canvas_item_raise_to_top (cursor_group); cursor_group->raise_to_top();
/* freeze the playlists from notifying till /* freeze the playlists from notifying till
the motion is done. the motion is done.
@ -3033,7 +3036,7 @@ Editor::region_drag_motion_callback (GnomeCanvasItem* item, GdkEvent* event)
} }
if (drag_info.first_move) { if (drag_info.first_move) {
gnome_canvas_item_raise_to_top (cursor_group); cursor_group->raise_to_top();
} }
drag_info.first_move = false; drag_info.first_move = false;
@ -4157,8 +4160,8 @@ Editor::drag_range_markerbar_op (GnomeCanvasItem* item, GdkEvent* event)
gnome_canvas_item_show (crect); gnome_canvas_item_show (crect);
update_marker_drag_item (temp_location); update_marker_drag_item (temp_location);
gnome_canvas_item_show (range_marker_drag_rect); range_marker_drag_rect->show();
gnome_canvas_item_raise_to_top (range_marker_drag_rect); range_marker_drag_rect->raise_to_top();
} }
break; break;
@ -4204,8 +4207,8 @@ Editor::end_range_markerbar_op (GnomeCanvasItem* item, GdkEvent* event)
session->add_redo_no_execute (session->locations()->get_memento()); session->add_redo_no_execute (session->locations()->get_memento());
commit_reversible_command (); commit_reversible_command ();
gnome_canvas_item_hide (range_bar_drag_rect); range_bar_drag_rect->hide();
gnome_canvas_item_hide (range_marker_drag_rect); range_marker_drag_rect->hide();
break; break;
case CreateTransportMarker: case CreateTransportMarker:
@ -4269,8 +4272,8 @@ Editor::drag_mouse_zoom (GnomeCanvasItem* item, GdkEvent* event)
if (start != end) { if (start != end) {
if (drag_info.first_move) { if (drag_info.first_move) {
gnome_canvas_item_show (zoom_rect); zoom_rect->show();
gnome_canvas_item_raise_to_top (zoom_rect); zoom_rect->raise_to_top();
} }
reposition_zoom_rect(start, end); reposition_zoom_rect(start, end);
@ -4301,7 +4304,7 @@ Editor::end_mouse_zoom (GnomeCanvasItem* item, GdkEvent* event)
*/ */
} }
gnome_canvas_item_hide (zoom_rect); zoom_rect->hide();
} }
void void
@ -4385,8 +4388,8 @@ Editor::drag_rubberband_select (GnomeCanvasItem* item, GdkEvent* event)
"y2", y2, "y2", y2,
NULL); NULL);
gnome_canvas_item_show (rubberband_rect); rubberband_rect->show();
gnome_canvas_item_raise_to_top (rubberband_rect); rubberband_rect->raise_to_top();
drag_info.last_pointer_frame = drag_info.current_pointer_frame; drag_info.last_pointer_frame = drag_info.current_pointer_frame;
drag_info.first_move = false; drag_info.first_move = false;
@ -4434,7 +4437,7 @@ Editor::end_rubberband_select (GnomeCanvasItem* item, GdkEvent* event)
selection->clear_lines (); selection->clear_lines ();
} }
gnome_canvas_item_hide (rubberband_rect); rubberband_rect->hide();
} }

View file

@ -225,8 +225,8 @@ Editor::ruler_mouse_motion (GdkEventMotion* ev)
time_canvas_event_box.get_window()->get_pointer (x, y, state); time_canvas_event_box.get_window()->get_pointer (x, y, state);
gnome_canvas_window_to_world (GNOME_CANVAS(track_canvas), x, y, &wcx, &wcy); track_canvas.c2w (x, y, wcx, wcy);
gnome_canvas_w2c_d (GNOME_CANVAS(track_canvas), wcx, wcy, &cx, &cy); track_canvas.w2c (wcx, wcy, cx, cy);
jack_nframes_t where = leftmost_frame + pixel_to_frame (x); jack_nframes_t where = leftmost_frame + pixel_to_frame (x);
@ -608,16 +608,16 @@ Editor::update_ruler_visibility ()
gtk_object_getv (GTK_OBJECT(meter_group), 1, args) ; gtk_object_getv (GTK_OBJECT(meter_group), 1, args) ;
old_unit_pos = GTK_VALUE_DOUBLE (args[0]) ; old_unit_pos = GTK_VALUE_DOUBLE (args[0]) ;
if (tbpos != old_unit_pos) { if (tbpos != old_unit_pos) {
gnome_canvas_item_move (meter_group, 0.0, tbpos - old_unit_pos) ; meter_group->move ( 0.0, tbpos - old_unit_pos);
} }
//gnome_canvas_item_set (meter_group, "y", tbpos, NULL); //gnome_canvas_item_set (meter_group, "y", tbpos, NULL);
gnome_canvas_item_show (meter_group); meter_group->show();
tbpos += timebar_height; tbpos += timebar_height;
visible_timebars++; visible_timebars++;
} }
else { else {
gnome_canvas_item_hide (meter_group); meter_group->hide();
} }
if (ruler_shown[ruler_time_tempo]) { if (ruler_shown[ruler_time_tempo]) {
@ -625,15 +625,15 @@ Editor::update_ruler_visibility ()
gtk_object_getv (GTK_OBJECT(tempo_group), 1, args) ; gtk_object_getv (GTK_OBJECT(tempo_group), 1, args) ;
old_unit_pos = GTK_VALUE_DOUBLE (args[0]) ; old_unit_pos = GTK_VALUE_DOUBLE (args[0]) ;
if (tbpos != old_unit_pos) { if (tbpos != old_unit_pos) {
gnome_canvas_item_move (tempo_group, 0.0, tbpos - old_unit_pos) ; tempo_group->move(0.0, tbpos - old_unit_pos);
} }
//gnome_canvas_item_set (tempo_group, "y", tbpos, NULL); //gnome_canvas_item_set (tempo_group, "y", tbpos, NULL);
gnome_canvas_item_show (tempo_group); tempo_group->show();
tbpos += timebar_height; tbpos += timebar_height;
visible_timebars++; visible_timebars++;
} }
else { else {
gnome_canvas_item_hide (tempo_group); tempo_group->hide();
} }
if (ruler_shown[ruler_time_marker]) { if (ruler_shown[ruler_time_marker]) {
@ -641,15 +641,15 @@ Editor::update_ruler_visibility ()
gtk_object_getv (GTK_OBJECT(marker_group), 1, args) ; gtk_object_getv (GTK_OBJECT(marker_group), 1, args) ;
old_unit_pos = GTK_VALUE_DOUBLE (args[0]) ; old_unit_pos = GTK_VALUE_DOUBLE (args[0]) ;
if (tbpos != old_unit_pos) { if (tbpos != old_unit_pos) {
gnome_canvas_item_move (marker_group, 0.0, tbpos - old_unit_pos) ; marker_group->move ( 0.0, tbpos - old_unit_pos);
} }
//gnome_canvas_item_set (marker_group, "y", tbpos, NULL); //gnome_canvas_item_set (marker_group, "y", tbpos, NULL);
gnome_canvas_item_show (marker_group); marker_group->show();
tbpos += timebar_height; tbpos += timebar_height;
visible_timebars++; visible_timebars++;
} }
else { else {
gnome_canvas_item_hide (marker_group); marker_group->hide();
} }
if (ruler_shown[ruler_time_range_marker]) { if (ruler_shown[ruler_time_range_marker]) {
@ -657,15 +657,15 @@ Editor::update_ruler_visibility ()
gtk_object_getv (GTK_OBJECT(range_marker_group), 1, args) ; gtk_object_getv (GTK_OBJECT(range_marker_group), 1, args) ;
old_unit_pos = GTK_VALUE_DOUBLE (args[0]) ; old_unit_pos = GTK_VALUE_DOUBLE (args[0]) ;
if (tbpos != old_unit_pos) { if (tbpos != old_unit_pos) {
gnome_canvas_item_move (range_marker_group, 0.0, tbpos - old_unit_pos) ; range_marker_group->move (0.0, tbpos - old_unit_pos);
} }
//gnome_canvas_item_set (marker_group, "y", tbpos, NULL); //gnome_canvas_item_set (marker_group, "y", tbpos, NULL);
gnome_canvas_item_show (range_marker_group); range_marker_group->show();
tbpos += timebar_height; tbpos += timebar_height;
visible_timebars++; visible_timebars++;
} }
else { else {
gnome_canvas_item_hide (range_marker_group); range_marker_group->hide();
} }
if (ruler_shown[ruler_time_transport_marker]) { if (ruler_shown[ruler_time_transport_marker]) {
@ -673,15 +673,15 @@ Editor::update_ruler_visibility ()
gtk_object_getv (GTK_OBJECT(transport_marker_group), 1, args) ; gtk_object_getv (GTK_OBJECT(transport_marker_group), 1, args) ;
old_unit_pos = GTK_VALUE_DOUBLE (args[0]) ; old_unit_pos = GTK_VALUE_DOUBLE (args[0]) ;
if (tbpos != old_unit_pos) { if (tbpos != old_unit_pos) {
gnome_canvas_item_move (transport_marker_group, 0.0, tbpos - old_unit_pos) ; transport_marker_group->move ( 0.0, tbpos - old_unit_pos);
} }
//gnome_canvas_item_set (marker_group, "y", tbpos, NULL); //gnome_canvas_item_set (marker_group, "y", tbpos, NULL);
gnome_canvas_item_show (transport_marker_group); transport_marker_group->show();
tbpos += timebar_height; tbpos += timebar_height;
visible_timebars++; visible_timebars++;
} }
else { else {
gnome_canvas_item_hide (transport_marker_group); transport_marker_group->hide();
} }
time_canvas_vbox.set_size_request (-1, (int)(timebar_height * visible_timebars)); time_canvas_vbox.set_size_request (-1, (int)(timebar_height * visible_timebars));

View file

@ -236,8 +236,8 @@ Editor::draw_measures ()
/* the cursors are always on top of everything */ /* the cursors are always on top of everything */
gnome_canvas_item_raise_to_top (cursor_group); cursor_group->raise_to_top();
gnome_canvas_item_lower_to_bottom (time_line_group); time_line_group->lower_to_bottom();
} }
void void

View file

@ -658,7 +658,7 @@ RouteUI::remove_this_route ()
Choice prompter (prompt, choices); Choice prompter (prompt, choices);
prompter.chosen.connect (Gtk::Main::quit.slot()); prompter.chosen.connect(sigc::ptr_fun(Gtk::Main::quit));
prompter.show_all (); prompter.show_all ();
Gtk::Main::run (); Gtk::Main::run ();

View file

@ -304,7 +304,7 @@ VisualTimeAxis::remove_this_time_axis(void* src)
Gtkmm2ext::Choice prompter (prompt, choices); Gtkmm2ext::Choice prompter (prompt, choices);
prompter.chosen.connect (Gtk::Main::quit.slot()); prompter.chosen.connect(sigc::ptr_fun(Gtk::Main::quit));
prompter.show_all (); prompter.show_all ();
Gtk::Main::run (); Gtk::Main::run ();