# gcp::Text Class Reference

`#include <text.h>`

Inheritance diagram for gcp::Text:

List of all members.

## Public Member Functions

| Text ()
| Text (double x, double y)
virtual | ~Text ()
void | GetCoords (double *x, double *y)
void | SetCoords (double x, double y)
xmlNodePtr | Save (xmlDocPtr xml) const
xmlNodePtr | SaveSelection (xmlDocPtr xml) const
bool | Load (xmlNodePtr node)
bool | LoadSelection (xmlNodePtr node, unsigned pos)
bool | LoadNode (xmlNodePtr node, unsigned &pos, int level=0, int cur_size=0)
void | Add (GtkWidget *w) const
void | Update (GtkWidget *w) const
void | SetSelected (GtkWidget *w, int state)
bool | OnChanged (bool save)
void | Transform2D (gcu::Matrix2D &m, double x, double y)
bool | OnEvent (GdkEvent *event)
void | GetSize (double &x, double &y)
double | GetYAlign ()
void | SetText (char const *text)
bool | SetProperty (unsigned property, char const *value)
void | SetAlign (PangoAlignment val)
PangoAlignment | GetAlign (void) const
void | SetJustified (bool val)
bool | GetJustified (void) const
void | SetAnchor (GtkAnchorType val)
GtkAnchorType | GetAnchor (void) const

## Detailed Description

The text objects in GChemPaint, excluding atomic symbols. Using this class to represent chemical objects looses the chemical significance.

Definition at line 41 of file text.h.

## Constructor & Destructor Documentation

gcp::Text::Text | ( |  | ) |

The default constructor for an empty and unpositioned text.

gcp::Text::Text | ( | double | x,
|  | double | y |
| ) |  |  |

Parameters:

  | x | the x coordinate.
  | y | the y coordinate.

Constructs a new empty text positioned according to the given coordiantes

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

The destructor.

## Member Function Documentation

void gcp::Text::GetCoords | ( | double * | x,
|  | double * | y |
| ) |  |  |

Parameters:

  | x | a pointer to the double value which will receive the x coordinate of the text.
  | y | a pointer to the double value which will receive the y coordinate of the text.

Retrieves the coordinates of this text.

void gcp::Text::SetCoords | ( | double | x,
|  | double | y |
| ) |  |  |

Parameters:

  | x | the new x coordinate of the text.
  | y | the new y coordinate of the text.

Changes the position of this text.

xmlNodePtr gcp::Text::Save | ( | xmlDocPtr | xml | ) | const`[virtual]`

Parameters:

  | xml | the xmlDoc used to save the document.

Returns:
  a pointer to the xmlNode representing this text or NULL if an error occured.

Reimplemented from gcu::Object.

xmlNodePtr gcp::Text::SaveSelection | ( | xmlDocPtr | xml | ) | const

Parameters:

  | xml | the xmlDoc used for clipboard operations.

Saves the currently selected text. This method is used by the framework when editing the textual object.

Returns:
  the xmlNode containing the serialized selection.

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

Parameters:

  | node | the xml node representing the text.

Loads the text in memory.

Reimplemented from gcp::TextObject.

bool gcp::Text::LoadSelection | ( | xmlNodePtr | node,
|  | unsigned | pos |
| ) |  |  |

Parameters:

  | node | the xml node representing the text to insert.
  | pos | where to insert the new text.

Inserts a text inside an existing instance during a paste operation.

bool gcp::Text::LoadNode | ( | xmlNodePtr | node,
|  | unsigned & | pos,
|  | int | level = `0`,
|  | int | cur_size = `0` |
| ) |  |  |

Parameters:

  | node | the xml node representing a portion of the text.
  | pos | where to insert the new text.
  | level | the imbrication level used to filter out extra text nodes added by libxml2.
  | cur_size | the current size in bytes.

Loads a portion of a text with a unique set of attributes. pos and cur_size are updated.

void gcp::Text::Add | ( | GtkWidget * | w | ) | const`[virtual]`

Parameters:

  | w | a GtkWidget.

Adds the representation of the text to the canvas widget.

Reimplemented from gcu::Object.

void gcp::Text::Update | ( | GtkWidget * | w | ) | const`[virtual]`

Parameters:

  | w | a GtkWidget.

Updates the representation of the text in the canvas widget.

Reimplemented from gcu::Object.

void gcp::Text::SetSelected | ( | GtkWidget * | w,
|  | int | state |
| ) |  |  | `[virtual]`

Parameters:

  | w | the GtkWidget inside which the text is displayed.
  | state | the selection state of the text.

Used to set the selection state of text inside the widget. The values of state might be gcp::SelStateUnselected, gcp::SelStateSelected, gcp::SelStateUpdating, or gcp::SelStateErasing.

Reimplemented from gcu::Object.

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

Parameters:

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

Called after any change in the text.

Implements gcp::TextObject.

void gcp::Text::Transform2D | ( | gcu::Matrix2D & | m,
|  | double | x,
|  | double | y |
| ) |  |  | `[virtual]`

Parameters:

  | m | the Matrix2D of the transformation.
  | x | the x component of the center of the transformation.
  | y | the y component of the center of the transformation.

Used to move and/or transform a text object. Text rotation is not currently supported. The text which just be moved after transformation of its coordinates.

Reimplemented from gcu::Object.

bool gcp::Text::OnEvent | ( | GdkEvent * | event | ) |

Parameters:

  | event | a GdkEvent.

Called by the framework during the edition of the text item. It is just called to filter out right button clicks.

Returns:
  true for right button clicks to filetr them out, false for other events.

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

Parameters:

  | x | where to store the width of the text.
  | y | where to store the height of the text.

The sizes are given in canvas coordinates.

Reimplemented from gcp::TextObject.

Definition at line 162 of file text.h.

References gcp::TextObject::m_height, and gcp::TextObject::m_length.

double gcp::Text::GetYAlign | ( |  | ) | `[virtual]`

Returns:
  the y coordinate at half height of a carbon atom symbol if any was present at default size so that all texts and chemicalk symbols will have the same base line when aligned.

Reimplemented from gcu::Object.

void gcp::Text::SetText | ( | char const * | text | ) | `[inline]`

Parameters:

  | text | the text to display.

Sets the text for this instance. The text will be displayed using the default font settings.

Definition at line 175 of file text.h.

References gcp::TextObject::m_buf.

bool gcp::Text::SetProperty | ( | unsigned | property,
|  | char const * | value |
| ) |  |  | `[virtual]`

Parameters:

  | property | the property id as defined in objprops.h
  | value | the property value as a string

Used when loading to set properties for the fragment. This method supports GCU_PROP_POS2D, GCU_PROP_TEXT_MARKUP, GCU_PROP_TEXT_TEXT, GCU_PROP_TEXT_ALIGNMENT and GCU_PROP_TEXT_JUSTIFICATION.

Returns:
  true if the property could be set, or if the property is not relevant, false otherwise.

Reimplemented from gcu::Object.

gcp::Text::SetAlign | ( | PangoAlignment | Align | ) | `[inline]`

fn GetRefAlign()

Returns:
  the current PangoAlignment for the text instance as a reference.

Parameters:

  | Align | the new PangoAlignment for the text.

Sets the PangoAlignment for the text. Default is PANGO_ALIGN_LEFT.

Definition at line 198 of file text.h.

gcp::Text::GetAlign | ( | void |  | ) | const`[inline]`

Returns:
  the current PangoAlignment for the text instance.

Definition at line 198 of file text.h.

gcp::Text::SetJustified | ( | bool | Justified | ) | `[inline]`

fn GetRefJustified()

Returns:
  the justification for the text as a reference.

Parameters:

  | Justified | whether the text should be justified.

Sets the justification for the text. Default is false.

Definition at line 210 of file text.h.

gcp::Text::GetJustified | ( | void |  | ) | const`[inline]`

Returns:
  the justification for the text.

Definition at line 210 of file text.h.

gcp::Text::SetAnchor | ( | GtkAnchorType | Anchor | ) | `[inline]`

fn GetRefAnchor()

Returns:
  the GtkAnchorType used for the text as a reference.

Parameters:

  | Anchor | the new GtkAnchorType for the text.

Sets the GtkAnchorType used for this text. Default is GTK_ANCHOR_W. The vertical alignment being based on the base line with an offset equal to the half height of a carbon atom symbol using the current document theme.

Definition at line 224 of file text.h.

gcp::Text::GetAnchor | ( | void |  | ) | const`[inline]`

Returns:
  the GtkAnchorType used for the text.

Definition at line 224 of file text.h.

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

- text.h