Itasca C++ Interface
idata.h
1 #pragma once
2 
3 #include "fish/src/parametervalue.h"
4 #include "shared/interface/signal.h"
5 
6 namespace itasca {
7  class Archive2;
8  class IParse;
9 }
10 
11 namespace itascaxd {
12  using itasca::Archive2;
13  using itasca::IParse;
14  using itasca::ITensorData;
15 
16  class IData : public ITensorData {
17  public:
18  using TreatAs = fish::TreatAs;
19  using Component = fish::Component;
20  using Quantity = fish::Quantity;
21 
22  shared::Signal<bool> activeChanged;
23  shared::Signal<int> indexChanged;
24  shared::Signal<const QString &> indexNameChanged;
25  shared::Signal<int> componentChanged;
26  shared::Signal<bool> componentActiveChanged;
27  shared::Signal<int> treatAsChanged;
28  shared::Signal<bool> treatAsActiveChanged;
29  shared::Signal<int> quantityChanged;
30  shared::Signal<bool> quantityActiveChanged;
31  shared::Signal<int> extraChanged; // Base 1!
32  shared::Signal<bool> extraActiveChanged;
33  shared::Signal<bool> stressChanged;
34  shared::Signal<bool> stressActiveChanged;
35  shared::Signal<bool> logChanged;
36  shared::Signal<> changed;
37 
38  virtual int getIndex() const=0;
39  virtual int getComponent() const=0;
40  virtual int getTreatAs() const=0;
41  virtual int getQuantity() const=0;
42  virtual int getExtra() const=0; // Base 1!
43  virtual bool getStress() const=0;
44  virtual bool getLog() const=0;
45 
46  virtual IString getName() const=0;
47  virtual QString getSpecificName() const=0;
48 
49  virtual bool getActive() const=0;
50  virtual bool getComponentActive() const=0;
51  virtual bool getTreatAsActive() const=0;
52  virtual bool getQuantityActive() const=0;
53  virtual bool getExtraActive() const=0;
54  virtual bool getStressActive() const=0;
55 
56  virtual QStringList getNames() const=0;
57  virtual QStringList getBaseKeywords() const=0;
58  virtual std::vector<TreatAs> getAllTreatAs() const=0;
59  virtual QStringList getAllKeywords() const=0;
60 
61  virtual void destroy()=0;
62  virtual QStringList getComponentNames() const=0;
63  virtual QStringList getQuantityNames() const=0;
64  virtual QStringList getQuantityKeywords() const=0;
65  virtual QStringList getTreatAsNames() const=0;
66 
67  //virtual void save(QDataStream &ds) const=0;
68  //virtual void restore(QDataStream &ds)=0;
69  virtual void save(Archive2 &a) const=0;
70  virtual bool restore(Archive2 &a,uint64 label)=0;
71  virtual void remap(Archive2 &a)=0;
72 
73  virtual bool parseTreatAs(IParse &par)=0;
74  virtual bool parse(IParse &par)=0;
75  virtual QString getIndexKeyword() const=0;
76  virtual QStringList getCommandSwitches() const=0;
77 
78  // SLOTS
79  virtual void setActive(bool b)=0;
80  virtual void setIndex(int i)=0;
81  virtual void setIndex(const QString &s)=0;
82  virtual void setIndexFromKeyword(int i)=0;
83  virtual void setComponent(int i)=0;
84  virtual void setTreatAs(int i)=0;
85  virtual void setQuantity(int i)=0;
86  virtual void setExtra(int i)=0; // Base 1!
87  virtual void setStress(bool b)=0;
88  virtual void setLog(bool b)=0;
89 
90  };
91 }
92 
93 // EoF
Definition: istring.h:14
Interface to the main command processing class.
Definition: iparse.h:50
Definition: idata.h:16
namespace Itasca
Definition: basememory.cpp:10
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4