#pragma once

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

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

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

    // Methodes
    void                setServiceArea (WimaServiceArea* serviceArea);
    void                setOpArea      (WimaGOperationArea* opArea);
    WimaServiceArea*    serviceArea    (void)                           const {return _serviceArea;}
    WimaGOperationArea* opArea         (void)                           const {return _opArea;}

signals:
    void serviceAreaChanged (WimaServiceArea* serviceArea);
    void opAreaChanged      (WimaGOperationArea* opArea);

private:
    WimaServiceArea*    _serviceArea;
    WimaGOperationArea* _opArea;

};

