NimbRo ROS Soccer Package
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
pidspace.h
1 // Displays PID of loaded frame
2 // Author: Dmytro Pavlichenko <dm.mark999@gmail.com>
3 
4 #ifndef PIDSPACE_H
5 #define PIDSPACE_H
6 
7 #include <QGridLayout>
8 #include <QLabel>
9 
10 #include <trajectory_editor/spaces/pidview.h>
11 #include <trajectory_editor/spaces/basicspace.h>
12 
13 class PIDSpace : public BasicSpace
14 {
15 Q_OBJECT
16 public:
17  PIDSpace(const std::vector<std::string> &modelJointList, QWidget *parent = 0);
18  ~PIDSpace(){};
19 
20 public Q_SLOTS:
21  void handleFieldChanged(PIDView::Field field);
22  void handlePerspectiveUpdate(const joint_perspective::JointPerspective &perspective);
23  void handleApplyRulePart(KeyframePtr frame, const motionfile::RulePart &part, double delta){};
24 
25 private:
26  void updateFrame();
27  void initGUI(const joint_perspective::JointPerspective &perspective);
28 
29  // Find joint jointName in jointList and create view for it. Put it on layout
30  // If jointName was not found, put warning on layout
31  void findAndPutView(std::string jointName, std::string label, int row, BasicSmallView::Alignment alignment, BasicSmallView::Type type, bool shiftMirrored);
32  void createHeaderLabels(BasicSmallView::Alignment alignment, int row);
33 
34 private:
35  std::vector<PIDView*> jointViews;
36  QGridLayout *jointsLayout;
37 };
38 
39 
40 #endif