49 lines
987 B
C++
49 lines
987 B
C++
#ifndef SETTINGS_PANE_HH
|
|
#define SETTINGS_PANE_HH
|
|
|
|
#include <QWidget>
|
|
#include <QListWidget>
|
|
|
|
|
|
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
|