#include <mainundo.h>

Public Member Functions | |
| MainUndo (MWindow *mwindow) | |
| ~MainUndo () | |
| void | push_undo_item (UndoStackItem *item) |
| void | update_undo (char *description, uint32_t load_flags, void *creator=0, int changes_made=1) |
| void | push_state (char *description, uint32_t load_flags, void *creator) |
| void | reset_creators () |
| int | undo () |
| int | redo () |
Private Member Functions | |
| void | capture_state () |
| void | prune_undo () |
| bool | ignore_push (char *description, uint32_t load_flags, void *creator) |
Private Attributes | |
| List< UndoStackItem > | undo_stack |
| List< UndoStackItem > | redo_stack |
| MainUndoStackItem * | new_entry |
| MWindow * | mwindow |
| Timer * | last_update |
| char * | data_after |
Friends | |
| class | MainUndoStackItem |
Definition at line 16 of file mainundo.h.
| MainUndo::MainUndo | ( | MWindow * | mwindow | ) |
Definition at line 45 of file mainundo.C.
References capture_state(), data_after, last_update, and new_entry.

| MainUndo::~MainUndo | ( | ) |
| void MainUndo::push_undo_item | ( | UndoStackItem * | item | ) |
Definition at line 79 of file mainundo.C.
References List< TYPE >::append(), capture_state(), MainSession::changes_made, UndoStackItem::description, MWindow::gui, List< TYPE >::last, BC_WindowBase::lock_window(), MWindowGUI::mainmenu, mwindow, prune_undo(), MainMenu::redo, redo_stack, List< TYPE >::remove(), MWindow::session, MainMenu::undo, undo_stack, BC_WindowBase::unlock_window(), Redo::update_caption(), and Undo::update_caption().
Referenced by push_state(), MWindow::set_inpoint(), MWindow::set_outpoint(), MWindow::toggle_label(), and update_undo().

| void MainUndo::update_undo | ( | char * | description, | |
| uint32_t | load_flags, | |||
| void * | creator = 0, |
|||
| int | changes_made = 1 | |||
| ) |
Definition at line 62 of file mainundo.C.
References capture_state(), data_after, ignore_push(), MainUndoStackItem, new_entry, push_undo_item(), and MainUndoStackItem::set_data_before().
Referenced by MWindow::add_audio_track_entry(), MWindow::add_video_track_entry(), SetFormatThread::apply_changes(), MWindow::asset_to_rate(), MWindow::asset_to_size(), MutePatch::button_press_event(), TrackCanvas::button_release_event(), TimeBar::button_release_event(), CWindowCanvas::button_release_event(), MWindow::clear_automation(), MWindow::clear_default_keyframe(), MWindow::clear_entry(), MWindow::clear_labels(), MWindow::concatenate_tracks(), New::create_new_project(), MWindow::crop_video(), PatchBay::cursor_motion_event(), MWindow::cut(), MWindow::cut_automation(), MWindow::cut_default_keyframe(), MWindow::delete_track(), MWindow::delete_tracks(), MWindow::detach_transition(), CWindowCanvas::do_mask(), CWindowGUI::drag_stop(), MWindow::finish_modify_handles(), VModePatch::handle_event(), PluginPopupDetach::handle_event(), TitlePatch::handle_event(), LoadBackup::handle_event(), LoadPrevious::handle_event(), KeyframePopupDelete::handle_event(), APanPatch::handle_event(), MWindow::insert_effects_canvas(), MWindow::insert_effects_cwindow(), MWindow::load_filenames(), MWindow::map_audio(), MWindow::match_output_size(), MWindow::move_edits(), MWindow::move_effect(), MWindow::move_plugins_down(), MWindow::move_plugins_up(), MWindow::move_track_down(), MWindow::move_track_up(), MWindow::move_tracks_down(), MWindow::move_tracks_up(), MWindow::mute_selection(), MWindow::new_folder(), MWindow::overwrite(), MWindow::paste(), MWindow::paste_assets(), MWindow::paste_audio_transition(), MWindow::paste_automation(), MWindow::paste_default_keyframe(), MWindow::paste_silence(), MWindow::paste_transition(), MWindow::paste_transition_cwindow(), MWindow::paste_video_transition(), MWindow::remove_assets_from_project(), Render::render(), MWindow::resize_track(), Record::run(), PluginDialogThread::run(), MenuEffectThread::run(), TimeBar::select_region(), PluginClient::send_configure_change(), NudgePatch::set_value(), MWindow::splice(), MWindow::straighten_automation(), PatchGUI::toggle_behavior(), MWindow::trim_selection(), VFadePatch::update_edl(), and AFadePatch::update_edl().

| void MainUndo::push_state | ( | char * | description, | |
| uint32_t | load_flags, | |||
| void * | creator | |||
| ) |
Definition at line 129 of file mainundo.C.
References capture_state(), MainSession::changes_made, data_after, ignore_push(), MainUndoStackItem, mwindow, new_entry, push_undo_item(), MWindow::session, and MainUndoStackItem::set_data_before().

| void MainUndo::reset_creators | ( | ) |
| int MainUndo::undo | ( | ) |
Definition at line 150 of file mainundo.C.
References List< TYPE >::append(), capture_state(), UndoStackItem::description, MWindow::gui, List< TYPE >::last, MWindowGUI::mainmenu, mwindow, MainMenu::redo, redo_stack, List< TYPE >::remove_pointer(), reset_creators(), MainMenu::undo, UndoStackItem::undo(), undo_stack, Undo::update_caption(), and Redo::update_caption().
Referenced by MWindow::undo_entry().

| int MainUndo::redo | ( | ) |
Definition at line 177 of file mainundo.C.
References List< TYPE >::append(), capture_state(), UndoStackItem::description, MWindow::gui, List< TYPE >::last, MWindowGUI::mainmenu, mwindow, MainMenu::redo, redo_stack, List< TYPE >::remove_pointer(), reset_creators(), MainMenu::undo, UndoStackItem::undo(), undo_stack, Redo::update_caption(), and Undo::update_caption().
Referenced by MWindow::redo_entry().

| void MainUndo::capture_state | ( | ) | [private] |
Definition at line 98 of file mainundo.C.
References data_after, MWindow::edl, mwindow, MWindow::plugindb, EDL::save_xml(), FileXML::string, and FileXML::terminate_string().
Referenced by MainUndo(), push_state(), push_undo_item(), redo(), undo(), and update_undo().

| void MainUndo::prune_undo | ( | ) | [private] |
Definition at line 205 of file mainundo.C.
References List< TYPE >::first, UndoStackItem::get_size(), List< TYPE >::last, ListItem< TYPE >::previous, List< TYPE >::remove(), undo_stack, UNDOMEMORY, and UNDOMINLEVELS.
Referenced by push_undo_item().

| bool MainUndo::ignore_push | ( | char * | description, | |
| uint32_t | load_flags, | |||
| void * | creator | |||
| ) | [private] |
Definition at line 112 of file mainundo.C.
References UndoStackItem::creator, UndoStackItem::description, Timer::get_difference(), List< TYPE >::last, last_update, redo_stack, undo_stack, and Timer::update().
Referenced by push_state(), and update_undo().

friend class MainUndoStackItem [friend] |
List<UndoStackItem> MainUndo::undo_stack [private] |
Definition at line 42 of file mainundo.h.
Referenced by ignore_push(), prune_undo(), push_undo_item(), redo(), reset_creators(), and undo().
List<UndoStackItem> MainUndo::redo_stack [private] |
Definition at line 43 of file mainundo.h.
Referenced by ignore_push(), push_undo_item(), redo(), and undo().
MainUndoStackItem* MainUndo::new_entry [private] |
Definition at line 44 of file mainundo.h.
Referenced by MainUndo(), push_state(), and update_undo().
MWindow* MainUndo::mwindow [private] |
Definition at line 46 of file mainundo.h.
Referenced by capture_state(), MainUndoStackItem::load_from_undo(), push_state(), push_undo_item(), redo(), and undo().
Timer* MainUndo::last_update [private] |
char* MainUndo::data_after [private] |
Definition at line 48 of file mainundo.h.
Referenced by capture_state(), MainUndo(), push_state(), MainUndoStackItem::undo(), update_undo(), and ~MainUndo().
1.5.5