OChess v0.0.2
Programmer's Manual
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
 CAnimStateDrawing buffer and state for animations
 CGameState::ArrowState of an arrow
 Ccgeditor::CGEditor
 CEditorCanvasContains the moves editor for the currently opened game
 CEngineEvaluationContains the current engine evaluation (sorted vector of best lines + position score in cp)
 CGameHold an entire chess game. Used in many places in the projects
 CGameBaseRepresent the interface that each database type (such as PGNGameBase) must follow to be accessible in OChess
 CPGNGameBaseUsed to open PGN files
 CGameListManagerA helper class to manage a wxListCtrl that display games
 CGameStateCurrent game state displayed by BoardCanvas
 CCMI::HalfMove
 CHalfMoveThis class extends CGEHalfMove (to be displayed in the game editor)
 CItemRow item content
 COpeningsGuess the opening using the Lichess Opening Database See: https://github.com/lichess-org/chess-openings
 CGameState::SquareState of an highlighted square
 CTabInfosUsed by each tab of the GUI to attach additional informations and features
 CBaseTabClass that represents an opened chess games database in the MainWindow
 CEngineTabTab used to configure UCI chess engines
 CGameTabMain tab for opened games. Contains GameTabLeftPanel and GameTabRightPanel
 CThemeThe in memory board theme (used by BoardCanvas)
 CwxApp
 CMyAppMain application
 CwxDialog
 CDialogAboutClass DialogAbout
 CDialogAppendGameClass DialogAppendGame
 CDialogLiveEngineClass DialogLiveEngine
 CLiveEngineDialogDialog to control the current running engine on the game tab
 CwxFrame
 CMainFrameClass MainFrame
 CMainWindowMain GUI window of OChess
 CwxPanel
 CBoardCanvasThis class draws the chess board (squares, pieces, arrows and every other board related components)
 CEditorCanvasContains the moves editor for the currently opened game
 CGameTabMain tab for opened games. Contains GameTabLeftPanel and GameTabRightPanel
 CPrefsBoardClass PrefsBoard
 CBoardPrefsPanelConfiguration page for the BoardCanvas
 CPrefsEditorClass PrefsEditor
 CEditorPrefsPanelConfiguration page for the EditorCanvas
 CTabBaseClass TabBase
 CBaseTabClass that represents an opened chess games database in the MainWindow
 CTabBase_TabGamesClass TabBase_TabGames
 CBaseGameTabA BaseTab sub-tab to list and search games
 CTabBase_TabImportClass TabBase_TabImport
 CBaseImportTabA BaseTab sub-tab to import games
 CTabBase_TabManageClass TabBase_TabManage
 CBaseManageTabA BaseTab sub-tab to manage games
 CTabEngineClass TabEngine
 CEngineTabTab used to configure UCI chess engines
 CTabGameLeftPanelClass TabGameLeftPanel
 CGameTabLeftPanelPanel that contains the BoardCanvas and the bottom control buttons
 CTabGameRightPanelClass TabGameRightPanel
 CGameTabRightPanelRight panel of the GameTab and contains the EditorCanvas and the live engine tab
 CwxPreferencesPage
 CBoardPrefsInterface for wxWidgets to load BoardPrefsPanel into the preference window
 CEditorPrefsInterface for wxWidgets to load EditorPrefsPanel into the preference window