//+----------------------------------------------------------------------------+ //| 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 class CardViewer; class PackageList; class StylingEditor; // ----------------------------------------------------------------------------- : StylePanel /// A panel showing a list of stylesheets, and an editor for styling class StylePanel : public SetWindowPanel { public: StylePanel(Window* parent, int id); virtual void onChangeSet(); virtual void onAction(const Action&, bool undone); // --------------------------------------------------- : UI virtual void initUI(wxToolBar*, wxMenuBar*); // --------------------------------------------------- : Clipboard virtual bool canCut() const; virtual bool canCopy() const; virtual bool canPaste() const; virtual bool canSelectAll() const; virtual void doCut(); virtual void doCopy(); virtual void doPaste(); virtual void doSelectAll(); // --------------------------------------------------- : Selection virtual void selectCard(const CardP& card); private: DECLARE_EVENT_TABLE(); CardViewer* preview; ///< Card preview PackageList* list; ///< List of stylesheets StylingEditor* editor; ///< Editor for styling information wxButton* use_for_all; wxCheckBox* use_custom_options; CardP card; ///< Card we are working on void onStyleSelect(wxCommandEvent&); void onUseForAll(wxCommandEvent&); void onUseCustom(wxCommandEvent&); /// Determine the best size for the list of stylesheets based on available space void updateListSize(); virtual bool Layout(); /// Actual intialization of the controls void initControls(); };