FuncDoodle
Loading...
Searching...
No Matches
FuncDoodle::DeleteFrameAction Class Reference

Removes a frame from a project with undo support. More...

#include <Frame.h>

Inheritance diagram for FuncDoodle::DeleteFrameAction:
FuncDoodle::Action

Public Member Functions

 DeleteFrameAction (unsigned long frameI, const SharedPtr< ProjectFile > &proj)
 Creates an empty delete-frame action.
 DeleteFrameAction (unsigned long frameI, Frame *frame, const SharedPtr< ProjectFile > &proj)
 Creates a delete-frame action storing frame data.
void Undo () override
 Restores deleted frame.
void Redo () override
 Re-applies frame deletion.
Public Member Functions inherited from FuncDoodle::Action
virtual ~Action ()=default
 Virtual destructor for safe polymorphic destruction.

Private Attributes

unsigned long m_FrameIndex
 Frame index affected.
bool m_Empty
 Whether frame data exists.
std::optional< Framem_Frame
 Stored frame data for undo.
WeakPtr< ProjectFilem_Proj
 Owning project.

Detailed Description

Removes a frame from a project with undo support.

Constructor & Destructor Documentation

◆ DeleteFrameAction() [1/2]

FuncDoodle::DeleteFrameAction::DeleteFrameAction ( unsigned long frameI,
const SharedPtr< ProjectFile > & proj )
inline

Creates an empty delete-frame action.

◆ DeleteFrameAction() [2/2]

FuncDoodle::DeleteFrameAction::DeleteFrameAction ( unsigned long frameI,
Frame * frame,
const SharedPtr< ProjectFile > & proj )
inline

Creates a delete-frame action storing frame data.

Parameters
frameIIndex of the frame to remove.
frameFrame to delete (copied internally).
projProject that owns the frame.

Member Function Documentation

◆ Redo()

void FuncDoodle::DeleteFrameAction::Redo ( )
overridevirtual

Re-applies frame deletion.

Implements FuncDoodle::Action.

◆ Undo()

void FuncDoodle::DeleteFrameAction::Undo ( )
overridevirtual

Restores deleted frame.

Implements FuncDoodle::Action.

Member Data Documentation

◆ m_Empty

bool FuncDoodle::DeleteFrameAction::m_Empty
private

Whether frame data exists.

◆ m_Frame

std::optional<Frame> FuncDoodle::DeleteFrameAction::m_Frame
private

Stored frame data for undo.

◆ m_FrameIndex

unsigned long FuncDoodle::DeleteFrameAction::m_FrameIndex
private

Frame index affected.

◆ m_Proj

WeakPtr<ProjectFile> FuncDoodle::DeleteFrameAction::m_Proj
private

Owning project.


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