The Gnome Chemistry Utils  0.14.17
Public Member Functions | Protected Attributes | List of all members
gcp::TextObject Class Referenceabstract

#include <gcp/text-object.h>

Inheritance diagram for gcp::TextObject:
gcu::Object gccv::TextClient gccv::ItemClient gcp::Fragment gcp::Text

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
 
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
 
void SelectionChanged (unsigned start, unsigned end)
 
void TextChanged (unsigned pos)
 
gccv::TextTagList GetTagList (void)
 
void SetEditor (TextEditor *val)
 
TextEditorGetEditor (void) const
 
TextEditor *& GetRefEditor (void)
 
gccv::TextGetTextItem (void)
 
- Public Member Functions inherited from gcu::Object
 Object (TypeId Id=OtherType)
 
virtual ~Object ()
 
TypeId GetType () const
 
void SetId (gchar const *Id)
 
char const * GetId () const
 
virtual void AddChild (Object *object)
 
ObjectGetMolecule () const
 
ObjectGetReaction () const
 
ObjectGetGroup () const
 
DocumentGetDocument () const
 
ApplicationGetApplication () const
 
ObjectGetParentOfType (TypeId Id) const
 
ObjectGetChild (const gchar *Id) const
 
ObjectGetFirstChild (std::map< std::string, Object *>::iterator &i)
 
ObjectGetNextChild (std::map< std::string, Object *>::iterator &i)
 
ObjectGetDescendant (const char *Id) const
 
ObjectGetParent () const
 
void SetParent (Object *Parent)
 
virtual xmlNodePtr Save (xmlDocPtr xml) const
 
virtual bool GetCoords (double *x, double *y, double *z=NULL) const
 
virtual void Transform2D (Matrix2D &m, double x, double y)
 
bool SaveChildren (xmlDocPtr xml, xmlNodePtr node) const
 
void SaveId (xmlNodePtr node) const
 
xmlNodePtr GetNodeByProp (xmlNodePtr node, char const *Property, char const *Id)
 
xmlNodePtr GetNextNodeByProp (xmlNodePtr node, char const *Property, char const *Id)
 
xmlNodePtr GetNodeByName (xmlNodePtr node, char const *Name)
 
xmlNodePtr GetNextNodeByName (xmlNodePtr node, char const *Name)
 
bool HasChildren () const
 
unsigned GetChildrenNumber () const
 
virtual ObjectGetAtomAt (double x, double y, double z=0.)
 
virtual bool Build (std::set< Object * > const &Children) throw (std::invalid_argument)
 
virtual double GetYAlign ()
 
virtual bool BuildContextualMenu (UIManager *uim, Object *object, double x, double y)
 
void EmitSignal (SignalId Signal)
 
virtual bool OnSignal (SignalId Signal, Object *Child)
 
void Lock (bool state=true)
 
bool IsLocked ()
 
ObjectGetFirstLink (std::set< Object *>::iterator &i)
 
ObjectGetNextLink (std::set< Object *>::iterator &i)
 
void Link (Object *object)
 
void Unlink (Object *object)
 
virtual void OnUnlink (Object *object)
 
void GetPossibleAncestorTypes (std::set< TypeId > &types) const
 
virtual bool SetProperty (unsigned property, char const *value)
 
virtual void OnLoaded ()
 
void SetDirty (bool dirty=true)
 
virtual void Clear ()
 
virtual std::string Name ()
 
std::string Identity ()
 
virtual char const * HasPropertiesDialog () const
 
virtual bool CanSelect () const
 
virtual void NotifyEmpty ()
 
void ShowPropertiesDialog ()
 
bool GetDirty (void) const
 
- Public Member Functions inherited from gccv::TextClient
 TextClient ()
 
virtual ~TextClient ()
 
virtual void InterlineChanged (G_GNUC_UNUSED double interline)
 
virtual void JustificationChanged (G_GNUC_UNUSED GtkJustification justification)
 
- Public Member Functions inherited from gccv::ItemClient
 ItemClient ()
 
virtual ~ItemClient ()
 
virtual void AddItem ()
 
virtual void UpdateItem ()
 
virtual void SetSelected (int state)
 
ItemGetItem (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
 
gccv::TextTagList m_TagList
 
gccv::Textm_TextItem
 
- Protected Attributes inherited from gccv::ItemClient
Itemm_Item
 

Additional Inherited Members

- Static Public Member Functions inherited from gcu::Object
static TypeId AddType (std::string TypeName, Object *(*CreateFunc)(), TypeId id=OtherType)
 
static void AddAlias (TypeId id, std::string TypeName)
 
static ObjectCreateObject (const std::string &TypeName, Object *parent=NULL)
 
static TypeId GetTypeId (const std::string &Name)
 
static std::string GetTypeName (TypeId Id)
 
static void AddMenuCallback (TypeId Id, BuildMenuCb cb)
 
static void AddRule (TypeId type1, RuleId rule, TypeId type2)
 
static void AddRule (const std::string &type1, RuleId rule, const std::string &type2)
 
static const std::set< TypeId > & GetRules (TypeId type, RuleId rule)
 
static const std::set< TypeId > & GetRules (const std::string &type, RuleId rule)
 
static void SetCreationLabel (TypeId Id, std::string Label)
 
static const std::string & GetCreationLabel (TypeId Id)
 
static const std::string & GetCreationLabel (const std::string &TypeName)
 
static SignalId CreateNewSignalId ()
 
- Protected Member Functions inherited from gcu::Object
virtual DialogBuildPropertiesDialog ()
 

Detailed Description

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

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

Constructor & Destructor Documentation

◆ TextObject() [1/2]

gcp::TextObject::TextObject ( gcu::TypeId  Type)
Parameters
Typethe TypeId of the derived class.

The default constructor.

◆ TextObject() [2/2]

gcp::TextObject::TextObject ( double  x,
double  y,
gcu::TypeId  Type 
)
Parameters
Typethe TypeId of the derived class.
xthe horizontal poisition.
ythe vertical poisition.

Constructs and sets the position of the text object.

◆ ~TextObject()

virtual gcp::TextObject::~TextObject ( )
virtual

The destructor.

Member Function Documentation

◆ GetBuffer()

std::string gcp::TextObject::GetBuffer ( )
inline
Returns
the raw text contained in the object.

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

◆ GetEditor()

gcp::TextObject::GetEditor ( void  ) const
inline
Returns
the associated text editor.

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

◆ GetProperty()

virtual std::string gcp::TextObject::GetProperty ( unsigned  property) const
virtual
Parameters
propertythe 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.

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

◆ GetRefEditor()

gcp::TextObject::GetRefEditor ( void  )
inline
Returns
the associated text editor as a reference.

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

◆ GetSelectionBounds()

void gcp::TextObject::GetSelectionBounds ( unsigned &  start,
unsigned &  end 
)
inline
Parameters
startwhere to store the start of the selection.
endwhere to store the end of the selection.

The values set as bounds are in bytes.

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

◆ GetSize()

void gcp::TextObject::GetSize ( double &  x,
double &  y 
)
inline
Parameters
xthe variable to be set to the width value.
ythe variable to be set to the height value.

Retrieves the size of the text in canvas coordinates.

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

◆ GetTagList()

gcp::TextObject::GetTagList ( void  )
inline
Returns
a copy of the tags list for this object.

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

◆ GetTextItem()

gcp::TextObject::GetTextItem ( void  )
inline
Returns
the canvas text item used to display the object.

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

◆ IsLocked()

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.

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

◆ Load()

bool gcp::TextObject::Load ( xmlNodePtr  node)
virtual
Parameters
nodethe xml node representing the text.

Loads the position and Id.

Reimplemented from gcu::Object.

Reimplemented in gcp::Text.

◆ LoadSelected()

void gcp::TextObject::LoadSelected ( xmlNodePtr  node)
Parameters
nodethe xml node representing the text to import.

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

◆ Move()

void gcp::TextObject::Move ( double  x,
double  y,
double  z = 0 
)
virtual
Parameters
xthe horizontal translation.
ythe vertical translation.
zthe depth translation.

The z variable is not useful.

Reimplemented from gcu::Object.

◆ OnChanged()

virtual bool gcp::TextObject::OnChanged ( bool  save)
pure virtual
Parameters
savewhether 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.

◆ SaveNode()

bool gcp::TextObject::SaveNode ( xmlDocPtr  xml,
xmlNodePtr  node 
) const
Parameters
xmlthe xml document.
nodethe node representing the text.

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

◆ SaveSelected()

xmlNodePtr gcp::TextObject::SaveSelected ( )

Saves the selection.

Returns
the xml node representing the selection.

◆ SelectionChanged()

void gcp::TextObject::SelectionChanged ( unsigned  start,
unsigned  end 
)
virtual
Parameters
startnew selection start index.
endnew selection end index.

Notifies the client that the selection position has changed.

Implements gccv::TextClient.

◆ SetEditor()

gcp::TextObject::SetEditor ( TextEditor val)
inline
Parameters
valthe text editor associated with the object during edition.

Associates val with the object during edition.

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

◆ TextChanged()

void gcp::TextObject::TextChanged ( unsigned  pos)
virtual
Parameters
posthe new cursor position.

Notifies the client that the text has been changed.

Implements gccv::TextClient.

Member Data Documentation

◆ m_ascent

int gcp::TextObject::m_ascent
protected

The ascent of the text.

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

◆ m_bLoading

bool gcp::TextObject::m_bLoading
protected

treu on loading, false otherwise.

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

◆ m_buf

std::string gcp::TextObject::m_buf
protected

The text owned byt the object.

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

Referenced by gcp::Text::SetText().

◆ m_EndSel

unsigned gcp::TextObject::m_EndSel
protected

The index in bytes of the end of the selection.

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

◆ m_height

double gcp::TextObject::m_height
protected

The height of the object in canvas units.

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

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

◆ m_InsertOffset

int gcp::TextObject::m_InsertOffset
protected

The current insertionposition.

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

◆ m_length

double gcp::TextObject::m_length
protected

The width of the object in canvas units.

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

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

◆ m_RealSave

bool gcp::TextObject::m_RealSave
protected

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

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

◆ m_StartSel

unsigned gcp::TextObject::m_StartSel
protected

The index in bytes of the start of the selection.

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

◆ m_TagList

gcp::TextObject::m_TagList
protected

The tags list associated with the object.

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

◆ m_TextItem

gcp::TextObject::m_TextItem
protected

The canvas text item used to display the object.

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

◆ m_x

double gcp::TextObject::m_x
protected

The horizontal of the object in canvas units.

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

◆ m_y

double gcp::TextObject::m_y
protected

The vertical of the object in canvas units.

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


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