#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
