UserGroupingLineEdit.cpp
Go to the documentation of this file.
1 #include "UserGroupingLineEdit.h"
2 
3 #include <sstream>
4 
5 namespace armarx
6 {
7  UserGroupingLineEdit::UserGroupingLineEdit(const std::set<uint32_t>& validSegmentIDs,
8  uint32_t segmentID) :
9  groupID(segmentID), validSegmentIDs(validSegmentIDs)
10  {
11  connect(this, SIGNAL(editingFinished()), this, SLOT(onEditingFinished()));
12  }
13 
14  uint32_t
16  {
17  return groupID;
18  }
19 
20  void
22  {
23  groupID = value;
24  }
25 
26  void
27  UserGroupingLineEdit::onEditingFinished()
28  {
29  // parse text
30  std::vector<uint32_t> segments;
31 
32  std::stringstream textStream(text().toStdString());
33 
34  uint32_t id;
35  while (textStream >> id)
36  {
37  if (validSegmentIDs.find(id) != validSegmentIDs.end())
38  {
39  segments.push_back(id);
40  }
41  }
42 
43  emit groupingChanged(groupID, segments);
44  }
45 } // namespace armarx
armarx::UserGroupingLineEdit::groupingChanged
void groupingChanged(uint32_t groupID, std::vector< uint32_t > segmentIDs)
cxxopts::value
std::shared_ptr< Value > value()
Definition: cxxopts.hpp:855
armarx::UserGroupingLineEdit::setGroupID
void setGroupID(const uint32_t &value)
Definition: UserGroupingLineEdit.cpp:21
UserGroupingLineEdit.h
armarx::UserGroupingLineEdit::getGroupID
uint32_t getGroupID() const
Definition: UserGroupingLineEdit.cpp:15
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:27
armarx::UserGroupingLineEdit::UserGroupingLineEdit
UserGroupingLineEdit(const std::set< uint32_t > &validSegmentIDs, uint32_t groupID=0)
Definition: UserGroupingLineEdit.cpp:7