The Gnome Chemistry Utils
0.12.11
Main Page
Namespaces
Classes
Files
File List
File Members
libs
gcp
reaction-arrow.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
3
/*
4
* GChemPaint library
5
* reaction-arrow.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_ARROW_H
26
#define GCHEMPAINT_REACTION_ARROW_H
27
30
#include "
arrow.h
"
31
32
namespace
gcp {
33
34
class
ReactionStep;
35
class
Reaction;
36
class
ReactionProp;
37
40
class
ReactionArrow
:
public
Arrow
41
{
42
public
:
45
ReactionArrow
(
Reaction
* react,
unsigned
Type =
SimpleArrow
);
49
virtual
~ReactionArrow
();
50
57
xmlNodePtr
Save
(xmlDocPtr xml)
const
;
64
bool
Load
(xmlNodePtr node);
68
void
AddItem
();
72
void
UpdateItem
();
78
void
SetStartStep
(
ReactionStep
*Step) {m_Start = Step;}
82
ReactionStep
*
GetStartStep
() {
return
m_Start;}
88
void
SetEndStep
(
ReactionStep
*Step) {m_End = Step;}
92
ReactionStep
*
GetEndStep
() {
return
m_End;}
99
void
RemoveStep
(
ReactionStep
*Step);
109
bool
BuildContextualMenu
(GtkUIManager *UIManager,
gcu::Object
*
object
,
double
x,
double
y);
118
void
Move
(
double
x,
double
y,
double
z = 0);
126
void
SetSelected
(
int
state);
132
void
AddProp
(
gcu::Object
*
object
);
138
void
PositionChild
(
ReactionProp
*prop);
149
bool
OnSignal
(
gcu::SignalId
Signal,
gcu::Object
*Child);
159
bool
SetProperty
(
unsigned
property,
char
const
*value);
160
164
std::string
Name
();
165
166
private
:
167
unsigned
m_Type;
168
bool
m_TypeChanged;
169
ReactionStep
*m_Start, *m_End;
170
};
171
172
}
// namespace gcp
173
174
#endif // GCHEMPAINT_REACTION_ARROW_H
Generated on Tue Jun 26 2012 08:44:53 for The Gnome Chemistry Utils by
1.8.1.1