The Gnome Chemistry Utils
0.14.0
Main Page
Namespaces
Classes
Files
File List
File Members
libs
gcp
reactant.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
3
/*
4
* GChemPaint library
5
* reactant.h
6
*
7
* Copyright (C) 2004-2011 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 3 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_REACTANT_H
26
#define GCHEMPAINT_REACTANT_H
27
28
#include <
gcu/object.h
>
29
32
namespace
gcu {
33
class
UIManager;
34
}
35
36
namespace
gcp {
37
38
class
ReactionStep;
39
46
class
Reactant
:
public
gcu::Object
47
{
48
public
:
52
Reactant
();
56
virtual
~Reactant
();
57
62
Reactant
(
ReactionStep
* step,
gcu::Object
*
object
)
throw
(std::invalid_argument);
63
70
virtual
xmlNodePtr
Save
(xmlDocPtr xml)
const
;
78
virtual
bool
Load
(xmlNodePtr node);
79
83
unsigned
GetStoichiometry
()
const
{
return
m_Stoich;}
89
void
SetStoichiometry
(
unsigned
coef) {m_Stoich = coef;}
94
virtual
double
GetYAlign
();
104
bool
BuildContextualMenu
(
gcu::UIManager
*UIManager,
gcu::Object
*
object
,
double
x,
double
y);
115
bool
OnSignal
(
gcu::SignalId
Signal,
gcu::Object
*Child);
116
121
void
AddStoichiometry
();
125
gcu::Object
*
GetChild
() {
return
Child;}
129
gcu::Object
*
GetStoichChild
() {
return
Stoichiometry;}
130
134
std::string
Name
();
135
136
private
:
137
unsigned
m_Stoich;
//always positive
138
gcu::Object
*Stoichiometry;
139
gcu::Object
*Child;
140
};
141
142
}
// namespace gcp
143
144
#endif // GCHEMPAINT_REACTANT_H
Generated on Tue Jan 1 2013 22:29:23 for The Gnome Chemistry Utils by
1.8.1.2