gcp::Molecule Class Reference

Inheritance diagram for gcp::Molecule:

gcu::Object List of all members.

Public Member Functions

void Add (GtkWidget *w)
virtual bool Load (xmlNodePtr)
virtual xmlNodePtr Save (xmlDocPtr xml)
virtual void SetSelected (GtkWidget *w, int state)
virtual void Transform2D (Matrix2D &m, double x, double y)
virtual ObjectGetAtomAt (double x, double y, double z=0.)
virtual double GetYAlign ()
virtual bool BuildContextualMenu (GtkUIManager *UIManager, Object *object, double x, double y)
virtual bool OnSignal (SignalId Signal, Object *Child)
string GetAlignmentId ()

Detailed Description

Definition at line 35 of file molecule.h.


Member Function Documentation

void gcp::Molecule::Add ( GtkWidget *  w  )  [virtual]

Parameters:
w,: the GtkWidget inside which the Object will be displayed.
Used to add a representation of the Object in the widget. This method might be overrided for displayable Object classes unless the application uses another mechanism.

Reimplemented from gcu::Object.

virtual bool gcp::Molecule::Load ( xmlNodePtr  node  )  [virtual]

Parameters:
node,: a pointer to the xmlNode containing the serialized object.
Used to load an Object in memory. The Object must already exist.

Example:

        std::string str = (const char*)node->name;
        Object* pObject = Object::CreateObject(str, this);
        if (pObject) {
                if (!pObject->Load(node)) delete Object; 
        } else
                cerr << "Warning: unknown object: " << str << endl;

Returns:
true on succes, false otherwise.

Reimplemented from gcu::Object.

virtual xmlNodePtr gcp::Molecule::Save ( xmlDocPtr  xml  )  [virtual]

Parameters:
xml,: the xmlDoc used to save the document.
Used to save the Object to the xmlDoc. Each serializable Object should implement this virtual method.
Returns:
the xmlNode containing the serialized object. The name of the node should be the name of the corresponding type used as first parameter to the Object::AddType method. The default method just saves the id and children.

Reimplemented from gcu::Object.

virtual void gcp::Molecule::SetSelected ( GtkWidget *  w,
int  state 
) [virtual]

Parameters:
w,: the GtkWidget inside which the Object is displayed.
state,: the selection state of the Object.
Used to set the selection state of the Object inside the widget. The values of state are application dependant and have no default value.

Reimplemented from gcu::Object.

virtual void gcp::Molecule::Transform2D ( Matrix2D m,
double  x,
double  y 
) [virtual]

Parameters:
m,: the 2D Matrix 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 object. This virtual method must be overrided by Object derived classes for which it makes sense. The base Object class has no coordinates and the default method calls the corresponding method for every child.

Reimplemented from gcu::Object.

virtual Object* gcp::Molecule::GetAtomAt ( double  x,
double  y,
double  z = 0. 
) [virtual]

Parameters:
x,: the x coordinate
y,: the y coordinate
z,: the z coordinate
Returns:
a pointer to a child of type Atomtype at or near position defined by the coordinates passed as parameters. Default implementation returns NULL.

Reimplemented from gcu::Object.

virtual double gcp::Molecule::GetYAlign (  )  [virtual]

Used to retreive the y coordinate for alignment. The default implementation returns 0.0 and every derived class for which alignment has a meaning should implement this method.

Returns:
y coordinate used for objects alignment.

Reimplemented from gcu::Object.

virtual bool gcp::Molecule::BuildContextualMenu ( GtkUIManager *  UIManager,
Object object,
double  x,
double  y 
) [virtual]

Parameters:
UIManager,: the GtkUIanager to populate.
object,: the Object on which occured the mouse click.
x,: x coordinate of the mouse click.
y,: y coordinate of the mouse click.
This method is called to build a contextual menu for the object. It is called by Object::ShowContextualMenu, so it should not be necessary to call it directly. It should be overrided by derived classes when a contextual menu is needed. Typically, each class adds a submenu and calls the same method for its parent. Default implementation calls registered BuildMenuCb callbacks and the parent's method. Derived classes should call Object::BuildContextualMenu before returning.
Returns:
true if something is added to the UIManager, false otherwise.

Reimplemented from gcu::Object.

virtual bool gcp::Molecule::OnSignal ( SignalId  Signal,
Object Child 
) [virtual]

Parameters:
Signal,: the appropriate SignalId
Child,: the child which emitted the signal or NULL
This function is called by the framework when a signal has been emitted for the object. 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 gcu::Object.


The documentation for this class was generated from the following file:
Generated on Thu Jun 28 09:02:03 2007 for The Gnome Chemistry Utils by  doxygen 1.5.2