view include/gui/widgets/optional_date.h @ 179:9c4645100fec

osx: clean up includes, we do not need cocoa what we *do* need is the very basics that animia already depends on anyway. these are basically guaranteed to be on any macos system, making it fairly portable now... I haven't tested this :) I don't have a macos machine right now...
author Paper <mrpapersonic@gmail.com>
date Mon, 04 Dec 2023 12:03:36 -0500
parents 8043152ef9d4
children 862d0d8619f6
line wrap: on
line source

#ifndef __gui__widgets__optional_date_h
#define __gui__widgets__optional_date_h

#include "core/date.h"
#include <QWidget>

class QCheckBox;
class QDateEdit;
class QDate;

class OptionalDate final : public QWidget {
		Q_OBJECT

	public:
		OptionalDate(QWidget* parent = nullptr);
		OptionalDate(bool enabled, QWidget* parent = nullptr);
		QDateEdit* GetDateEdit();
		QCheckBox* GetCheckBox();
		void SetDate(QDate date);
		void SetDate(Date date);
		Date GetDate();
		void SetEnabled(bool enabled);
		bool IsEnabled();

	signals:
		void DataChanged(bool checked, Date date);

	private:
		QDateEdit* _dateedit;
		QCheckBox* _checkbox;
};

#endif // __gui__widgets__optional_date_h