Version: 3.0.2
wxRichTextAction Class Reference

#include <wx/richtext/richtextbuffer.h>

+ Inheritance diagram for wxRichTextAction:

Detailed Description

Implements a part of a command.

Library:  wxRichText
Category:  Rich Text
See Also
wxRichTextCommand

Public Member Functions

 wxRichTextAction (wxRichTextCommand *cmd, const wxString &name, wxRichTextCommandId id, wxRichTextBuffer *buffer, wxRichTextParagraphLayoutBox *container, wxRichTextCtrl *ctrl, bool ignoreFirstTime=false)
 Constructor.
 
virtual ~wxRichTextAction ()
 
bool Do ()
 Performs the action.
 
bool Undo ()
 Undoes the action.
 
void UpdateAppearance (long caretPosition, bool sendUpdateEvent=false, wxArrayInt *optimizationLineCharPositions=NULL, wxArrayInt *optimizationLineYPositions=NULL, bool isDoCmd=true)
 Updates the control appearance, optimizing if possible given information from the call to Layout.
 
void ApplyParagraphs (const wxRichTextParagraphLayoutBox &fragment)
 Replaces the buffer paragraphs with the given fragment.
 
wxRichTextParagraphLayoutBoxGetNewParagraphs ()
 Returns the new fragments.
 
wxRichTextParagraphLayoutBoxGetOldParagraphs ()
 Returns the old fragments.
 
wxRichTextAttrGetAttributes ()
 Returns the attributes, for single-object commands.
 
wxRichTextObjectGetObject () const
 Returns the object to replace the one at the position defined by the container address and the action's range start position.
 
void StoreObject (wxRichTextObject *obj)
 Stores the object to replace the one at the position defined by the container address without making an address for it.
 
void SetObject (wxRichTextObject *obj)
 Sets the object to replace the one at the position defined by the container address and the action's range start position.
 
void MakeObject (wxRichTextObject *obj)
 Makes an address from the given object.
 
void SetOldAndNewObjects (wxRichTextObject *oldObj, wxRichTextObject *newObj)
 Sets the existing and new objects, for use with wxRICHTEXT_CHANGE_OBJECT.
 
void CalculateRefreshOptimizations (wxArrayInt &optimizationLineCharPositions, wxArrayInt &optimizationLineYPositions)
 Calculate arrays for refresh optimization.
 
void SetPosition (long pos)
 Sets the position used for e.g.
 
long GetPosition () const
 Returns the position used for e.g.
 
void SetRange (const wxRichTextRange &range)
 Sets the range for e.g.
 
const wxRichTextRangeGetRange () const
 Returns the range for e.g.
 
wxRichTextObjectAddressGetContainerAddress ()
 Returns the address (nested position) of the container within the buffer being manipulated.
 
const wxRichTextObjectAddressGetContainerAddress () const
 Returns the address (nested position) of the container within the buffer being manipulated.
 
void SetContainerAddress (const wxRichTextObjectAddress &address)
 Sets the address (nested position) of the container within the buffer being manipulated.
 
void SetContainerAddress (wxRichTextParagraphLayoutBox *container, wxRichTextObject *obj)
 Sets the address (nested position) of the container within the buffer being manipulated.
 
wxRichTextParagraphLayoutBoxGetContainer () const
 Returns the container that this action refers to, using the container address and top-level buffer.
 
const wxStringGetName () const
 Returns the action name.
 
void SetIgnoreFirstTime (bool b)
 Instructs the first Do() command should be skipped as it's already been applied.
 
bool GetIgnoreFirstTime () const
 Returns true if the first Do() command should be skipped as it's already been applied.
 
- Public Member Functions inherited from wxObject
 wxObject ()
 Default ctor; initializes to NULL the internal reference data.
 
 wxObject (const wxObject &other)
 Copy ctor.
 
virtual ~wxObject ()
 Destructor.
 
virtual wxClassInfoGetClassInfo () const
 This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar).
 
wxObjectRefDataGetRefData () const
 Returns the wxObject::m_refData pointer, i.e. the data referenced by this object.
 
bool IsKindOf (const wxClassInfo *info) const
 Determines whether this class is a subclass of (or the same class as) the given class.
 
bool IsSameAs (const wxObject &obj) const
 Returns true if this object has the same data pointer as obj.
 
void Ref (const wxObject &clone)
 Makes this object refer to the data in clone.
 
void SetRefData (wxObjectRefData *data)
 Sets the wxObject::m_refData pointer.
 
void UnRef ()
 Decrements the reference count in the associated data, and if it is zero, deletes the data.
 
void UnShare ()
 This is the same of AllocExclusive() but this method is public.
 
void operator delete (void *buf)
 The delete operator is defined for debugging versions of the library only, when the identifier WXDEBUG is defined.
 
void * operator new (size_t size, const wxString &filename=NULL, int lineNum=0)
 The new operator is defined for debugging versions of the library only, when the identifier WXDEBUG is defined.
 

Protected Attributes

wxString m_name
 
wxRichTextBufferm_buffer
 
wxRichTextObjectAddress m_containerAddress
 
wxRichTextCtrlm_ctrl
 
wxRichTextParagraphLayoutBox m_newParagraphs
 
wxRichTextParagraphLayoutBox m_oldParagraphs
 
wxRichTextObjectm_object
 
wxRichTextAttr m_attributes
 
wxRichTextObjectAddress m_objectAddress
 
wxRichTextRange m_range
 
long m_position
 
bool m_ignoreThis
 
wxRichTextCommandId m_cmdId
 
- Protected Attributes inherited from wxObject
wxObjectRefDatam_refData
 Pointer to an object which is the object's reference-counted data.
 

Additional Inherited Members

- Protected Member Functions inherited from wxObject
void AllocExclusive ()
 Ensure that this object's data is not shared with any other object.
 
virtual wxObjectRefDataCreateRefData () const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it.
 
virtual wxObjectRefDataCloneRefData (const wxObjectRefData *data) const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data.
 

Constructor & Destructor Documentation

wxRichTextAction::wxRichTextAction ( wxRichTextCommand cmd,
const wxString name,
wxRichTextCommandId  id,
wxRichTextBuffer buffer,
wxRichTextParagraphLayoutBox container,
wxRichTextCtrl ctrl,
bool  ignoreFirstTime = false 
)

Constructor.

buffer is the top-level buffer, while container is the object within which the action is taking place. In the simplest case, they are the same.

virtual wxRichTextAction::~wxRichTextAction ( )
virtual

Member Function Documentation

void wxRichTextAction::ApplyParagraphs ( const wxRichTextParagraphLayoutBox fragment)

Replaces the buffer paragraphs with the given fragment.

void wxRichTextAction::CalculateRefreshOptimizations ( wxArrayInt optimizationLineCharPositions,
wxArrayInt optimizationLineYPositions 
)

Calculate arrays for refresh optimization.

bool wxRichTextAction::Do ( )

Performs the action.

wxRichTextAttr& wxRichTextAction::GetAttributes ( )
inline

Returns the attributes, for single-object commands.

wxRichTextParagraphLayoutBox* wxRichTextAction::GetContainer ( ) const

Returns the container that this action refers to, using the container address and top-level buffer.

wxRichTextObjectAddress& wxRichTextAction::GetContainerAddress ( )
inline

Returns the address (nested position) of the container within the buffer being manipulated.

const wxRichTextObjectAddress& wxRichTextAction::GetContainerAddress ( ) const
inline

Returns the address (nested position) of the container within the buffer being manipulated.

bool wxRichTextAction::GetIgnoreFirstTime ( ) const

Returns true if the first Do() command should be skipped as it's already been applied.

const wxString& wxRichTextAction::GetName ( ) const
inline

Returns the action name.

wxRichTextParagraphLayoutBox& wxRichTextAction::GetNewParagraphs ( )
inline

Returns the new fragments.

wxRichTextObject* wxRichTextAction::GetObject ( ) const
inline

Returns the object to replace the one at the position defined by the container address and the action's range start position.

wxRichTextParagraphLayoutBox& wxRichTextAction::GetOldParagraphs ( )
inline

Returns the old fragments.

long wxRichTextAction::GetPosition ( ) const
inline

Returns the position used for e.g.

insertion.

const wxRichTextRange& wxRichTextAction::GetRange ( ) const
inline

Returns the range for e.g.

deletion.

void wxRichTextAction::MakeObject ( wxRichTextObject obj)
inline

Makes an address from the given object.

void wxRichTextAction::SetContainerAddress ( const wxRichTextObjectAddress address)
inline

Sets the address (nested position) of the container within the buffer being manipulated.

void wxRichTextAction::SetContainerAddress ( wxRichTextParagraphLayoutBox container,
wxRichTextObject obj 
)
inline

Sets the address (nested position) of the container within the buffer being manipulated.

void wxRichTextAction::SetIgnoreFirstTime ( bool  b)

Instructs the first Do() command should be skipped as it's already been applied.

void wxRichTextAction::SetObject ( wxRichTextObject obj)
inline

Sets the object to replace the one at the position defined by the container address and the action's range start position.

void wxRichTextAction::SetOldAndNewObjects ( wxRichTextObject oldObj,
wxRichTextObject newObj 
)

Sets the existing and new objects, for use with wxRICHTEXT_CHANGE_OBJECT.

void wxRichTextAction::SetPosition ( long  pos)
inline

Sets the position used for e.g.

insertion.

void wxRichTextAction::SetRange ( const wxRichTextRange range)
inline

Sets the range for e.g.

deletion.

void wxRichTextAction::StoreObject ( wxRichTextObject obj)
inline

Stores the object to replace the one at the position defined by the container address without making an address for it.

See Also
SetObject(), MakeObject()).
bool wxRichTextAction::Undo ( )

Undoes the action.

void wxRichTextAction::UpdateAppearance ( long  caretPosition,
bool  sendUpdateEvent = false,
wxArrayInt optimizationLineCharPositions = NULL,
wxArrayInt optimizationLineYPositions = NULL,
bool  isDoCmd = true 
)

Updates the control appearance, optimizing if possible given information from the call to Layout.

Member Data Documentation

wxRichTextAttr wxRichTextAction::m_attributes
protected
wxRichTextBuffer* wxRichTextAction::m_buffer
protected
wxRichTextCommandId wxRichTextAction::m_cmdId
protected
wxRichTextObjectAddress wxRichTextAction::m_containerAddress
protected
wxRichTextCtrl* wxRichTextAction::m_ctrl
protected
bool wxRichTextAction::m_ignoreThis
protected
wxString wxRichTextAction::m_name
protected
wxRichTextParagraphLayoutBox wxRichTextAction::m_newParagraphs
protected
wxRichTextObject* wxRichTextAction::m_object
protected
wxRichTextObjectAddress wxRichTextAction::m_objectAddress
protected
wxRichTextParagraphLayoutBox wxRichTextAction::m_oldParagraphs
protected
long wxRichTextAction::m_position
protected
wxRichTextRange wxRichTextAction::m_range
protected