Files
Sebastian Dine 55ace147bc major: initial release
* initial development

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* pipeline

* ci/cd

* ci/cd

* ci/cd

* ci/cd

* ci/cd

* ci/cd

* ci/cd

* pokemon

* pokemon

* pokemon

* pokemon

* pokemon

* pokemon

* improvements

* improvements

* ci/cd

* ci/cd

* improvements

* improvements

* improvements

* improvements

* improvements

* improvements

* improvements

* improvements

* improvements

---------

Co-authored-by: sdine <sdine@sdine.com>
2026-05-09 11:05:47 +02:00

29 lines
1.2 KiB
C++

#pragma once
// MagicSelectedCardPanel: typed view of the right-hand-side detail panel for
// Magic. Inherits the preview-fetch / detail-grid / image-list machinery from
// `BaseSelectedCardPanel<MagicCard>` and only overrides the per-game hooks.
#include "ccm/domain/MagicCard.hpp"
#include "ccm/ui/BaseSelectedCardPanel.hpp"
namespace ccm::ui {
class MagicSelectedCardPanel final : public BaseSelectedCardPanel<MagicCard> {
public:
MagicSelectedCardPanel(wxWindow* parent,
ImageService& imageService,
CardPreviewService& cardPreview);
protected:
[[nodiscard]] std::vector<DetailRowSpec> declareDetailRows() const override;
[[nodiscard]] std::vector<FlagIconSpec> declareFlagIcons() const override;
[[nodiscard]] std::string detailValueFor(const MagicCard& card, DetailKey key) const override;
[[nodiscard]] bool isFlagSet(const MagicCard& card, DetailKey key) const override;
[[nodiscard]] std::tuple<std::string, std::string, std::string>
previewKey(const MagicCard& card) const override;
[[nodiscard]] Game gameId() const noexcept override { return Game::Magic; }
};
} // namespace ccm::ui