#ifndef SETTINGS_PANE_HH #define SETTINGS_PANE_HH #include #include class BookmarkItem : public QListWidgetItem { const int frame; public: BookmarkItem(QString text, int frame) :QListWidgetItem(text), frame(frame) {} int getFrame() const { return frame; } }; class SettingsPane : public QWidget { Q_OBJECT QListWidget *collisions = nullptr; QListWidget *speeding_violations = nullptr; double sphere_radius = .6; double speed_limit = .5; public: SettingsPane(QWidget *parent=nullptr); double getSphereRadius() const; double getSpeedLimit() const; public slots: void addCollision(int idA, int idB, int frame); void addSpeedingViolation(int id, double speed, int frame); void clearCollisions(); void clearSpeedingViolations(); signals: void sphereRadiusChanged(double sqRadius); void speedLimitChanged(double limit); void toggledTrajectories(int shown); void toggledGuides(int shown); void bookmarkClicked(int frame); }; #endif