UserGroupingLineEdit.cpp
Go to the documentation of this file.
2
3#include <sstream>
4
5namespace 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
21 UserGroupingLineEdit::setGroupID(const uint32_t& value)
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
UserGroupingLineEdit(const std::set< uint32_t > &validSegmentIDs, uint32_t groupID=0)
void groupingChanged(uint32_t groupID, std::vector< uint32_t > segmentIDs)
void setGroupID(const uint32_t &value)
This file offers overloads of toIce() and fromIce() functions for STL container types.