LMMS
Loading...
Searching...
No Matches
lmms::ProjectJournal Class Reference

#include <ProjectJournal.h>

Classes

struct  CheckPoint

Public Member Functions

 ProjectJournal ()
virtual ~ProjectJournal ()=default
void undo ()
void redo ()
bool canUndo () const
bool canRedo () const
void addJournalCheckPoint (JournallingObject *jo)
bool isJournalling () const
void setJournalling (const bool _on)
jo_id_t allocID (JournallingObject *_obj)
void reallocID (const jo_id_t _id, JournallingObject *_obj)
void freeID (const jo_id_t _id)
void clearJournal ()
void stopAllJournalling ()
JournallingObjectjournallingObject (const jo_id_t _id)

Static Public Member Functions

static jo_id_t idToSave (jo_id_t id)
 hack, not used when saving a file
static jo_id_t idFromSave (jo_id_t id)
 hack, not used when loading a savefile

Static Public Attributes

static const int MAX_UNDO_STATES = 100

Private Types

using JoIdMap = QHash<jo_id_t, JournallingObject*>
using CheckPointStack = QStack<CheckPoint>

Private Attributes

JoIdMap m_joIDs
CheckPointStack m_undoCheckPoints
CheckPointStack m_redoCheckPoints
bool m_journalling

Detailed Description

Warning
many parts of this class may be rewritten soon

Member Typedef Documentation

◆ CheckPointStack

◆ JoIdMap

Constructor & Destructor Documentation

◆ ProjectJournal()

lmms::ProjectJournal::ProjectJournal ( )

◆ ~ProjectJournal()

virtual lmms::ProjectJournal::~ProjectJournal ( )
virtualdefault

Member Function Documentation

◆ addJournalCheckPoint()

void lmms::ProjectJournal::addJournalCheckPoint ( JournallingObject * jo)

◆ allocID()

jo_id_t lmms::ProjectJournal::allocID ( JournallingObject * _obj)

◆ canRedo()

bool lmms::ProjectJournal::canRedo ( ) const

◆ canUndo()

bool lmms::ProjectJournal::canUndo ( ) const

◆ clearJournal()

void lmms::ProjectJournal::clearJournal ( )

◆ freeID()

void lmms::ProjectJournal::freeID ( const jo_id_t _id)
inline

◆ idFromSave()

jo_id_t lmms::ProjectJournal::idFromSave ( jo_id_t id)
static

hack, not used when loading a savefile

◆ idToSave()

jo_id_t lmms::ProjectJournal::idToSave ( jo_id_t id)
static

hack, not used when saving a file

◆ isJournalling()

bool lmms::ProjectJournal::isJournalling ( ) const
inline

◆ journallingObject()

JournallingObject * lmms::ProjectJournal::journallingObject ( const jo_id_t _id)
inline

◆ reallocID()

void lmms::ProjectJournal::reallocID ( const jo_id_t _id,
JournallingObject * _obj )

◆ redo()

void lmms::ProjectJournal::redo ( )

◆ setJournalling()

void lmms::ProjectJournal::setJournalling ( const bool _on)
inline

◆ stopAllJournalling()

void lmms::ProjectJournal::stopAllJournalling ( )

◆ undo()

void lmms::ProjectJournal::undo ( )

Member Data Documentation

◆ m_joIDs

JoIdMap lmms::ProjectJournal::m_joIDs
private

◆ m_journalling

bool lmms::ProjectJournal::m_journalling
private

◆ m_redoCheckPoints

CheckPointStack lmms::ProjectJournal::m_redoCheckPoints
private

◆ m_undoCheckPoints

CheckPointStack lmms::ProjectJournal::m_undoCheckPoints
private

◆ MAX_UNDO_STATES

const int lmms::ProjectJournal::MAX_UNDO_STATES = 100
static

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