#pragma once

namespace xtr::ui {

//! Control: List of constituents
class RSListCtrl : public CListCtrl {
public:
  [[nodiscard]] int32_t GetColumnCount() const;
  [[nodiscard]] int32_t GetFocusIndex() const;
  [[nodiscard]] int32_t GetSelectedIndex() const;
  void SetSelection(int32_t nIndex);
  void ClearSelection();

  void MoveSelectedItemsTo(RSListCtrl& dest, int32_t coloumns);

protected:
  BOOL PreTranslateMessage(MSG* pMsg) override;
  void PreSubclassWindow() override;

private:
  [[nodiscard]] BOOL IsItemSelected(int32_t item);
};

} // namespace xtr::ui