#pragma once

#include "WimaArea.h"
#include <QObject>

class WimaCorridor : public WimaArea {
  Q_OBJECT
public:
  WimaCorridor(QObject *parent = nullptr);
  WimaCorridor(const WimaCorridor &other, QObject *parent = nullptr);

  WimaCorridor &operator=(const WimaCorridor &other);

  // Overrides from WimaPolygon
  QString mapVisualQML(void) const { return "WimaCorridorMapVisual.qml"; }
  QString editorQML(void) const { return "WimaCorridorEditor.qml"; }

  // Methodes
  void saveToJson(QJsonObject &json);
  bool loadFromJson(const QJsonObject &json, QString &errorString);

  // static Members
  static const char *WimaCorridorName;

  // Friends
  friend void print(const WimaCorridor &area, QString &outputString);
  friend void print(const WimaCorridor &area);

signals:

public slots:

private:
  void init();
};
