Files
MagicSetEditor2/src/gui/set/style_panel.hpp
T
2020-05-12 21:57:37 +02:00

67 lines
2.2 KiB
C++

//+----------------------------------------------------------------------------+
//| 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 <util/prec.hpp>
#include <gui/set/panel.hpp>
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();
};