#ifndef COUNTRY_H
#define COUNTRY_H

#include <doublepoint.h>
#include <city.h>
#include <QMap>


/// A class to display a map of a country, given the coordinates
/// that define its limits.

class Country {
private:
public:
    QMap<QString,City*> Cities;
    double minX, minY, maxX, maxY;

    /// \fn Country()
    /// \~English
    /// \brief default constructor
    /// \~Spanish
    /// \brief default constructor
    ///
    Country() {}

    /// \fn bool readInfoFromJSON(QString fileName)
    /// \~English
    /// \brief Reads a json file that contains the polygons for the
    ///        various parts of the country (e.g., cities)
    /// \param fileName name of the json file
    /// \~Spanish
    /// \brief Lee un archivo en formato json que contiene los polígonos
    ///        the los componentes del mapa del pais (e.g. las ciuidades)
    /// \param fileName nombre del archivo en formato json
    ///
    bool readInfoFromJSON(const QString &fileName);

    /// \fn topLeft(QString &st, DoublePoint &p );
    /// \~English
    /// \brief ??
    /// \param ??
    /// \~Spanish
    /// \brief ??
    /// \param ??
    ///
    void topLeft(QString &st, DoublePoint &p );

    /// \fn void limits();
    /// \~English
    /// \brief ??
    /// \param ??
    /// \~Spanish
    /// \brief ??
    /// \param ??
    ///
    void limits();

    /// \fn QMap<QString,City*> getCities()
    /// \~English
    /// \brief gets the Cities map structure.
    /// \~Spanish
    /// \brief consigue la estructura de mapa de Cities.
    ///
    QMap<QString,City*> getCities() { return Cities;}
    //~Country() { delete Cities; }
};

#endif // COUNTRY_H
