The Gnome Chemistry Utils  0.14.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
gcp::Arrow Class Reference
Inheritance diagram for gcp::Arrow:
gcu::Object gccv::ItemClient gcp::MesomeryArrow gcp::ReactionArrow

Public Member Functions

 Arrow (gcu::TypeId Type)
virtual ~Arrow ()
bool Load (xmlNodePtr node)
void SetSelected (int state)
void SetCoords (double xstart, double ystart, double xend, double yend)
bool GetCoords (double *xstart, double *ystart, double *xend, double *yend) const
bool GetCoords (double *x, double *y, double *z=NULL) const
void Move (double x, double y, double z=0)
void Transform2D (gcu::Matrix2D &m, double x, double y)
double GetYAlign ()
bool SetProperty (unsigned property, char const *value)
void SetStartStep (Step *step)
Step ** GetStartStepPtr ()
StepGetStartStep () const
void SetEndStep (Step *step)
StepGetEndStep () const
Step ** GetEndStepPtr ()
void Reverse ()
void RemoveStep (Step *step)
double GetLength (void) const
- 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
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 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 std::string GetProperty (unsigned property) const
void SetDirty (bool dirty=true)
virtual void Clear ()
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::ItemClient
 ItemClient ()
virtual ~ItemClient ()
virtual void AddItem ()
virtual void UpdateItem ()
ItemGetItem (void)

Protected Member Functions

bool Save (xmlDocPtr xml, xmlNodePtr node) const
std::string Name ()
void OnLoaded ()
- Protected Member Functions inherited from gcu::Object
virtual DialogBuildPropertiesDialog ()

Protected Attributes

double m_x
double m_y
double m_width
double m_height
- 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 ()

Detailed Description

Definition at line 57 of file gcp/arrow.h.

Constructor & Destructor Documentation

gcp::Arrow::Arrow ( gcu::TypeId  Type)
Parameters
Typean arrow type id.

Used to create an arrow of type Id. Should only be called from the constructor of a derived class.

virtual gcp::Arrow::~Arrow ( )
virtual

The destructor.

Member Function Documentation

bool gcp::Arrow::GetCoords ( double *  xstart,
double *  ystart,
double *  xend,
double *  yend 
) const
Parameters
xstartwhere to store the x coordinate of the start point.
ystartwhere to store the y coordinate of the start point.
xendwhere to store the x coordinate of the end point.
yendwhere to store the y coordinate of the end point.

Retrieves the position of the arrow.

bool gcp::Arrow::GetCoords ( double *  x,
double *  y,
double *  z = NULL 
) const
virtual
Parameters
xa pointer to the double value which will receive the x coordinate of the Arrow.
ya pointer to the double value which will receive the y coordinate of the Arrow.
za pointer to the double value which will receive the z coordinate of the Arrow or NULL for 2D representations.

Retrieves the coordinates of this Arrow.

Returns
true if successful and false if an error occurs (if x or y is NULL).

Reimplemented from gcu::Object.

Step* gcp::Arrow::GetEndStep ( ) const
inline
Returns
the Step at last end of the arrow.

Definition at line 172 of file gcp/arrow.h.

Step** gcp::Arrow::GetEndStepPtr ( )
inline
Returns
a pointer to the Step at last end of the arrow.

Definition at line 176 of file gcp/arrow.h.

gcp::Arrow::GetLength ( void  ) const
inline
Returns
the arrow length.

Definition at line 233 of file gcp/arrow.h.

Step* gcp::Arrow::GetStartStep ( ) const
inline
Returns
the Step at first end of the arrow.

Definition at line 161 of file gcp/arrow.h.

Step** gcp::Arrow::GetStartStepPtr ( )
inline
Returns
a pointer to the Step at first end of the arrow.

Definition at line 157 of file gcp/arrow.h.

double gcp::Arrow::GetYAlign ( )
virtual

Used to retrieve the y coordinate for alignment.

Returns
y coordinate used for arrows alignment.

Reimplemented from gcu::Object.

bool gcp::Arrow::Load ( xmlNodePtr  node)
virtual
Parameters
node,:a pointer to the xmlNode containing the serialized arrow.

Used to load an Arrow in memory. This method must be called from derived classes overloaded Load methods.

Returns
true on succes, false otherwise.

Reimplemented from gcu::Object.

Reimplemented in gcp::ReactionArrow, and gcp::MesomeryArrow.

void gcp::Arrow::Move ( double  x,
double  y,
double  z = 0 
)
virtual
Parameters
x,:the x component of the transation vector.
y,:the y component of the transation vector.
z,:the z component of the transation vector (unused).

Used to move an arrow. The third parameter is not taken into account.

Reimplemented from gcu::Object.

Reimplemented in gcp::ReactionArrow.

std::string gcp::Arrow::Name ( )
protectedvirtual
Returns
"Arrow" (actually it is localized).

Reimplemented from gcu::Object.

Reimplemented in gcp::ReactionArrow, and gcp::MesomeryArrow.

void gcp::Arrow::OnLoaded ( )
protectedvirtual

This method should be called when an arrow has been fully loaded.

Reimplemented from gcu::Object.

void gcp::Arrow::RemoveStep ( Step step)
Parameters
stepthe Step to remove from the Scheme

Removes the Step, which might be either the initial or final step. If it not one of these, nothing is done.

void gcp::Arrow::Reverse ( )

Exchange both ends or the arrow and their associated steps.

Reimplemented in gcp::MesomeryArrow.

bool gcp::Arrow::Save ( xmlDocPtr  xml,
xmlNodePtr  node 
) const
protected
Parameters
xml,:the xmlDoc used to save the document.
node,:the node representing the Object.

This method must be called from derived classes overloaded Save methods.

Returns
true on succes, false otherwise.
void gcp::Arrow::SetCoords ( double  xstart,
double  ystart,
double  xend,
double  yend 
)
Parameters
xstartthe x coordinate of the start point.
ystartthe y coordinate of the start point.
xendthe x coordinate of the end point.
yendthe y coordinate of the end point.

Sets the position and length of an arrow.

void gcp::Arrow::SetEndStep ( Step step)
inline
Parameters
stepa Step

Sets step at last end of the arrow. This does not affect coordinates, alignment is dealt with elsewhere.

Definition at line 168 of file gcp/arrow.h.

bool gcp::Arrow::SetProperty ( unsigned  property,
char const *  value 
)
virtual
Parameters
propertythe property id as defined in objprops.h
valuethe property value as a string

Used when loading to set common properties to arrows. Only one property is currently supported: gcu::GCU_PROP_ARROW_COORDS.

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

Reimplemented from gcu::Object.

Reimplemented in gcp::ReactionArrow.

void gcp::Arrow::SetSelected ( int  state)
virtual
Parameters
state,:the selection state of the arrow.

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

Reimplemented from gccv::ItemClient.

Reimplemented in gcp::ReactionArrow.

void gcp::Arrow::SetStartStep ( Step step)
inline
Parameters
stepa Step

Sets step at first end of the arrow. This does not affect coordinates, alignment is dealt with elsewhere.

Definition at line 153 of file gcp/arrow.h.

void gcp::Arrow::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 an arrow.

Reimplemented from gcu::Object.

Member Data Documentation

double gcp::Arrow::m_height
protected

The y coordinate difference between tail and head.

Definition at line 225 of file gcp/arrow.h.

double gcp::Arrow::m_width
protected

The x coordinate difference between tail and head.

Definition at line 221 of file gcp/arrow.h.

double gcp::Arrow::m_x
protected

The x coordinate of the start point.

Definition at line 213 of file gcp/arrow.h.

double gcp::Arrow::m_y
protected

The y coordinate of the start point.

Definition at line 217 of file gcp/arrow.h.


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