From 6c7f492e5a2adb45b4757a8062a4f4242b1c3e14 Mon Sep 17 00:00:00 2001
From: Loic Guegan <manzerbredes@mailbox.org>
Date: Sun, 4 Jun 2023 13:51:23 +0200
Subject: [PATCH] Improve documentation

---
 src/base_tab/BaseTab.hpp     | 2 +-
 src/engine_tab/EngineTab.hpp | 2 +-
 src/game_tab/Game.hpp        | 4 ++--
 src/game_tab/GameTab.hpp     | 2 +-
 src/game_tab/HalfMove.hpp    | 1 +
 tools/doxygen/Groups.md      | 8 +++++++-
 tools/doxygen/layout.xml     | 2 +-
 7 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/src/base_tab/BaseTab.hpp b/src/base_tab/BaseTab.hpp
index bc8c603..2b9b3f8 100644
--- a/src/base_tab/BaseTab.hpp
+++ b/src/base_tab/BaseTab.hpp
@@ -15,7 +15,7 @@ wxDECLARE_EVENT(REFRESH_MANAGE_TAB, wxCommandEvent);
 
 /**
  * @brief Class that represents an opened chess games database in the MainWindow
- * 
+ * @ingroup tabs
  */
 class BaseTab : public TabBase, public TabInfos {
   /// @brief The opened database
diff --git a/src/engine_tab/EngineTab.hpp b/src/engine_tab/EngineTab.hpp
index 00b45b5..1858a49 100644
--- a/src/engine_tab/EngineTab.hpp
+++ b/src/engine_tab/EngineTab.hpp
@@ -8,7 +8,7 @@ wxDECLARE_EVENT(REFRESH_TAB_TITLE, wxCommandEvent);
 
 /**
  * @brief Tab used to configure UCI chess engines
- * 
+ * @ingroup tabs
  */
 class EngineTab : public TabEngine, public TabInfos {
   std::string confGroup, enginePath;
diff --git a/src/game_tab/Game.hpp b/src/game_tab/Game.hpp
index 94f49fc..e5742bc 100644
--- a/src/game_tab/Game.hpp
+++ b/src/game_tab/Game.hpp
@@ -6,8 +6,8 @@
 #include <unordered_map>
 
 /**
- * @brief Hold an entire chess game
- * Used in many places in the projects.
+ * @brief Hold an entire chess game. Used in many places in the projects.
+ * @ingroup game
  */
 class Game {
   /// @brief 64 char string that contains all the pieces on the board (used in BoardCanvas)
diff --git a/src/game_tab/GameTab.hpp b/src/game_tab/GameTab.hpp
index 9986905..28e9d27 100644
--- a/src/game_tab/GameTab.hpp
+++ b/src/game_tab/GameTab.hpp
@@ -17,7 +17,7 @@ wxDECLARE_EVENT(SHOW_ENGINE_EVALUATION, wxCommandEvent);
 
 /**
  * @brief Main tab for opened games. Contains GameTabLeftPanel and GameTabRightPanel.
- * 
+ * @ingroup tabs
  */
 class GameTab : public wxPanel, public TabInfos {
   GameTabRightPanel *editor_panel;
diff --git a/src/game_tab/HalfMove.hpp b/src/game_tab/HalfMove.hpp
index 36b9888..fa9b5a5 100644
--- a/src/game_tab/HalfMove.hpp
+++ b/src/game_tab/HalfMove.hpp
@@ -8,6 +8,7 @@
 
 /**
  * @brief This class extends CGEHalfMove (to be displayed in the game editor)
+ * @ingroup game
  */
 class HalfMove : public CMI::HalfMove {
   std::string fen;
diff --git a/tools/doxygen/Groups.md b/tools/doxygen/Groups.md
index aa5bd64..df0217f 100644
--- a/tools/doxygen/Groups.md
+++ b/tools/doxygen/Groups.md
@@ -2,4 +2,10 @@
 @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
+to access to them.
+
+@defgroup game Chess game model
+@brief Classes used to model a chess game
+
+@defgroup tabs UI tabs
+@brief All classes that implement a tab visible in the main window
\ No newline at end of file
diff --git a/tools/doxygen/layout.xml b/tools/doxygen/layout.xml
index 0b25223..a494feb 100644
--- a/tools/doxygen/layout.xml
+++ b/tools/doxygen/layout.xml
@@ -4,7 +4,7 @@
   <navindex>
     <tab type="mainpage" visible="yes" title=""/>
     <tab type="pages" visible="yes" title="" intro=""/>
-    <tab type="modules" visible="yes" title="Categories" intro=""/>
+    <tab type="modules" visible="yes" title="" intro=""/>
     <tab type="namespaces" visible="yes" title="">
       <tab type="namespacelist" visible="yes" title="" intro=""/>
       <tab type="namespacemembers" visible="yes" title="" intro=""/>