#pragma once

#include <vector>

#include "BuildingId.h"
#include "SelectionContent.h"
#include "SelectionContentFactory.h"

// The card for a belt, a tunnel entry or a tunnel exit
// (REQ-UI-SELECTION-CONTENT). These carry no configuration and no buffers of their own;
// their card is the clear action alone (REQ-UI-BELT-CLEAR).
//
// Because that action already operates on the whole selection, several of them aggregate
// into this one card with the count in the header (REQ-UI-SELECTION-AGGREGATE) -- the
// splitter is not among them, as its output filters are per-object.
class BeltContent : public SelectionContent
{
    Q_OBJECT

public:
    BeltContent(const SelectionContext& context, const SelectionRequest& request,
                QWidget* parent = nullptr);

protected:
    void refreshConfiguration() override;
    void refreshRuntime() override {}

private:
    std::vector<BuildingId> m_ids;
};
