Version: 2.9.4
Public Member Functions | Static Public Member Functions | Protected Attributes | Static Protected Attributes | Friends
wxRichTextParagraph Class Reference

#include </home/zeitlin/src/wx/github/interface/wx/richtext/richtextbuffer.h>

Inheritance diagram for wxRichTextParagraph:

Detailed Description

This object represents a single paragraph containing various objects such as text content, images, and further paragraph layout objects.

Library:  wxRichText
Category:  Rich Text
参照:
wxRichTextBuffer, wxRichTextCtrl

Public Member Functions

 wxRichTextParagraph (wxRichTextObject *parent=NULL, wxRichTextAttr *style=NULL)
 Constructor taking a parent and style.
 wxRichTextParagraph (const wxString &text, wxRichTextObject *parent=NULL, wxRichTextAttr *paraStyle=NULL, wxRichTextAttr *charStyle=NULL)
 Constructor taking a text string, a parent and paragraph and character attributes.
virtual ~wxRichTextParagraph ()
 wxRichTextParagraph (const wxRichTextParagraph &obj)
virtual bool Draw (wxDC &dc, wxRichTextDrawingContext &context, const wxRichTextRange &range, const wxRichTextSelection &selection, const wxRect &rect, int descent, int style)
 Draw the item, within the given range.
virtual bool Layout (wxDC &dc, wxRichTextDrawingContext &context, const wxRect &rect, const wxRect &parentRect, int style)
 Lay the item out at the specified position with the given size constraint.
virtual bool GetRangeSize (const wxRichTextRange &range, wxSize &size, int &descent, wxDC &dc, wxRichTextDrawingContext &context, int flags, wxPoint position=wxPoint(0, 0), wxArrayInt *partialExtents=NULL) const
 Returns the object size for the given range.
virtual bool FindPosition (wxDC &dc, wxRichTextDrawingContext &context, long index, wxPoint &pt, int *height, bool forceLineStart)
virtual int HitTest (wxDC &dc, wxRichTextDrawingContext &context, const wxPoint &pt, long &textPosition, wxRichTextObject **obj, wxRichTextObject **contextObj, int flags=0)
 Hit-testing: returns a flag indicating hit test details, plus information about position.
virtual void CalculateRange (long start, long &end)
 Calculates the range of the object.
virtual wxString GetXMLNodeName () const
 Returns the XML node name of this object.
wxRichTextLineList & GetLines ()
 Returns the cached lines.
void Copy (const wxRichTextParagraph &obj)
 Copies the object.
virtual wxRichTextObjectClone () const
 Clones the object.
void ClearLines ()
 Clears the cached lines.
virtual void ApplyParagraphStyle (wxRichTextLine *line, const wxRichTextAttr &attr, const wxRect &rect, wxDC &dc)
 Applies paragraph styles such as centering to the wrapped lines.
virtual bool InsertText (long pos, const wxString &text)
 Inserts text at the given position.
virtual wxRichTextObjectSplitAt (long pos, wxRichTextObject **previousObject=NULL)
 Splits an object at this position if necessary, and returns the previous object, or NULL if inserting at the beginning.
virtual void MoveToList (wxRichTextObject *obj, wxList &list)
 Moves content to a list from this point.
virtual void MoveFromList (wxList &list)
 Adds content back from a list.
bool GetContiguousPlainText (wxString &text, const wxRichTextRange &range, bool fromStart=true)
 Returns the plain text searching from the start or end of the range.
bool FindWrapPosition (const wxRichTextRange &range, wxDC &dc, wxRichTextDrawingContext &context, int availableSpace, long &wrapPosition, wxArrayInt *partialExtents)
 Finds a suitable wrap position.
wxRichTextObjectFindObjectAtPosition (long position)
 Finds the object at the given position.
wxString GetBulletText ()
 Returns the bullet text for this paragraph.
wxRichTextLineAllocateLine (int pos)
 Allocates or reuses a line object.
bool ClearUnusedLines (int lineCount)
 Clears remaining unused line objects, if any.
wxRichTextAttr GetCombinedAttributes (const wxRichTextAttr &contentStyle, bool includingBoxAttr=false) const
 Returns combined attributes of the base style, paragraph style and character style.
wxRichTextAttr GetCombinedAttributes (bool includingBoxAttr=false) const
 Returns the combined attributes of the base style and paragraph style.
long GetFirstLineBreakPosition (long pos)
 Returns the first position from pos that has a line break character.
void LayoutFloat (wxDC &dc, wxRichTextDrawingContext &context, const wxRect &rect, int style, wxRichTextFloatCollector *floatCollector)
 Lays out the floating objects.

Static Public Member Functions

static void InitDefaultTabs ()
 Creates a default tabstop array.
static void ClearDefaultTabs ()
 Clears the default tabstop array.
static const wxArrayIntGetDefaultTabs ()
 Returns the default tabstop array.

Protected Attributes

wxRichTextLineList m_cachedLines

Static Protected Attributes

static wxArrayInt sm_defaultTabs

Friends

class wxRichTextFloatCollector

List of all members.


Constructor & Destructor Documentation

wxRichTextParagraph::wxRichTextParagraph ( wxRichTextObject parent = NULL,
wxRichTextAttr style = NULL 
)

Constructor taking a parent and style.

wxRichTextParagraph::wxRichTextParagraph ( const wxString text,
wxRichTextObject parent = NULL,
wxRichTextAttr paraStyle = NULL,
wxRichTextAttr charStyle = NULL 
)

Constructor taking a text string, a parent and paragraph and character attributes.

virtual wxRichTextParagraph::~wxRichTextParagraph ( ) [virtual]
wxRichTextParagraph::wxRichTextParagraph ( const wxRichTextParagraph obj) [inline]

Member Function Documentation

wxRichTextLine* wxRichTextParagraph::AllocateLine ( int  pos)

Allocates or reuses a line object.

virtual void wxRichTextParagraph::ApplyParagraphStyle ( wxRichTextLine line,
const wxRichTextAttr attr,
const wxRect rect,
wxDC dc 
) [virtual]

Applies paragraph styles such as centering to the wrapped lines.

virtual void wxRichTextParagraph::CalculateRange ( long  start,
long &  end 
) [virtual]

Calculates the range of the object.

By default, guess that the object is 1 unit long.

Reimplemented from wxRichTextCompositeObject.

static void wxRichTextParagraph::ClearDefaultTabs ( ) [static]

Clears the default tabstop array.

void wxRichTextParagraph::ClearLines ( )

Clears the cached lines.

bool wxRichTextParagraph::ClearUnusedLines ( int  lineCount)

Clears remaining unused line objects, if any.

virtual wxRichTextObject* wxRichTextParagraph::Clone ( ) const [inline, virtual]

Clones the object.

Reimplemented from wxRichTextObject.

void wxRichTextParagraph::Copy ( const wxRichTextParagraph obj)

Copies the object.

virtual bool wxRichTextParagraph::Draw ( wxDC dc,
wxRichTextDrawingContext context,
const wxRichTextRange range,
const wxRichTextSelection selection,
const wxRect rect,
int  descent,
int  style 
) [virtual]

Draw the item, within the given range.

Some objects may ignore the range (for example paragraphs) while others must obey it (lines, to implement wrapping)

Implements wxRichTextObject.

wxRichTextObject* wxRichTextParagraph::FindObjectAtPosition ( long  position)

Finds the object at the given position.

virtual bool wxRichTextParagraph::FindPosition ( wxDC dc,
wxRichTextDrawingContext context,
long  index,
wxPoint pt,
int *  height,
bool  forceLineStart 
) [virtual]

Reimplemented from wxRichTextCompositeObject.

bool wxRichTextParagraph::FindWrapPosition ( const wxRichTextRange range,
wxDC dc,
wxRichTextDrawingContext context,
int  availableSpace,
long &  wrapPosition,
wxArrayInt partialExtents 
)

Finds a suitable wrap position.

wrapPosition is the last position in the line to the left of the split.

wxString wxRichTextParagraph::GetBulletText ( )

Returns the bullet text for this paragraph.

wxRichTextAttr wxRichTextParagraph::GetCombinedAttributes ( const wxRichTextAttr contentStyle,
bool  includingBoxAttr = false 
) const

Returns combined attributes of the base style, paragraph style and character style.

We use this to dynamically retrieve the actual style.

wxRichTextAttr wxRichTextParagraph::GetCombinedAttributes ( bool  includingBoxAttr = false) const

Returns the combined attributes of the base style and paragraph style.

bool wxRichTextParagraph::GetContiguousPlainText ( wxString text,
const wxRichTextRange range,
bool  fromStart = true 
)

Returns the plain text searching from the start or end of the range.

The resulting string may be shorter than the range given.

static const wxArrayInt& wxRichTextParagraph::GetDefaultTabs ( ) [inline, static]

Returns the default tabstop array.

long wxRichTextParagraph::GetFirstLineBreakPosition ( long  pos)

Returns the first position from pos that has a line break character.

wxRichTextLineList& wxRichTextParagraph::GetLines ( ) [inline]

Returns the cached lines.

virtual bool wxRichTextParagraph::GetRangeSize ( const wxRichTextRange range,
wxSize size,
int &  descent,
wxDC dc,
wxRichTextDrawingContext context,
int  flags,
wxPoint  position = wxPoint(0, 0),
wxArrayInt partialExtents = NULL 
) const [virtual]

Returns the object size for the given range.

Returns false if the range is invalid for this object.

Reimplemented from wxRichTextCompositeObject.

virtual wxString wxRichTextParagraph::GetXMLNodeName ( ) const [inline, virtual]

Returns the XML node name of this object.

This must be overridden for wxXmlNode-base XML export to work.

Reimplemented from wxRichTextObject.

virtual int wxRichTextParagraph::HitTest ( wxDC dc,
wxRichTextDrawingContext context,
const wxPoint pt,
long &  textPosition,
wxRichTextObject **  obj,
wxRichTextObject **  contextObj,
int  flags = 0 
) [virtual]

Hit-testing: returns a flag indicating hit test details, plus information about position.

contextObj is returned to specify what object position is relevant to, since otherwise there's an ambiguity. @ obj might not be a child of contextObj, since we may be referring to the container itself if we have no hit on a child - for example if we click outside an object.

The function puts the position in textPosition if one is found. pt is in logical units (a zero y position is at the beginning of the buffer).

Returns:
One of the wxRichTextHitTestFlags values.

Reimplemented from wxRichTextCompositeObject.

static void wxRichTextParagraph::InitDefaultTabs ( ) [static]

Creates a default tabstop array.

virtual bool wxRichTextParagraph::InsertText ( long  pos,
const wxString text 
) [virtual]

Inserts text at the given position.

virtual bool wxRichTextParagraph::Layout ( wxDC dc,
wxRichTextDrawingContext context,
const wxRect rect,
const wxRect parentRect,
int  style 
) [virtual]

Lay the item out at the specified position with the given size constraint.

Layout must set the cached size. is the available space for the object, and parentRect is the container that is used to determine a relative size or position (for example if a text box must be 50% of the parent text box).

Implements wxRichTextObject.

void wxRichTextParagraph::LayoutFloat ( wxDC dc,
wxRichTextDrawingContext context,
const wxRect rect,
int  style,
wxRichTextFloatCollector *  floatCollector 
)

Lays out the floating objects.

virtual void wxRichTextParagraph::MoveFromList ( wxList &  list) [virtual]

Adds content back from a list.

virtual void wxRichTextParagraph::MoveToList ( wxRichTextObject obj,
wxList &  list 
) [virtual]

Moves content to a list from this point.

virtual wxRichTextObject* wxRichTextParagraph::SplitAt ( long  pos,
wxRichTextObject **  previousObject = NULL 
) [virtual]

Splits an object at this position if necessary, and returns the previous object, or NULL if inserting at the beginning.


Friends And Related Function Documentation

friend class wxRichTextFloatCollector [friend]

Member Data Documentation

wxRichTextLineList wxRichTextParagraph::m_cachedLines [protected]
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines