ConditionItemModel.h
Go to the documentation of this file.
1 /*
2 * This file is part of ArmarX.
3 *
4 * ArmarX is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * ArmarX is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * @package ArmarX::Gui
17 * @author Kai Welke (welke@kit.edu)
18 * @copyright 2012 Humanoids Group, IAIM, IFA
19 * @license http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22 
23 #pragma once
24 
25 #include <string>
26 
27 #include <QStandardItemModel>
28 
29 #include <ArmarXCore/interface/observers/ConditionHandlerInterface.h>
31 
32 #define CONDITION_ITEM_DELETE Qt::UserRole + 1
33 #define CONDITION_ITEM_ID Qt::UserRole + 2
34 
35 namespace armarx
36 {
37  class ConditionItemModel : public QStandardItemModel
38  {
39  public:
41 
43  {
44  }
45 
46  // update the model with the given registry
47  void update(const ConditionRegistry& registry);
48 
49  // reset the model
50  void reset();
51 
52  private:
53  void extractFields(std::string in, std::string& componentName, std::string& eventName);
54  void updateOrInsertCondition(int id, const ConditionRootPtr& condition);
55  void markAllForDelete();
56  void deleteUnusedItems();
57  };
58 } // namespace armarx
armarx::ConditionItemModel::reset
void reset()
Definition: ConditionItemModel.cpp:52
IceInternal::Handle
Definition: forward_declarations.h:8
armarx::ConditionItemModel
Definition: ConditionItemModel.h:37
ConditionRoot.h
armarx::ConditionItemModel::~ConditionItemModel
~ConditionItemModel() override
Definition: ConditionItemModel.h:42
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:27
armarx::ConditionItemModel::ConditionItemModel
ConditionItemModel()
Definition: ConditionItemModel.cpp:27
armarx::ConditionItemModel::update
void update(const ConditionRegistry &registry)
Definition: ConditionItemModel.cpp:33