Source Code (Use browser search to find items of interest.)
Class Index
kspread'KSpreadUndo (./koffice/kspread/kspread_undo.h:184)
class KSpreadUndo
{
public:
KSpreadUndo( KSpreadDoc *_doc );
~KSpreadUndo();
void undo();
void redo();
void clear();
void lock() { m_bLocked = TRUE; }
void unlock() { m_bLocked = FALSE; }
bool isLocked() { return m_bLocked; }
bool hasUndoActions() { return !m_stckUndo.isEmpty(); }
bool hasRedoActions() { return !m_stckRedo.isEmpty(); }
void appendUndo( KSpreadUndoAction *_action );
protected:
QStack<KSpreadUndoAction> m_stckUndo;
QStack<KSpreadUndoAction> m_stckRedo;
KSpreadDoc *m_pDoc;
bool m_bLocked;
};
kspread'KSpreadUndo::KSpreadUndo() (./koffice/kspread/kspread_undo.cc:35)
KSpreadUndo::KSpreadUndo( KSpreadDoc *_doc )
{
m_pDoc = _doc;
m_stckUndo.setAutoDelete( FALSE );
m_stckRedo.setAutoDelete( FALSE );
m_bLocked = FALSE;
}
kspread'KSpreadUndo::~KSpreadUndo() (./koffice/kspread/kspread_undo.cc:45)
KSpreadUndo::~KSpreadUndo()
{
clear();
}
kspread'KSpreadUndo::appendUndo() (./koffice/kspread/kspread_undo.cc:50)
void KSpreadUndo::appendUndo( KSpreadUndoAction *_action )
{
if ( m_bLocked )
return;
m_stckRedo.setAutoDelete( TRUE );
m_stckRedo.clear();
m_stckRedo.setAutoDelete( FALSE );
m_stckUndo.push( _action );
if ( m_pDoc )
{
m_pDoc->enableUndo( hasUndoActions() );
m_pDoc->enableRedo( hasRedoActions() );
}
}
kspread'KSpreadUndo::clear() (./koffice/kspread/kspread_undo.cc:68)
void KSpreadUndo::clear()
{
if ( m_bLocked )
return;
m_stckUndo.setAutoDelete( TRUE );
m_stckRedo.setAutoDelete( TRUE );
m_stckUndo.clear();
m_stckRedo.clear();
m_stckUndo.setAutoDelete( FALSE );
m_stckRedo.setAutoDelete( FALSE );
}
kspread'KSpreadUndo::undo() (./koffice/kspread/kspread_undo.cc:83)
void KSpreadUndo::undo()
{
if ( m_stckUndo.isEmpty() )
return;
KSpreadUndoAction *a = m_stckUndo.pop();
a->undo();
m_stckRedo.push( a );
if ( m_pDoc )
{
m_pDoc->enableUndo( hasUndoActions() );
m_pDoc->enableRedo( hasRedoActions() );
}
}
kspread'KSpreadUndo::redo() (./koffice/kspread/kspread_undo.cc:98)
void KSpreadUndo::redo()
{
if ( m_stckRedo.isEmpty() )
return;
KSpreadUndoAction *a = m_stckRedo.pop();
a->redo();
m_stckUndo.push( a );
if ( m_pDoc )
{
m_pDoc->enableUndo( hasUndoActions() );
m_pDoc->enableRedo( hasRedoActions() );
}
}
/****************************************************************************
*
* KSpreadUndoDeleteColumn
*
***************************************************************************/