aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/binres/binres.hpp3
-rw-r--r--src/game_tab/HalfMove.hpp21
-rw-r--r--src/game_tab/right_panel/LiveEngineDialog.hpp24
-rw-r--r--tools/doxygen/Doxyfile4
-rw-r--r--tools/doxygen/Groups.md5
-rw-r--r--tools/doxygen/layout.xml240
6 files changed, 288 insertions, 9 deletions
diff --git a/src/binres/binres.hpp b/src/binres/binres.hpp
index cf48c14..2fd00e8 100644
--- a/src/binres/binres.hpp
+++ b/src/binres/binres.hpp
@@ -6,7 +6,6 @@
* @date 2023-05-12
*
* @copyright Copyright (c) 2023
- *
*/
#pragma once
@@ -19,6 +18,7 @@
* @param icon The icon name
* @param size Scale the icon to the specified size
* @return wxBitmap
+ * @ingroup binres
*/
wxBitmap LoadPNG(std::string icon, wxSize size);
@@ -27,6 +27,7 @@ wxBitmap LoadPNG(std::string icon, wxSize size);
*
* @param icon
* @return wxBitmap the image or wxNullBitmap if not found
+ * @ingroup binres
*/
wxBitmap LoadPNG(std::string icon);
diff --git a/src/game_tab/HalfMove.hpp b/src/game_tab/HalfMove.hpp
index eefee21..36b9888 100644
--- a/src/game_tab/HalfMove.hpp
+++ b/src/game_tab/HalfMove.hpp
@@ -27,11 +27,30 @@ public:
HalfMove(std::string move_absolute,std::string move_san, std::string fen);
HalfMove(CMI::HalfMove *m);
+ /**
+ * @brief Add mainline to the current move.
+ * If a mainline already exists, add to its variations
+ *
+ * @param m the move to add
+ */
void AddMove(HalfMove *m);
/// @brief Check if current half move is within a variation
bool IsVariation();
- /// @brief Get the root of a variation
+ /**
+ * @brief Check if pointer @a m to a HalfMove is a parent of the current one
+ *
+ * @param m
+ * @return true
+ * @return false
+ */
bool HasParent(HalfMove*m);
+ /**
+ * @brief Check if a given pointer @a m to a HalfMove is in mainline or variations of the current move.
+ *
+ * @param m
+ * @return true
+ * @return false
+ */
bool HasChild(HalfMove*m);
/// @brief Retrieve the list of moves from the current one to the first one
std::vector<HalfMove *> GetLine();
diff --git a/src/game_tab/right_panel/LiveEngineDialog.hpp b/src/game_tab/right_panel/LiveEngineDialog.hpp
index 8975ed2..d0c6c51 100644
--- a/src/game_tab/right_panel/LiveEngineDialog.hpp
+++ b/src/game_tab/right_panel/LiveEngineDialog.hpp
@@ -26,15 +26,29 @@ class LiveEngineDialog : public DialogLiveEngine {
wxTimer timer;
/// @brief The following time interval definitely need to be configure in the user settings (set to 1s for now)
std::uint32_t interval;
-
+ /**
+ * @brief Called to fetch last evaluation from the engine subprocess (stockfish, fritz etc.)
+ *
+ * @param event
+ */
+ void OnTimerTick(wxTimerEvent &event);
+ void OnClose(wxCloseEvent &e);
+ /**
+ * @brief Create the engine sub process using the uciadapter library
+ *
+ */
+ void InitEngine();
+ /// @brief Pause/Resume evaluation
+ void TogglePauseEngine(wxCommandEvent &event);
public:
LiveEngineDialog(wxWindow *parent, std::uint32_t engine_id);
~LiveEngineDialog();
- void InitEngine();
- void TogglePauseEngine(wxCommandEvent &event);
- void OnTimerTick(wxTimerEvent &event);
+ /**
+ * @brief Used setup a new position to evaluate
+ *
+ * @param fen position to evaluate
+ */
void SetFEN(std::string fen);
void StopEngine();
void StartEngine();
- void OnClose(wxCloseEvent &e);
}; \ No newline at end of file
diff --git a/tools/doxygen/Doxyfile b/tools/doxygen/Doxyfile
index ba19246..6ceef09 100644
--- a/tools/doxygen/Doxyfile
+++ b/tools/doxygen/Doxyfile
@@ -796,7 +796,7 @@ FILE_VERSION_FILTER =
# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
# tag is left empty.
-LAYOUT_FILE =
+LAYOUT_FILE = layout.xml
# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
# the reference definitions. This must be a list of .bib files. The .bib
@@ -917,7 +917,7 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.
-INPUT = ../../src MainPage.md Opening.md BoardTheming.md Libraries.md
+INPUT = ../../src MainPage.md Opening.md BoardTheming.md Libraries.md Groups.md
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
diff --git a/tools/doxygen/Groups.md b/tools/doxygen/Groups.md
new file mode 100644
index 0000000..aa5bd64
--- /dev/null
+++ b/tools/doxygen/Groups.md
@@ -0,0 +1,5 @@
+@defgroup binres Embbeded binary resources utilities
+@brief How to access to the embbeded binary data
+@details Binary resources are generated into the binary_data.hpp file using
+the `tools/embbeded.sh` script. Here are the various functions used
+to access to them. \ No newline at end of file
diff --git a/tools/doxygen/layout.xml b/tools/doxygen/layout.xml
new file mode 100644
index 0000000..0b25223
--- /dev/null
+++ b/tools/doxygen/layout.xml
@@ -0,0 +1,240 @@
+<doxygenlayout version="1.0">
+ <!-- Generated by doxygen 1.9.7 -->
+ <!-- Navigation index tabs for HTML output -->
+ <navindex>
+ <tab type="mainpage" visible="yes" title=""/>
+ <tab type="pages" visible="yes" title="" intro=""/>
+ <tab type="modules" visible="yes" title="Categories" intro=""/>
+ <tab type="namespaces" visible="yes" title="">
+ <tab type="namespacelist" visible="yes" title="" intro=""/>
+ <tab type="namespacemembers" visible="yes" title="" intro=""/>
+ </tab>
+ <tab type="concepts" visible="yes" title="">
+ </tab>
+ <tab type="interfaces" visible="yes" title="">
+ <tab type="interfacelist" visible="yes" title="" intro=""/>
+ <tab type="interfaceindex" visible="$ALPHABETICAL_INDEX" title=""/>
+ <tab type="interfacehierarchy" visible="yes" title="" intro=""/>
+ </tab>
+ <tab type="classes" visible="yes" title="">
+ <tab type="classlist" visible="yes" title="" intro=""/>
+ <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
+ <tab type="hierarchy" visible="yes" title="" intro=""/>
+ <tab type="classmembers" visible="yes" title="" intro=""/>
+ </tab>
+ <tab type="structs" visible="yes" title="">
+ <tab type="structlist" visible="yes" title="" intro=""/>
+ <tab type="structindex" visible="$ALPHABETICAL_INDEX" title=""/>
+ </tab>
+ <tab type="exceptions" visible="yes" title="">
+ <tab type="exceptionlist" visible="yes" title="" intro=""/>
+ <tab type="exceptionindex" visible="$ALPHABETICAL_INDEX" title=""/>
+ <tab type="exceptionhierarchy" visible="yes" title="" intro=""/>
+ </tab>
+ <tab type="files" visible="yes" title="">
+ <tab type="filelist" visible="yes" title="" intro=""/>
+ <tab type="globals" visible="yes" title="" intro=""/>
+ </tab>
+ <tab type="examples" visible="yes" title="" intro=""/>
+ </navindex>
+
+ <!-- Layout definition for a class page -->
+ <class>
+ <briefdescription visible="yes"/>
+ <includes visible="$SHOW_HEADERFILE"/>
+ <inheritancegraph visible="$CLASS_GRAPH"/>
+ <collaborationgraph visible="$COLLABORATION_GRAPH"/>
+ <memberdecl>
+ <nestedclasses visible="yes" title=""/>
+ <publictypes title=""/>
+ <services title=""/>
+ <interfaces title=""/>
+ <publicslots title=""/>
+ <signals title=""/>
+ <publicmethods title=""/>
+ <publicstaticmethods title=""/>
+ <publicattributes title=""/>
+ <publicstaticattributes title=""/>
+ <protectedtypes title=""/>
+ <protectedslots title=""/>
+ <protectedmethods title=""/>
+ <protectedstaticmethods title=""/>
+ <protectedattributes title=""/>
+ <protectedstaticattributes title=""/>
+ <packagetypes title=""/>
+ <packagemethods title=""/>
+ <packagestaticmethods title=""/>
+ <packageattributes title=""/>
+ <packagestaticattributes title=""/>
+ <properties title=""/>
+ <events title=""/>
+ <privatetypes title=""/>
+ <privateslots title=""/>
+ <privatemethods title=""/>
+ <privatestaticmethods title=""/>
+ <privateattributes title=""/>
+ <privatestaticattributes title=""/>
+ <friends title=""/>
+ <related title="" subtitle=""/>
+ <membergroups visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ <memberdef>
+ <inlineclasses title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
+ <services title=""/>
+ <interfaces title=""/>
+ <constructors title=""/>
+ <functions title=""/>
+ <related title=""/>
+ <variables title=""/>
+ <properties title=""/>
+ <events title=""/>
+ </memberdef>
+ <allmemberslink visible="yes"/>
+ <usedfiles visible="$SHOW_USED_FILES"/>
+ <authorsection visible="yes"/>
+ </class>
+
+ <!-- Layout definition for a namespace page -->
+ <namespace>
+ <briefdescription visible="yes"/>
+ <memberdecl>
+ <nestednamespaces visible="yes" title=""/>
+ <constantgroups visible="yes" title=""/>
+ <interfaces visible="yes" title=""/>
+ <classes visible="yes" title=""/>
+ <concepts visible="yes" title=""/>
+ <structs visible="yes" title=""/>
+ <exceptions visible="yes" title=""/>
+ <typedefs title=""/>
+ <sequences title=""/>
+ <dictionaries title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ <membergroups visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ <memberdef>
+ <inlineclasses title=""/>
+ <typedefs title=""/>
+ <sequences title=""/>
+ <dictionaries title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ </memberdef>
+ <authorsection visible="yes"/>
+ </namespace>
+
+ <!-- Layout definition for a concept page -->
+ <concept>
+ <briefdescription visible="yes"/>
+ <includes visible="$SHOW_HEADERFILE"/>
+ <definition visible="yes" title=""/>
+ <detaileddescription title=""/>
+ <authorsection visible="yes"/>
+ </concept>
+
+ <!-- Layout definition for a file page -->
+ <file>
+ <briefdescription visible="yes"/>
+ <includes visible="$SHOW_INCLUDE_FILES"/>
+ <includegraph visible="$INCLUDE_GRAPH"/>
+ <includedbygraph visible="$INCLUDED_BY_GRAPH"/>
+ <sourcelink visible="yes"/>
+ <memberdecl>
+ <interfaces visible="yes" title=""/>
+ <classes visible="yes" title=""/>
+ <structs visible="yes" title=""/>
+ <exceptions visible="yes" title=""/>
+ <namespaces visible="yes" title=""/>
+ <concepts visible="yes" title=""/>
+ <constantgroups visible="yes" title=""/>
+ <defines title=""/>
+ <typedefs title=""/>
+ <sequences title=""/>
+ <dictionaries title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ <membergroups visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ <memberdef>
+ <inlineclasses title=""/>
+ <defines title=""/>
+ <typedefs title=""/>
+ <sequences title=""/>
+ <dictionaries title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ </memberdef>
+ <authorsection/>
+ </file>
+
+ <!-- Layout definition for a group page -->
+ <group>
+ <briefdescription visible="yes"/>
+ <groupgraph visible="$GROUP_GRAPHS"/>
+ <memberdecl>
+ <nestedgroups visible="yes" title=""/>
+ <dirs visible="yes" title=""/>
+ <files visible="yes" title=""/>
+ <namespaces visible="yes" title=""/>
+ <concepts visible="yes" title=""/>
+ <classes visible="yes" title=""/>
+ <defines title=""/>
+ <typedefs title=""/>
+ <sequences title=""/>
+ <dictionaries title=""/>
+ <enums title=""/>
+ <enumvalues title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ <signals title=""/>
+ <publicslots title=""/>
+ <protectedslots title=""/>
+ <privateslots title=""/>
+ <events title=""/>
+ <properties title=""/>
+ <friends title=""/>
+ <membergroups visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ <memberdef>
+ <pagedocs/>
+ <inlineclasses title=""/>
+ <defines title=""/>
+ <typedefs title=""/>
+ <sequences title=""/>
+ <dictionaries title=""/>
+ <enums title=""/>
+ <enumvalues title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ <signals title=""/>
+ <publicslots title=""/>
+ <protectedslots title=""/>
+ <privateslots title=""/>
+ <events title=""/>
+ <properties title=""/>
+ <friends title=""/>
+ </memberdef>
+ <authorsection visible="yes"/>
+ </group>
+
+ <!-- Layout definition for a directory page -->
+ <directory>
+ <briefdescription visible="yes"/>
+ <directorygraph visible="yes"/>
+ <memberdecl>
+ <dirs visible="yes"/>
+ <files visible="yes"/>
+ </memberdecl>
+ <detaileddescription title=""/>
+ </directory>
+</doxygenlayout>