# gcp::TextObject Class Reference

`#include <gcp/text-object.h>`

Inheritance diagram for gcp::TextObject:

List of all members.

## Public Member Functions

| TextObject (gcu::TypeId Type)
| TextObject (double x, double y, gcu::TypeId Type)
virtual | ~TextObject ()
void | GetSize (double &x, double &y)
xmlNodePtr | SaveSelected ()
void | LoadSelected (xmlNodePtr node)
virtual bool | OnChanged (bool save)=0
void | OnSelChanged (struct GnomeCanvasPangoSelBounds *bounds)
bool | SaveNode (xmlDocPtr xml, xmlNodePtr node) const
bool | Load (xmlNodePtr node)
void | Move (double x, double y, double z=0)
bool | IsLocked ()
void | GetSelectionBounds (unsigned &start, unsigned &end)
std::string | GetBuffer ()
virtual std::string | GetProperty (unsigned property) const
PangoLayout * | GetLayout (void)
PangoAttrList * | GetAttrList (void)
GtkAnchorType | GetAnchor (void)

## Protected Attributes

double | m_x
double | m_y
double | m_length
double | m_height
int | m_ascent
int | m_InsertOffset
std::string | m_buf
bool | m_bLoading
unsigned | m_StartSel
unsigned | m_EndSel
bool | m_RealSave
PangoLayout * | m_Layout
PangoAttrList * | m_AttrList
GtkAnchorType | m_Anchor

## Detailed Description

The base class for texts. This class is virtual with one pure virtual method (gcp::TextObject::OnSave).

Definition at line 42 of file text-object.h.

## Constructor & Destructor Documentation

gcp::TextObject::TextObject | ( | gcu::TypeId | Type | ) |

Parameters:

  | Type | the TypeId of the derived class.

The default constructor.

gcp::TextObject::TextObject | ( | double | x,
|  | double | y,
|  | gcu::TypeId | Type |
| ) |  |  |

Parameters:

  | Type | the TypeId of the derived class.
  | x | the horizontal poisition.
  | y | the vertical poisition.

Constructs and sets the position of the text object.

virtual gcp::TextObject::~TextObject | ( |  | ) | `[virtual]`

The destructor.

## Member Function Documentation

void gcp::TextObject::GetSize | ( | double & | x,
|  | double & | y |
| ) |  |  | `[inline]`

Parameters:

  | x | the variable to be set to the width value.
  | y | the variable to be set to the height value.

Retrieves the size of the text in canvas coordinates.

Reimplemented in gcp::Text.

Definition at line 70 of file text-object.h.

References m_height, and m_length.

xmlNodePtr gcp::TextObject::SaveSelected | ( |  | ) |

Saves the selection.

Returns:
  the xml node representing the selection.

void gcp::TextObject::LoadSelected | ( | xmlNodePtr | node | ) |

Parameters:

  | node | the xml node representing the text to import.

Replaces the contents of the text object by what is represented by the node.

virtual bool gcp::TextObject::OnChanged | ( | bool | save | ) | `[pure virtual]`

Parameters:

  | save | whether the text should be saved for undo/redo operations.

Must be called after any change in the text. This method is pure virtual and must be overloaded in derived classes.

Implemented in gcp::Fragment, and gcp::Text.

void gcp::TextObject::OnSelChanged | ( | struct GnomeCanvasPangoSelBounds * | bounds | ) |

Parameters:

  | bounds | the bounds of the selection.

Called during edition when the selection has changed, that is after any change. The signature of this method will change with the deprecation of GnomeCanvas.

bool gcp::TextObject::SaveNode | ( | xmlDocPtr | xml,
|  | xmlNodePtr | node |
| ) |  |  | const

Parameters:

  | xml | the xml document.
  | node | the node representing the text.

Saves the position and Id. Called by derived classes when saving if meaningful.

bool gcp::TextObject::Load | ( | xmlNodePtr | node | ) | `[virtual]`

Parameters:

  | node | the xml node representing the text.

Loads the position and Id.

Reimplemented from gcu::Object.

Reimplemented in gcp::Fragment, and gcp::Text.

void gcp::TextObject::Move | ( | double | x,
|  | double | y,
|  | double | z = `0` |
| ) |  |  | `[virtual]`

Parameters:

  | x | the horizontal translation.
  | y | the vertical translation.
  | z | the depth translation.

The z variable is not useful.

Reimplemented from gcu::Object.

Reimplemented in gcp::Fragment.

bool gcp::TextObject::IsLocked | ( |  | ) | `[inline]`

This is used because updates are not needed while loading util the whole text has been loaded.

Returns:
  true while loading, false otherwise.

Reimplemented from gcu::Object.

Definition at line 123 of file text-object.h.

References m_bLoading.

void gcp::TextObject::GetSelectionBounds | ( | unsigned & | start,
|  | unsigned & | end |
| ) |  |  | `[inline]`

Parameters:

  | start | where to store the start of the selection.
  | end | where to store the end of the selection.

The values set as bounds are in bytes.

Definition at line 130 of file text-object.h.

References m_EndSel, and m_StartSel.

std::string gcp::TextObject::GetBuffer | ( |  | ) | `[inline]`

Returns:
  the raw text contained in the object.

Definition at line 134 of file text-object.h.

References m_buf.

virtual std::string gcp::TextObject::GetProperty | ( | unsigned | property | ) | const`[virtual]`

Parameters:

  | property | the property id as defined in gcu/objprops.h

Used when saving to get properties from a text object. Only on eproperty is supported: GCU_PROP_TEXT_TEXT

Reimplemented from gcu::Object.

gcp::TextObject::GetLayout | ( | void |  | ) | `[inline]`

Returns:
  the PangoLayout for this object.

Definition at line 196 of file text-object.h.

gcp::TextObject::GetAttrList | ( | void |  | ) | `[inline]`

Returns:
  the current attributes list.

Definition at line 203 of file text-object.h.

gcp::TextObject::GetAnchor | ( | void |  | ) | `[inline]`

Returns:
  the current GtkAnchor.

Definition at line 212 of file text-object.h.

## Member Data Documentation

double gcp::TextObject::m_x `[protected]`

The horizontal of the object in canvas units.

Definition at line 147 of file text-object.h.

double gcp::TextObject::m_y `[protected]`

The vertical of the object in canvas units.

Definition at line 151 of file text-object.h.

double gcp::TextObject::m_length `[protected]`

The width of the object in canvas units.

Definition at line 155 of file text-object.h.

Referenced by gcp::Text::GetSize(), and GetSize().

double gcp::TextObject::m_height `[protected]`

The height of the object in canvas units.

Definition at line 159 of file text-object.h.

Referenced by gcp::Text::GetSize(), and GetSize().

int gcp::TextObject::m_ascent `[protected]`

The ascent of the text.

Definition at line 163 of file text-object.h.

int gcp::TextObject::m_InsertOffset `[protected]`

The current insertionposition.

Definition at line 167 of file text-object.h.

std::string gcp::TextObject::m_buf `[protected]`

The text owned byt the object.

Definition at line 171 of file text-object.h.

Referenced by GetBuffer(), and gcp::Text::SetText().

bool gcp::TextObject::m_bLoading `[protected]`

treu on loading, false otherwise.

Definition at line 175 of file text-object.h.

Referenced by IsLocked().

unsigned gcp::TextObject::m_StartSel `[protected]`

The index in bytes of the start of the selection.

Definition at line 179 of file text-object.h.

Referenced by GetSelectionBounds().

unsigned gcp::TextObject::m_EndSel `[protected]`

The index in bytes of the end of the selection.

Definition at line 183 of file text-object.h.

Referenced by GetSelectionBounds().

bool gcp::TextObject::m_RealSave `[protected]`

Tells whether the Save method is called for the whole text or just the selection.

Definition at line 188 of file text-object.h.

gcp::TextObject::m_Layout `[protected]`

The PangoLayout associated with the object.

Definition at line 196 of file text-object.h.

gcp::TextObject::m_AttrList `[protected]`

The PangoAttrList associated to the text.

Definition at line 203 of file text-object.h.

gcp::TextObject::m_Anchor `[protected]`

The GtkAnchor used for the text object. Default is GTK_ANCHOR_W. When GTK_ANCHOR_W, GTK_ANCHOR_CENTER, or GTK_ANCHOR_E is used, the base of the first line is used for vertical alignment.

Definition at line 212 of file text-object.h.

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

- text-object.h