MainUndo Class Reference

#include <mainundo.h>

Collaboration diagram for MainUndo:

Collaboration graph
[legend]

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< UndoStackItemundo_stack
List< UndoStackItemredo_stack
MainUndoStackItemnew_entry
MWindowmwindow
Timerlast_update
char * data_after

Friends

class MainUndoStackItem

Detailed Description

Definition at line 16 of file mainundo.h.


Constructor & Destructor Documentation

MainUndo::MainUndo ( MWindow mwindow  ) 

Definition at line 45 of file mainundo.C.

References capture_state(), data_after, last_update, and new_entry.

Here is the call graph for this function:

MainUndo::~MainUndo (  ) 

Definition at line 56 of file mainundo.C.

References data_after, and last_update.


Member Function Documentation

void MainUndo::push_undo_item ( UndoStackItem item  ) 

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().

Here is the call graph for this function:

void MainUndo::push_state ( char *  description,
uint32_t  load_flags,
void *  creator 
)

void MainUndo::reset_creators (  ) 

Definition at line 286 of file mainundo.C.

References List< TYPE >::first, NEXT, and undo_stack.

Referenced by redo(), and undo().

int MainUndo::undo (  ) 

int MainUndo::redo (  ) 

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:


Friends And Related Function Documentation

friend class MainUndoStackItem [friend]

Definition at line 54 of file mainundo.h.

Referenced by push_state(), and update_undo().


Field Documentation

Definition at line 42 of file mainundo.h.

Referenced by ignore_push(), prune_undo(), push_undo_item(), redo(), reset_creators(), and undo().

Definition at line 43 of file mainundo.h.

Referenced by ignore_push(), push_undo_item(), redo(), and undo().

Definition at line 44 of file mainundo.h.

Referenced by MainUndo(), push_state(), and update_undo().

Definition at line 47 of file mainundo.h.

Referenced by ignore_push(), MainUndo(), and ~MainUndo().

char* MainUndo::data_after [private]


The documentation for this class was generated from the following files:

Generated on Mon Apr 28 14:30:23 2008 for Cinelerra by  doxygen 1.5.5