m2-ar-projet/src/settings_pane.hh

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