38 void consoleToggleRequested();
42 void mousePressEvent(QMouseEvent* event)
override;
43 void mouseMoveEvent(QMouseEvent* event)
override;
44 void mouseDoubleClickEvent(QMouseEvent* event)
override;
45 void paintEvent(QPaintEvent* event)
override;
48 void onRecordToggle();
49 void onPauseResumeToggle();
54 void onRecordingStarted();
55 void onRecordingStopped();
56 void onRecordingPaused();
57 void onRecordingResumed();
58 void onStepRecorded(
int index,
const std::string& description);
60 void onReplayStepStarted(
int index,
const std::string& description);
61 void onReplayStepCompleted(
int index,
const std::string& result);
62 void onReplayStepFailed(
int index,
const std::string& error);
63 void onReplayFinished();
66 enum class EState { Idle, Recording, Paused, Stopped, Replaying };
69 void applyState(EState state);
70 void updateElapsedDisplay();
71 void scrollToBottom();
72 void rebuildStepListFromRecorder();
80 QLabel* recIndicator_;
81 QLabel* elapsedLabel_;
82 QLabel* stepStatLabel_;
85 QListWidget* stepList_;
88 QPushButton* recordBtn_;
89 QPushButton* pauseBtn_;
90 QPushButton* replayBtn_;
91 QPushButton* polishBtn_;
92 QPushButton* copyBtn_;
95 QTimer* elapsedTimer_;
96 QElapsedTimer recordingStart_;
98 EState state_ = EState::Idle;
101 QPoint dragStartPos_;
102 bool dragging_ =
false;