From a359219e33fdf3afb5ddfbb084563054a947b106 Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Sat, 12 Feb 2022 19:13:34 +0100 Subject: Create project --- examples/wxWidgets/MyHalfMove.hpp | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 examples/wxWidgets/MyHalfMove.hpp (limited to 'examples/wxWidgets/MyHalfMove.hpp') diff --git a/examples/wxWidgets/MyHalfMove.hpp b/examples/wxWidgets/MyHalfMove.hpp new file mode 100644 index 0000000..dfb8860 --- /dev/null +++ b/examples/wxWidgets/MyHalfMove.hpp @@ -0,0 +1,40 @@ +#include "CGEditor.hpp" +#include + +/** + * @brief Create your custom half move class + * + * The implementation of the class should give you + * an overview of how to keep your move sync with the one of CGEditor + * + */ +class MyHalfMove : public cgeditor::CGEHalfMove { + MyHalfMove *parent = NULL; + MyHalfMove *mainline = NULL; + std::vector variations; + +public: + MyHalfMove(std::string move); + ~MyHalfMove(); + /// @brief Add variation to current move + void AddVariation(MyHalfMove *m); + /// @brief Remove the specified child from mainline and/or variations + void RemoveChild(MyHalfMove *m); + /// @brief Set value of the mailine + void SetMainline(MyHalfMove *m); + /// @brief Set this move as mainline + void SetAsMainline(); + /// @brief Promote the current move and submove + void Promote(); + /// @brief Check if current half move is within a variation + bool IsVariation(); + /// @brief Get the root of a variation + MyHalfMove* GetRoot(); + /// @brief Get parent of the current move + MyHalfMove* GetParent(); + /// @brief Set parent of the current move + void SetParent(MyHalfMove *m); +}; + +/// @brief Build the example game to use in the editor +MyHalfMove *BuildExampleGame(); \ No newline at end of file -- cgit v1.2.3