-void EditPanel::stop_transport(const char *lock_msg)
-{
- int have_subwindow_lock = subwindow->get_window_lock();
- if( have_subwindow_lock ) subwindow->unlock_window();
- mwindow->stop_transport();
- if( have_subwindow_lock ) subwindow->lock_window(lock_msg);
-}
-
-
-void EditPanel::toggle_label()
-{
- mwindow->toggle_label(is_mwindow());
-}
-
-void EditPanel::prev_label(int cut)
-{
- int shift_down = subwindow->shift_down();
- int have_mwindow_lock = mwindow->gui->get_window_lock();
- if( have_mwindow_lock ) mwindow->gui->unlock_window();
-
- stop_transport("EditPanel::prev_label 1");
-
- mwindow->gui->lock_window("EditPanel::prev_label 2");
- if( cut )
- mwindow->cut_left_label();
- else
- mwindow->prev_label(shift_down);
- if( !have_mwindow_lock )
- mwindow->gui->unlock_window();
-}
-
-void EditPanel::next_label(int cut)
-{
- int shift_down = subwindow->shift_down();
- int have_mwindow_lock = mwindow->gui->get_window_lock();
- if( have_mwindow_lock ) mwindow->gui->unlock_window();
-
- stop_transport("EditPanel::next_label 1");
-
- mwindow->gui->lock_window("EditPanel::next_label 2");
- if( cut )
- mwindow->cut_right_label();
- else
- mwindow->next_label(shift_down);
- if( !have_mwindow_lock )
- mwindow->gui->unlock_window();
-}
-
-
-
-void EditPanel::prev_edit(int cut)
-{
- int shift_down = subwindow->shift_down();
- int have_mwindow_lock = mwindow->gui->get_window_lock();
- if( have_mwindow_lock ) mwindow->gui->unlock_window();
-
- stop_transport("EditPanel::prev_edit 1");
-
- mwindow->gui->lock_window("EditPanel::prev_edit 2");
-
- if( cut )
- mwindow->cut_left_edit();
- else
- mwindow->prev_edit_handle(shift_down);
-
- if( !have_mwindow_lock )
- mwindow->gui->unlock_window();
-}
-
-void EditPanel::next_edit(int cut)
-{
- int shift_down = subwindow->shift_down();
- int have_mwindow_lock = mwindow->gui->get_window_lock();
- if( have_mwindow_lock ) mwindow->gui->unlock_window();
-
- stop_transport("EditPanel::next_edit 1");
-
- mwindow->gui->lock_window("EditPanel::next_edit 2");
-
- if( cut )
- mwindow->cut_right_edit();
- else
- mwindow->next_edit_handle(shift_down);
-
- if( !have_mwindow_lock )
- mwindow->gui->unlock_window();
-}
-
-
-double EditPanel::get_position()
-{
- EDL *edl = mwindow->edl;
- return !edl ? 0 : edl->local_session->get_selectionstart(1);
-}
-
-void EditPanel::set_position(double position)
-{
- EDL *edl = mwindow->edl;
- if( !edl ) return;
- if( position != get_position() ) {
- if( position < 0 ) position = 0;
- edl->local_session->set_selectionstart(position);
- edl->local_session->set_selectionend(position);
- mwindow->gui->lock_window();
- mwindow->find_cursor();
- mwindow->gui->update(1, NORMAL_DRAW, 1, 1, 1, 1, 0);
- mwindow->gui->unlock_window();
- mwindow->cwindow->update(1, 0, 0, 0, 0);
- }
-}
-