//+----------------------------------------------------------------------------+ //| Description: Magic Set Editor - Program to make Magic (tm) cards | //| Copyright: (C) Twan van Laarhoven and the other MSE developers | //| License: GNU General Public License 2 or later (see file COPYING) | //+----------------------------------------------------------------------------+ #pragma once // ----------------------------------------------------------------------------- : Includes #include #include #include // ----------------------------------------------------------------------------- : SelectCardList /// A card list with check boxes class SelectCardList : public CardListBase { public: SelectCardList(Window* parent, int id, long additional_style = 0); ~SelectCardList(); /// Select all cards void selectAll(); /// Deselect all cards void selectNone(); /// Is the given card selected? bool isSelected(const CardP& card) const; /// Get a list of all selected cards void getSelection(vector& out) const; /// Change which cards are selected void setSelection(const vector& cards); protected: virtual int OnGetItemImage(long pos) const; virtual void onChangeSet(); private: DECLARE_EVENT_TABLE(); std::set selected; ///< which cards are selected? void toggle(const CardP& card); void onKeyDown(wxKeyEvent&); void onLeftDown(wxMouseEvent&); };