MNE-CPP  0.1.9
A Framework for Electrophysiology
eventgroup.h
Go to the documentation of this file.
1 //=============================================================================================================
36 #ifndef EVENTGROUP_EVENTS_H
37 #define EVENTGROUP_EVENTS_H
38 
39 //=============================================================================================================
40 // INCLUDES
41 //=============================================================================================================
42 
43 #include <string>
44 #include <cstdint>
45 #include "events_global.h"
46 
47 //=============================================================================================================
48 // LOCAL DEFINITIONS
49 //=============================================================================================================
50 
51 using idNum = unsigned int; //We want to eventually modify the idNum to be a hash string or a user-defined class. For now, just an int.
52 using uchar = unsigned char;
53 
54 //=============================================================================================================
55 // NAMESPACE EVENTSLIB
56 //=============================================================================================================
57 
58 namespace EVENTSLIB {
59 
60 //=============================================================================================================
61 // EVENTSINTERNAL FORWARD DECLARATIONS
62 //=============================================================================================================
63 
64 namespace EVENTSINTERNAL {
65  class EventGroupINT;
66 }
67 
68 //=============================================================================================================
75 {
76  //=========================================================================================================
80  RgbColor();
81 
82  //=========================================================================================================
90  RgbColor(const uchar rRhs, const uchar gRhs, const uchar bRhs);
91 
92  //=========================================================================================================
101  RgbColor(const uchar rRhs, const uchar gRhs,
102  const uchar bRhs, const uchar aRhs);
103 
104  uchar r;
105  uchar g;
106  uchar b;
107  uchar a;
108 };
109 
117 {
118 
119  //=========================================================================================================
123  EventGroup() = default;
124 
125  //=========================================================================================================
132 
133  //=========================================================================================================
140 
141  idNum id;
142  std::string name;
144  int order;
145 };
146 
147 namespace EVENTSINTERNAL {
148 
155 {
156 public:
157 
158  //=========================================================================================================
164  EventGroupINT(const char* name);
165 
166  //=========================================================================================================
172  EventGroupINT(std::string&& name);
173 
174  //=========================================================================================================
181  EventGroupINT(idNum id, const std::string& name);
182 
183  //=========================================================================================================
191  EventGroupINT(idNum id, const std::string& name, const EVENTSLIB::RgbColor& color);
192 
193  //=========================================================================================================
199  void setColor(const EVENTSLIB::RgbColor& color);
200 
201  //=========================================================================================================
205  void setRandomColor();
206 
207  //=========================================================================================================
214 
215  //=========================================================================================================
221  const std::string& getName() const;
222 
223  //=========================================================================================================
229  void setName(const std::string& sName);
230 
231  //=========================================================================================================
237  idNum getId() const;
238 
239  //=========================================================================================================
245  std::string getDescription() const;
246 
247  //=========================================================================================================
253  int getOrder() const;
254 
255  //=========================================================================================================
261  void setOrder(int order);
262 
263  //=========================================================================================================
271  bool operator<(const EventGroupINT& groupRHS) const;
272 
273 private:
274  std::string m_sName;
275  EVENTSLIB::RgbColor m_Color;
276  idNum m_Id;
277  std::string m_sDescription;
278  int m_order;
279 };
280 
281 } //namespace EVENTSINTERNAL
282 } //namespace EVENTSLIB
283 #endif // EVENTGROUP_H
EVENTSLIB::EVENTSINTERNAL::EventGroupINT::getId
idNum getId() const
Definition: eventgroup.cpp:197
EVENTSLIB::EventGroup::order
int order
Definition: eventgroup.h:144
EVENTSLIB::EVENTSINTERNAL::EventGroupINT::setOrder
void setOrder(int order)
Definition: eventgroup.cpp:218
EVENTSLIB::RgbColor::r
uchar r
Definition: eventgroup.h:104
EVENTSLIB::EVENTSINTERNAL::EventGroupINT::EventGroupINT
EventGroupINT(const char *name)
Definition: eventgroup.cpp:115
EVENTSLIB::EVENTSINTERNAL::EventGroupINT::getDescription
std::string getDescription() const
Definition: eventgroup.cpp:204
EVENTSLIB::EVENTSINTERNAL::EventGroupINT::setRandomColor
void setRandomColor()
Definition: eventgroup.cpp:174
EVENTSLIB::EventGroup
EventGroup class is designed as a data holder for a group. It is designed towards ease of use for a c...
Definition: eventgroup.h:116
EVENTSLIB::EVENTSINTERNAL::EventGroupINT::setName
void setName(const std::string &sName)
Definition: eventgroup.cpp:190
EVENTSLIB::EventGroup::color
RgbColor color
Definition: eventgroup.h:143
EVENTSLIB::EVENTSINTERNAL::EventGroupINT::getOrder
int getOrder() const
Definition: eventgroup.cpp:211
EVENTSLIB::RgbColor::g
uchar g
Definition: eventgroup.h:105
EVENTS_EXPORT
#define EVENTS_EXPORT
Definition: events_global.h:46
EVENTSLIB::RgbColor
Definition: eventgroup.h:74
EVENTSLIB::EVENTSINTERNAL::EventGroupINT::getColor
EVENTSLIB::RgbColor getColor() const
Definition: eventgroup.cpp:167
EVENTSLIB::EVENTSINTERNAL::EventGroupINT::setColor
void setColor(const EVENTSLIB::RgbColor &color)
Definition: eventgroup.cpp:160
EVENTSLIB::EVENTSINTERNAL::EventGroupINT::operator<
bool operator<(const EventGroupINT &groupRHS) const
Definition: eventgroup.cpp:225
EVENTSLIB::EVENTSINTERNAL::EventGroupINT
the class stores the concept of an event group internally in the Event library.
Definition: eventgroup.h:154
EVENTSLIB::EventGroup::id
idNum id
Definition: eventgroup.h:141
EVENTSLIB::EventGroup::name
std::string name
Definition: eventgroup.h:142
events_global.h
event library export/import macros.
EVENTSLIB::EVENTSINTERNAL::EventGroupINT::getName
const std::string & getName() const
Definition: eventgroup.cpp:183
EVENTSLIB::RgbColor::a
uchar a
Definition: eventgroup.h:107
EVENTSLIB::RgbColor::b
uchar b
Definition: eventgroup.h:106