The Gnome Chemistry Utils  0.14.0
Public Member Functions | List of all members
gcp::Mesomer Class Reference

#include <gcp/mesomer.h>

Inheritance diagram for gcp::Mesomer:
gcp::MechanismStep gcp::Step gcu::Object

Public Member Functions

 Mesomer ()
virtual ~Mesomer ()
 Mesomer (Mesomery *mesomery, Molecule *molecule) throw (std::invalid_argument)
 Mesomer (Mesomery *mesomery, MechanismStep *step) throw (std::invalid_argument)
bool Load (xmlNodePtr node)
bool OnSignal (gcu::SignalId Signal, gcu::Object *Child)
double GetYAlign ()
void AddArrow (MesomeryArrow *arrow, Mesomer *mesomer) throw (std::invalid_argument)
void RemoveArrow (MesomeryArrow *arrow, Mesomer *mesomer)
bool Validate ()
std::map< Mesomer
*, MesomeryArrow * > * 
GetArrows ()
MoleculeGetMolecule ()
std::string Name ()
- Public Member Functions inherited from gcp::MechanismStep
 MechanismStep (gcu::TypeId type=MechanismStepType)
virtual ~MechanismStep ()
xmlNodePtr Save (xmlDocPtr xml) const
void NotifyEmpty ()
bool BuildContextualMenu (gcu::UIManager *UIManager, gcu::Object *object, double x, double y)
- Public Member Functions inherited from gcp::Step
 Step (gcu::TypeId type)
virtual ~Step ()
void AddArrow (Arrow *arrow, Step *step) throw (std::invalid_argument)
void RemoveArrow (Arrow *arrow, Step *step)
- 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 bool GetCoords (double *x, double *y, double *z=NULL) const
virtual void Move (double x, double y, double z=0.)
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)
void EmitSignal (SignalId Signal)
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 std::string GetProperty (unsigned property) const
virtual void OnLoaded ()
void SetDirty (bool dirty=true)
virtual void Clear ()
std::string Identity ()
virtual char const * HasPropertiesDialog () const
virtual bool CanSelect () const
void ShowPropertiesDialog ()
bool GetDirty (void) const

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

Represents one esomeric form in a mesomery relationship.

Definition at line 43 of file mesomer.h.

Constructor & Destructor Documentation

gcp::Mesomer::Mesomer ( )

The default constructor.

virtual gcp::Mesomer::~Mesomer ( )
virtual

The destructor.

gcp::Mesomer::Mesomer ( Mesomery mesomery,
Molecule molecule 
) throw (std::invalid_argument)
Parameters
mesomerythe parent Mesomery.
moleculethe molecule of the mesomeric form.

Constructs a Mesomer from its parent Mesomery and a molecule. If one of them is invalid, it throws an std::invalid_argument exception and should be destroyed since it is invalid.

gcp::Mesomer::Mesomer ( Mesomery mesomery,
MechanismStep step 
) throw (std::invalid_argument)
Parameters
mesomerythe parent Mesomery.
stepa mesomeric form with curved arrows.

Constructs a Mesomer from its parent Mesomery and a molecule with at least one curved arrow. If one of them is invalid, it throws an std::invalid_argument exception and should be destroyed since it is invalid.

Member Function Documentation

void gcp::Mesomer::AddArrow ( MesomeryArrow arrow,
Mesomer mesomer 
) throw (std::invalid_argument)
Parameters
arrowa mesomery arrow
mesomerthe mesomer at the other end of the arrow.

Adds the arrow to the arrows map. See Mesomer::GetArrows().

std::map<Mesomer *, MesomeryArrow *>* gcp::Mesomer::GetArrows ( )
inline
Returns
the map of all arrows pointing to this mesomer indexed by the mesomer at the other end of the arrow.

Reimplemented from gcp::Step.

Definition at line 120 of file mesomer.h.

Molecule* gcp::Mesomer::GetMolecule ( void  )
inline
Returns
th molecule associated with this mesomer.

Definition at line 124 of file mesomer.h.

double gcp::Mesomer::GetYAlign ( )
virtual

Used to retrieve the y coordinate for alignment. Calls gcp::Molecule::GetYAlign for the embedded molecule and returns the result.

Returns
y coordinate used for alignment.

Reimplemented from gcp::MechanismStep.

bool gcp::Mesomer::Load ( xmlNodePtr  node)
virtual
Parameters
nodea pointer to the xmlNode containing the serialized object.

Used to load a mesomer in memory. The mesomer must already exist.

Returns
true on succes, false otherwise.

Reimplemented from gcp::MechanismStep.

std::string gcp::Mesomer::Name ( )
virtual
Returns
the localized object generic name.

Reimplemented from gcp::MechanismStep.

bool gcp::Mesomer::OnSignal ( gcu::SignalId  Signal,
gcu::Object Child 
)
virtual
Parameters
Signalthe appropriate SignalId
Childthe child which emitted the signal or NULL

This function is called by the framework when a signal has been emitted for the mesomer. It should not be called by a program; call Object::EmitSignal instead.

Returns
true if the signal should be propagated to the parent, false otherwise.

Reimplemented from gcp::MechanismStep.

void gcp::Mesomer::RemoveArrow ( MesomeryArrow arrow,
Mesomer mesomer 
)
Parameters
arrowa mesomery arrow
mesomerthe mesomer at the other end of the arrow.

Removes the arrow from the arrows map. See Mesomer::GetArrows().

bool gcp::Mesomer::Validate ( )
inline
Returns
true if the mesomer is associated with at least one mesomery arrow, false otherwise. See gp::Mesomery::Validtae() for more information.

Reimplemented from gcp::Step.

Definition at line 115 of file mesomer.h.


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