The Gnome Chemistry Utils
0.12.11
Main Page
Namespaces
Classes
Files
File List
File Members
libs
gcp
reaction-step.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
3
/*
4
* GChemPaint library
5
* reaction-step.h
6
*
7
* Copyright (C) 2004-2010 Jean Bréfort <jean.brefort@normalesup.org>
8
*
9
* This program is free software; you can redistribute it and/or
10
* modify it under the terms of the GNU General Public License as
11
* published by the Free Software Foundation; either version 2 of the
12
* License, or (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the GNU General Public License
20
* along with this program; if not, write to the Free Software
21
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
22
* USA
23
*/
24
25
#ifndef GCHEMPAINT_REACTION_STEP_H
26
#define GCHEMPAINT_REACTION_STEP_H
27
28
#include <
gcp/mechanism-step.h
>
29
#include <
gccv/structs.h
>
30
#include <set>
31
33
namespace
gcp {
34
35
class
Molecule;
36
class
Reaction;
37
class
ReactionArrow;
38
39
extern
gcu::TypeId
ReactionStepType;
40
49
class
ReactionStep
:
public
MechanismStep
50
{
51
public
:
55
ReactionStep
();
59
virtual
~ReactionStep
();
60
69
ReactionStep
(
Reaction
*reaction, std::map<double, gcu::Object*>& Children, std::map<gcu::Object*, gccv::Rect> Objects)
throw
(std::invalid_argument);
76
xmlNodePtr
Save
(xmlDocPtr xml)
const
;
83
bool
Load
(xmlNodePtr node);
88
double
GetYAlign
();
99
bool
OnSignal
(
gcu::SignalId
Signal,
gcu::Object
*Child);
100
106
void
AddArrow
(
ReactionArrow
*arrow) {m_Arrows.insert (arrow);}
113
void
RemoveArrow
(
ReactionArrow
*arrow);
114
118
std::string
Name
();
125
void
AddMolecule
(
Molecule
*molecule,
bool
signal =
true
);
126
127
private
:
128
void
CleanChildren ();
129
130
private
:
131
bool
m_bLoading;
132
std::set<ReactionArrow *> m_Arrows;
133
};
134
135
}
// namespace gcp
136
137
#endif // GCHEMPAINT_REACTION_STEP_H
Generated on Tue Jun 26 2012 08:44:53 for The Gnome Chemistry Utils by
1.8.1.1