COPASI API  4.16.103
Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
CPlotItem Class Reference

#include <CPlotItem.h>

Inheritance diagram for CPlotItem:
Inheritance graph
[legend]
Collaboration diagram for CPlotItem:
Collaboration graph
[legend]

Public Types

enum  Type {
  unset = 0, curve2d, histoItem1d, bandedGraph,
  surface, plot2d, simWiz
}
 
- Public Types inherited from CCopasiParameterGroup
typedef parameterGroup::iterator index_iterator
 
typedef
CCopasiContainer::objectMap::iterator 
name_iterator
 
typedef std::vector
< CCopasiParameter * > 
parameterGroup
 
- Public Types inherited from CCopasiParameter
enum  Type {
  DOUBLE = 0, UDOUBLE, INT, UINT,
  BOOL, GROUP, STRING, CN,
  KEY, FILE, EXPRESSION, INVALID
}
 
- Public Types inherited from CCopasiContainer
typedef std::multimap
< std::string, CCopasiObject * > 
objectMap
 
- Public Types inherited from CCopasiObject
typedef std::set< const
CCopasiObject * > 
DataObjectSet
 
typedef std::vector< Refresh * > DataUpdateSequence
 
- Public Types inherited from CObjectInterface
typedef std::set< const
CObjectInterface * > 
ObjectSet
 
typedef std::vector
< CObjectInterface * > 
UpdateSequence
 

Public Member Functions

void addChannel (const CPlotDataChannelSpec &channel)
 
void cleanup ()
 
 CPlotItem (const std::string &name="NoName", const CCopasiContainer *pParent=NULL, const Type &type=curve2d)
 
 CPlotItem (const CPlotItem &src, const CCopasiContainer *pParent=NULL)
 
const COutputInterface::ActivitygetActivity () const
 
std::vector
< CPlotDataChannelSpec > & 
getChannels ()
 
const std::vector
< CPlotDataChannelSpec > & 
getChannels () const
 
size_t getNumChannels () const
 
const std::string & getTitle () const
 
const CPlotItem::TypegetType () const
 
void setActivity (const COutputInterface::Activity &activity)
 
void setTitle (const std::string &title)
 
void setType (CPlotItem::Type type)
 
virtual ~CPlotItem ()
 
- Public Member Functions inherited from CCopasiParameterGroup
bool addGroup (const std::string &name)
 
bool addParameter (const CCopasiParameter &parameter)
 
bool addParameter (const std::string &name, const CCopasiParameter::Type type)
 
template<class CType >
bool addParameter (const std::string &name, const CCopasiParameter::Type type, const CType &value)
 
void addParameter (CCopasiParameter *pParameter)
 
CCopasiParameterGroupassertGroup (const std::string &name)
 
template<class CType >
CCopasiParameterassertParameter (const std::string &name, const CCopasiParameter::Type type, const CType &defaultValue)
 
index_iterator beginIndex () const
 
name_iterator beginName () const
 
 CCopasiParameterGroup (const CCopasiParameterGroup &src, const CCopasiContainer *pParent=NULL)
 
 CCopasiParameterGroup (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &objectType="ParameterGroup")
 
void clear ()
 
virtual bool elevateChildren ()
 
index_iterator endIndex () const
 
name_iterator endName () const
 
CCopasiParameterGroupgetGroup (const std::string &name)
 
const CCopasiParameterGroupgetGroup (const std::string &name) const
 
CCopasiParameterGroupgetGroup (const size_t &index)
 
const CCopasiParameterGroupgetGroup (const size_t &index) const
 
size_t getIndex (const std::string &name) const
 
std::string getKey (const std::string &name) const
 
std::string getKey (const size_t &index) const
 
virtual const std::string & getName (const size_t &index) const
 
virtual const CObjectInterfacegetObject (const CCopasiObjectName &cn) const
 
CCopasiParametergetParameter (const std::string &name)
 
const CCopasiParametergetParameter (const std::string &name) const
 
CCopasiParametergetParameter (const size_t &index)
 
const CCopasiParametergetParameter (const size_t &index) const
 
CCopasiParameter::Type getType (const std::string &name) const
 
CCopasiParameter::Type getType (const size_t &index) const
 
std::string getUniqueParameterName (const CCopasiParameter *pParameter) const
 
const CCopasiParameter::ValuegetValue (const std::string &name) const
 
const CCopasiParameter::ValuegetValue (const size_t &index) const
 
CCopasiParameter::ValuegetValue (const std::string &name)
 
CCopasiParameter::ValuegetValue (const size_t &index)
 
CCopasiParameterGroupoperator= (const CCopasiParameterGroup &rhs)
 
virtual void print (std::ostream *ostream) const
 
bool removeParameter (const std::string &name)
 
bool removeParameter (const size_t &index)
 
template<class CType >
bool setValue (const std::string &name, const CType &value)
 
template<class CType >
bool setValue (const size_t &index, const CType &value)
 
size_t size () const
 
bool swap (const size_t &iFrom, const size_t &iTo)
 
bool swap (index_iterator &from, index_iterator &to)
 
virtual ~CCopasiParameterGroup ()
 
- Public Member Functions inherited from CCopasiParameter
 CCopasiParameter (const CCopasiParameter &src, const CCopasiContainer *pParent=NULL)
 
 CCopasiParameter (const std::string &name, const Type &type, const void *pValue=NULL, const CCopasiContainer *pParent=NULL, const std::string &objectType="Parameter")
 
virtual CCopasiObjectName getCN () const
 
virtual const std::string & getKey () const
 
virtual std::string getObjectDisplayName (bool regular=true, bool richtext=false) const
 
const CCopasiParameter::TypegetType () const
 
const ValuegetValue () const
 
ValuegetValue ()
 
virtual voidgetValuePointer () const
 
CCopasiObjectgetValueReference () const
 
bool isValidValue (const C_FLOAT64 &value) const
 
bool isValidValue (const C_INT32 &value) const
 
bool isValidValue (const unsigned C_INT32 &value) const
 
bool isValidValue (const bool &value) const
 
bool isValidValue (const std::string &value) const
 
bool isValidValue (const CCopasiObjectName &value) const
 
bool isValidValue (const std::vector< CCopasiParameter * > &value) const
 
CCopasiParameteroperator= (const CCopasiParameter &rhs)
 
template<class CType >
bool setValue (const CType &value)
 
bool setValue (const std::vector< CCopasiParameter * > &value)
 
virtual ~CCopasiParameter ()
 
- Public Member Functions inherited from CCopasiContainer
virtual bool add (CCopasiObject *pObject, const bool &adopt=true)
 
 CCopasiContainer (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &type="CN", const unsigned C_INT32 &flag=CCopasiObject::Container)
 
 CCopasiContainer (const CCopasiContainer &src, const CCopasiContainer *pParent=NULL)
 
virtual std::string getChildObjectUnits (const CCopasiObject *pObject) const
 
virtual const objectMapgetObjects () const
 
virtual std::string getUnits () const
 
virtual const CCopasiObjectgetValueObject () const
 
virtual bool remove (CCopasiObject *pObject)
 
virtual ~CCopasiContainer ()
 
- Public Member Functions inherited from CCopasiObject
void addDirectDependency (const CCopasiObject *pObject)
 
 CCopasiObject (const CCopasiObject &src, const CCopasiContainer *pParent=NULL)
 
void clearDirectDependencies ()
 
void clearRefresh ()
 
bool dependsOn (DataObjectSet candidates, const DataObjectSet &context=DataObjectSet()) const
 
void getAllDependencies (DataObjectSet &dependencies, const DataObjectSet &context) const
 
virtual const DataObjectSetgetDirectDependencies (const DataObjectSet &context=DataObjectSet()) const
 
CCopasiContainergetObjectAncestor (const std::string &type) const
 
CCopasiDataModelgetObjectDataModel ()
 
const CCopasiDataModelgetObjectDataModel () const
 
const std::string & getObjectName () const
 
CCopasiContainergetObjectParent () const
 
const std::string & getObjectType () const
 
virtual const
CObjectInterface::ObjectSet
getPrerequisites () const
 
virtual RefreshgetRefresh () const
 
UpdateMethodgetUpdateMethod () const
 
bool hasCircularDependencies (DataObjectSet &candidates, DataObjectSet &verified, const DataObjectSet &context) const
 
bool hasUpdateMethod () const
 
bool isArray () const
 
bool isContainer () const
 
bool isDataModel () const
 
bool isMatrix () const
 
bool isNameVector () const
 
bool isNonUniqueName () const
 
virtual bool isPrerequisiteForContext (const CObjectInterface *pObject, const CMath::SimulationContextFlag &context, const CObjectInterface::ObjectSet &changedObjects) const
 
bool isReference () const
 
bool isRoot () const
 
bool isSeparator () const
 
bool isStaticString () const
 
bool isValueBool () const
 
bool isValueDbl () const
 
bool isValueInt () const
 
bool isValueInt64 () const
 
bool isValueString () const
 
bool isVector () const
 
virtual bool mustBeDeleted (const DataObjectSet &deletedObjects) const
 
void removeDirectDependency (const CCopasiObject *pObject)
 
void setDirectDependencies (const DataObjectSet &directDependencies)
 
bool setObjectName (const std::string &name)
 
virtual bool setObjectParent (const CCopasiContainer *pParent)
 
void setObjectValue (const C_FLOAT64 &value)
 
void setObjectValue (const C_INT32 &value)
 
void setObjectValue (const bool &value)
 
template<class CType >
void setRefresh (CType *pType, void(CType::*method)(void))
 
template<class CType >
void setUpdateMethod (CType *pType, void(CType::*method)(const C_FLOAT64 &))
 
template<class CType >
void setUpdateMethod (CType *pType, void(CType::*method)(const C_INT32 &))
 
template<class CType >
void setUpdateMethod (CType *pType, void(CType::*method)(const bool &))
 
virtual ~CCopasiObject ()
 
- Public Member Functions inherited from CObjectInterface
 CObjectInterface ()
 
virtual ~CObjectInterface ()
 

Static Public Attributes

static const std::string RecordingActivityName []
 
static const std::string TypeName []
 
static const char * XMLRecordingActivity []
 
static const char * XMLType []
 
- Static Public Attributes inherited from CCopasiParameter
static const std::string TypeName []
 
static const char * XMLType []
 
- Static Public Attributes inherited from CCopasiContainer
static const std::vector
< CCopasiContainer * > 
EmptyList
 

Private Member Functions

void initObjects ()
 

Private Attributes

std::vector< CPlotDataChannelSpecchannels
 
COutputInterface::Activity mActivity
 
std::string * mpXMLActivity
 
Type mType
 

Additional Inherited Members

- Static Public Member Functions inherited from CCopasiObject
static std::vector< Refresh * > buildUpdateSequence (const DataObjectSet &objects, const DataObjectSet &uptoDateObjects, const DataObjectSet &context=DataObjectSet())
 
static void setRenameHandler (CRenameHandler *rh)
 
- Protected Types inherited from CCopasiObject
enum  Flag {
  Container = 0x1, Vector = 0x2, Matrix = 0x4, NameVector = 0x8,
  Reference = 0x10, ValueBool = 0x20, ValueInt = 0x40, ValueInt64 = 0x80,
  ValueDbl = 0x100, NonUniqueName = 0x200, StaticString = 0x400, ValueString = 0x800,
  Separator = 0x1000, ModelEntity = 0x2000, Array = 0x4000, DataModel = 0x8000,
  Root = 0x10000, Gui = 0x20000
}
 
- Protected Member Functions inherited from CCopasiParameterGroup
 CCopasiParameterGroup ()
 
- Protected Member Functions inherited from CCopasiContainer
template<class CType >
CCopasiObjectaddMatrixReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
 
template<class CType >
CCopasiObjectaddObjectReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
 
template<class CType >
CCopasiObjectaddVectorReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
 
void initObjects ()
 
- Protected Member Functions inherited from CCopasiObject
 CCopasiObject ()
 
 CCopasiObject (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &type="CN", const unsigned C_INT32 &flag=0)
 
- Protected Attributes inherited from CCopasiParameter
std::string mKey
 
CCopasiObjectmpValueReference
 
size_t mSize
 
Value mValue
 
- Protected Attributes inherited from CCopasiContainer
objectMap mObjects
 
- Static Protected Attributes inherited from CCopasiObject
static CRenameHandlersmpRenameHandler = NULL
 

Detailed Description

Definition at line 81 of file CPlotItem.h.

Member Enumeration Documentation

Enumeration of the sub types of methods known to COPASI.

Enumerator
unset 
curve2d 
histoItem1d 
bandedGraph 
surface 
plot2d 
simWiz 

Definition at line 87 of file CPlotItem.h.

Constructor & Destructor Documentation

CPlotItem::CPlotItem ( const std::string &  name = "NoName",
const CCopasiContainer pParent = NULL,
const Type type = curve2d 
)

Definition at line 75 of file CPlotItem.cpp.

References CCopasiObject::setObjectName(), and setType().

Referenced by CPlotSpecification::createItem().

77  :
78  CCopasiParameterGroup(TypeName[type], pParent, "PlotItem"),
79  mType(unset),
80  mActivity(),
81  mpXMLActivity(NULL)
82 {
83  //setObjectName(TypeName[mType]); //TODO
84  setObjectName(name);
85  setType(type); //to create the parameters
86 }
std::string * mpXMLActivity
Definition: CPlotItem.h:133
Type mType
Definition: CPlotItem.h:123
void setType(CPlotItem::Type type)
Definition: CPlotItem.cpp:99
COutputInterface::Activity mActivity
Definition: CPlotItem.h:128
bool setObjectName(const std::string &name)
static const std::string TypeName[]
Definition: CPlotItem.h:99
CPlotItem::CPlotItem ( const CPlotItem src,
const CCopasiContainer pParent = NULL 
)

Definition at line 88 of file CPlotItem.cpp.

References mType, and setType().

89  :
90  CCopasiParameterGroup(src, pParent),
91  mType(unset),
92  mActivity(),
93  mpXMLActivity(NULL),
94  channels(src.getChannels())
95 {
96  setType(src.mType);
97 }
std::string * mpXMLActivity
Definition: CPlotItem.h:133
std::vector< CPlotDataChannelSpec > channels
Definition: CPlotItem.h:135
std::vector< CPlotDataChannelSpec > & getChannels()
Definition: CPlotItem.cpp:214
Type mType
Definition: CPlotItem.h:123
void setType(CPlotItem::Type type)
Definition: CPlotItem.cpp:99
COutputInterface::Activity mActivity
Definition: CPlotItem.h:128
CPlotItem::~CPlotItem ( )
virtual

Destructor

Definition at line 147 of file CPlotItem.cpp.

148 {}

Member Function Documentation

void CPlotItem::addChannel ( const CPlotDataChannelSpec channel)
void CPlotItem::cleanup ( )

Definition at line 150 of file CPlotItem.cpp.

Referenced by CPlotSpecification::cleanup().

151 {
152  //TODO: parametergroup cleanup
153 }
const COutputInterface::Activity & CPlotItem::getActivity ( ) const

Definition at line 179 of file CPlotItem.cpp.

References COutputInterface::AFTER, bandedGraph, COutputInterface::BEFORE, curve2d, COutputInterface::DURING, CCopasiParameterGroup::getParameter(), CCopasiParameter::getValue(), histoItem1d, mActivity, mpXMLActivity, mType, CCopasiParameter::Value::pSTRING, surface, toEnum(), and XMLRecordingActivity.

Referenced by CopasiPlot::compile(), Curve2DWidget::LoadFromCurveSpec(), HistoWidget::LoadFromCurveSpec(), BandedGraphWidget::LoadFromCurveSpec(), Curve2DWidget::SaveToCurveSpec(), HistoWidget::SaveToCurveSpec(), BandedGraphWidget::SaveToCurveSpec(), and CQPlotSubwidget::storeChanges().

180 {
182 
183  switch (mType)
184  {
185  case curve2d:
186  case bandedGraph:
187  case histoItem1d:
188  case surface:
189 
190  if (!mpXMLActivity)
191  const_cast<CPlotItem *>(this)->mpXMLActivity =
192  getParameter("Recording Activity")->getValue().pSTRING;
193 
195 
196  if (Activity < COutputInterface::BEFORE ||
198  {
199  Activity = COutputInterface::DURING;
200  * mpXMLActivity = XMLRecordingActivity[Activity];
201  }
202 
203  const_cast<CPlotItem *>(this)->mActivity = Activity;
204 
205  break;
206 
207  default:
208  break;
209  }
210 
211  return mActivity;
212 }
std::string * mpXMLActivity
Definition: CPlotItem.h:133
Type mType
Definition: CPlotItem.h:123
COutputInterface::Activity mActivity
Definition: CPlotItem.h:128
const Value & getValue() const
CCopasiParameter * getParameter(const std::string &name)
CType toEnum(const char *attribute, const char **enumNames, const CType &enumDefault)
Definition: utility.h:107
static const char * XMLRecordingActivity[]
Definition: CPlotItem.h:115
std::vector< CPlotDataChannelSpec > & CPlotItem::getChannels ( )
const std::vector< CPlotDataChannelSpec > & CPlotItem::getChannels ( ) const

Definition at line 217 of file CPlotItem.cpp.

References channels.

218 {return channels;}
std::vector< CPlotDataChannelSpec > channels
Definition: CPlotItem.h:135
size_t CPlotItem::getNumChannels ( ) const

Definition at line 220 of file CPlotItem.cpp.

References channels.

Referenced by CopasiPlot::compile(), and CCopasiXML::savePlotList().

221 {return channels.size();}
std::vector< CPlotDataChannelSpec > channels
Definition: CPlotItem.h:135
const std::string & CPlotItem::getTitle ( ) const
const CPlotItem::Type & CPlotItem::getType ( ) const
void CPlotItem::initObjects ( )
private

Initialize the contained CCopasiObjects

Definition at line 155 of file CPlotItem.cpp.

156 {}
void CPlotItem::setActivity ( const COutputInterface::Activity activity)

Definition at line 161 of file CPlotItem.cpp.

References bandedGraph, curve2d, histoItem1d, mActivity, mpXMLActivity, mType, surface, and XMLRecordingActivity.

Referenced by COutputAssistant::createDefaultOutput(), Curve2DWidget::SaveToCurveSpec(), BandedGraphWidget::SaveToCurveSpec(), HistoWidget::SaveToCurveSpec(), and CQPlotSubwidget::storeChanges().

162 {
163  switch (mType)
164  {
165  case curve2d:
166  case bandedGraph:
167  case histoItem1d:
168  case surface:
169  mActivity = activity;
171  break;
172 
173  default:
175  break;
176  }
177 }
std::string * mpXMLActivity
Definition: CPlotItem.h:133
Type mType
Definition: CPlotItem.h:123
COutputInterface::Activity mActivity
Definition: CPlotItem.h:128
static const char * XMLRecordingActivity[]
Definition: CPlotItem.h:115
void CPlotItem::setTitle ( const std::string &  title)
void CPlotItem::setType ( CPlotItem::Type  type)

Definition at line 99 of file CPlotItem.cpp.

References COutputInterface::AFTER, CCopasiParameterGroup::assertParameter(), bandedGraph, COutputInterface::BEFORE, CCopasiParameter::BOOL, C_FLOAT64, C_INT32, CCopasiParameterGroup::clear(), curve2d, CCopasiParameter::DOUBLE, COutputInterface::DURING, CCopasiParameter::getValue(), histoItem1d, mActivity, mpXMLActivity, mType, plot2d, CCopasiParameter::Value::pSTRING, CCopasiParameter::STRING, surface, toEnum(), CCopasiParameter::UDOUBLE, CCopasiParameter::UINT, unset, and XMLRecordingActivity.

Referenced by CPlotItem(), CCopasiXMLParser::PlotSpecificationElement::start(), and CQPlotSubwidget::storeChanges().

100 {
101  if (type == mType) return;
102 
103  if (mType != unset) clear();
104 
105  mType = type;
106 
107  //create parameters
108  if (type == curve2d || type == bandedGraph)
109  {
110  assertParameter("Line type", CCopasiParameter::UINT, (unsigned C_INT32) 0);
111  assertParameter("Line subtype", CCopasiParameter::UINT, (unsigned C_INT32) 0);
113  assertParameter("Symbol subtype", CCopasiParameter::UINT, (unsigned C_INT32) 0);
114  }
115 
116  if (type == histoItem1d)
117  {
119  }
120 
121  if (type == curve2d || type == histoItem1d || type == bandedGraph || type == surface)
122  {
123  assertParameter("Color", CCopasiParameter::STRING, std::string("auto"));
124 
125  mpXMLActivity =
126  assertParameter("Recording Activity", CCopasiParameter::STRING, std::string("during"))->getValue().pSTRING;
127 
129 
132  {
135  }
136  }
137 
138  if (type == plot2d)
139  {
140  assertParameter("log X", CCopasiParameter::BOOL, false);
141  assertParameter("log Y", CCopasiParameter::BOOL, false);
142  mpXMLActivity = NULL;
144  }
145 }
std::string * mpXMLActivity
Definition: CPlotItem.h:133
#define C_INT32
Definition: copasi.h:90
Type mType
Definition: CPlotItem.h:123
COutputInterface::Activity mActivity
Definition: CPlotItem.h:128
const Value & getValue() const
CType toEnum(const char *attribute, const char **enumNames, const CType &enumDefault)
Definition: utility.h:107
#define C_FLOAT64
Definition: copasi.h:92
static const char * XMLRecordingActivity[]
Definition: CPlotItem.h:115
CCopasiParameter * assertParameter(const std::string &name, const CCopasiParameter::Type type, const CType &defaultValue)

Member Data Documentation

std::vector<CPlotDataChannelSpec> CPlotItem::channels
private

Definition at line 135 of file CPlotItem.h.

Referenced by addChannel(), getChannels(), and getNumChannels().

COutputInterface::Activity CPlotItem::mActivity
private

The recording activity for items of type curve2d and histoItem1d

Definition at line 128 of file CPlotItem.h.

Referenced by getActivity(), setActivity(), and setType().

std::string* CPlotItem::mpXMLActivity
private

A pointer to the string containing the XML representation of the activity

Definition at line 133 of file CPlotItem.h.

Referenced by getActivity(), setActivity(), and setType().

Type CPlotItem::mType
private

The type of the method

Definition at line 123 of file CPlotItem.h.

Referenced by CPlotItem(), getActivity(), getType(), setActivity(), and setType().

const std::string CPlotItem::RecordingActivityName
static
Initial value:
=
{
"",
"Before",
"During",
"",
"After"
}

String literals for the GUI to display recording activity names of plots known to COPASI.

Definition at line 110 of file CPlotItem.h.

const std::string CPlotItem::TypeName
static
Initial value:
=
{
"Unset",
"2D Curve",
"Histogram",
"Banded Graph",
"Surface",
"2D Plot",
"SimWiz",
""
}

String literals for the GUI to display plot item names of methods known to COPASI.

Definition at line 99 of file CPlotItem.h.

const char * CPlotItem::XMLRecordingActivity
static
Initial value:
=
{
"NotSet",
"before",
"during",
"before&during",
"after",
"before&after",
"during&after",
"before&during&after",
NULL
}

XML recording activity names of plots known to COPASI.

Definition at line 115 of file CPlotItem.h.

Referenced by getActivity(), setActivity(), and setType().

const char * CPlotItem::XMLType
static
Initial value:
=
{
"Unset",
"Curve2D",
"Histogram1DItem",
"BandedGraph",
"Surface",
"Plot2D",
"SimWiz",
NULL
}

XML sub type names of methods known to COPASI.

Definition at line 104 of file CPlotItem.h.

Referenced by CCopasiXML::savePlotList(), CCopasiXMLParser::PlotItemElement::start(), and CCopasiXMLParser::PlotSpecificationElement::start().


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