#ifndef TAREA_H
#define TAREA_H

#include "ActividadAcademica.h" // ¡Ahora hereda de ActividadAcademica!
#include <QDate>
#include <QDebug>

#include "Ramo.h" // Para el puntero al ramo asociado
class Tarea : public ActividadAcademica {
public:
    // Constructor modificado para heredar de ActividadAcademica
    Tarea(int id, const QString& nombre, const QString& descripcion,
          const QDate& fechaInicio, const QDate& fechaFin, Ramo* ramoAsociado,
          float estimacionHoras,
          // Atributos de evaluación se pasan a ActividadAcademica, si aplica
          float ponderacion = 0.0f, float notaObtenida = -1.0f, QObject* parent = nullptr);

    // Getters específicos de Tarea
    QDate getFechaEntrega() const;

    float getEstimacionHoras() const;

    // Setters específicos de Tarea
    void setFechaEntrega(const QDate& fechaEntrega);

    void setEstimacionHoras(float horas);

    // Implementaciones de métodos virtuales de ActividadAcademica
    QString obtenerTipoActividad() const override;
    void mostrarDetalles() const override;

private:
    QDate m_fechaEntrega;

    float m_estimacionHoras;
};

#endif // TAREA_H
