Itasca C++ Interface
irangeelement.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "base/src/baseqt.h"
4 #include "dim.h"
5 #include "shared/interface/signal.h"
11 namespace itasca {
12  class IThing;
13 }
14 
15 namespace itascaxd {
16  using namespace itasca;
17 
19  class IRangeElement : public shared::Connector {
20  public:
22  enum Category { GeometricCategory,
23  PropertyBasedCategory
24  };
25 
27  inline static const TType type_ = 0x04c815b9c;
28 
29  shared::Signal<bool> notChanged;
30  shared::Signal<bool> byAllChanged;
31  shared::Signal<bool> extentChanged;
32  shared::Signal<const QString &> byChanged;
33  shared::Signal<> changed;
34 
37  virtual TType getType() const=0;
38 
40  virtual IString getName() const=0;
41 
43  virtual Category getCategory() const=0;
44 
48  virtual void copy(const IRangeElement *ire)=0;
49 
52  virtual bool isNot() const=0;
55  virtual void setNot(bool b)=0;
56 
60  virtual bool isBy() const=0;
63  virtual void setBy(const QString &)=0;
66  virtual const QString & getByString() const=0;
69  virtual TType getByTType() const=0;
70 
73  virtual bool getIsFish() const=0;
74 
81  virtual bool isThreadSafe() const=0;
82 
85  virtual bool isExtent() const=0;
88  virtual void setExtent(bool b)=0;
89 
91  virtual bool isValid() const=0;
92 
95  virtual bool isGeometric() const=0;
96 
97  virtual QStringList getAllByKeywords() const=0;
98 
100  virtual void destroy()=0;
101 
102  // for compatibility with the Model pane
103  virtual bool isModelPaneCompatible() { return false; } // should this element be used by the Model pane?
104  virtual void setDefaultsForModelPane() { }
105  };
106 
107 } // namespace itascaxd
108 namespace module {
110 }
111 // EoF
All default base headers if Qt is being used.
Definition: istring.h:14
Interface to a filter element, which is a member of a IRange..
Definition: irangeelement.h:19
virtual bool isExtent() const =0
virtual void destroy()=0
Destroys the filter element.
virtual TType getByTType() const =0
Category
Enumeration specifying the category of the filter element, for UI organization.
Definition: irangeelement.h:22
virtual void setExtent(bool b)=0
virtual Category getCategory() const =0
Returns the category of the.
virtual bool getIsFish() const =0
virtual TType getType() const =0
virtual bool isBy() const =0
virtual const QString & getByString() const =0
virtual void setBy(const QString &)=0
virtual bool isValid() const =0
Returns FALSE if this type of filter element is not valid in the current state.
virtual bool isGeometric() const =0
virtual bool isNot() const =0
virtual void copy(const IRangeElement *ire)=0
virtual IString getName() const =0
Returns a short String describing the type. Like "Cylinder" or "X Position".
virtual void setNot(bool b)=0
virtual bool isThreadSafe() const =0
DIM - Provides code portability between 2D and 3D codes.
uint32 TType
class type indicator
Definition: basedef.h:46
namespace Itasca
Definition: basememory.cpp:10
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4