8 #include <QItemSelection>
9 #include <QProgressBar>
10 #include <QScrollArea>
13 #include <motion_player/MotionPlayerState.h>
15 #include <trajectory_editor/keyframemodel.h>
16 #include <trajectory_editor/motionplayerclient.h>
17 #include <trajectory_editor/savecontroller.h>
18 #include <trajectory_editor/recentfiles.h>
20 #include <trajectory_editor/headerview.h>
21 #include <trajectory_editor/frameview.h>
22 #include <trajectory_editor/ruleview.h>
24 #include <trajectory_editor/spaces/jointdisplay.h>
25 #include <trajectory_editor/spaces/abstractspace.h>
26 #include <trajectory_editor/spaces/inversespace.h>
27 #include <trajectory_editor/spaces/pidspace.h>
29 namespace Ui {
class MainWindow; }
31 class MainWindow :
public QMainWindow
36 virtual ~MainWindow();
39 void playFrameClicked();
40 void playFrameSlowClicked();
42 void playMotionClicked();
43 void playSlowMotionClicked();
45 void playSequenceClicked();
46 void updateMotionClicked();
48 void handleNewMotion();
51 void handleLoad(QString path);
54 void handleSaveMirroredAs();
56 void handleAddFrameButton();
57 void handleRemoveButton();
58 void handleSelectionChanged(QItemSelection);
59 void handleDisableSelected();
60 void setViewSelection(
int row);
61 void setViewSelection(QItemSelection selection);
64 void handleMoveDown();
72 void updateCurrentFileLabel(QString newTitle);
74 void setPlayButtonsEnabled(
bool flag);
75 void setControlButtonsEnabled(
bool flag);
78 void motionPlayerStateReceived(
const motion_player::MotionPlayerState& stateMsg);
79 std::vector<int> getSelectedIndices(
bool sort);
83 void initHeaderWidgets();
86 QScrollArea* createAreaWithWidget(QWidget *widget);
90 KeyframeModel* m_kModel;
91 MotionPlayerClient *m_motion_player_client;
92 SaveController *m_save_controller;
93 RecentFiles *m_recent_files;
95 HeaderView *m_header_view;
96 FrameView *m_frame_view;
97 RuleView *m_rule_view;
99 std::vector<BasicSpace*> m_spaces;
100 JointManager *m_joint_space;
101 AbstractSpace *m_abstract_space;
102 InverseSpace *m_inverse_space;
103 PIDSpace *m_pid_space;
105 QWidget *m_controls_view;
106 QWidget *m_about_view;
108 QProgressBar *m_progress_bar;
109 ros::Subscriber m_state_subscriber;