mirror of
https://gitlab.com/manzerbredes/ochess.git
synced 2025-04-07 02:26:29 +02:00
44 lines
No EOL
1.1 KiB
C++
44 lines
No EOL
1.1 KiB
C++
#pragma once
|
|
|
|
#include "ochess.hpp"
|
|
#include <algorithm>
|
|
#include <vector>
|
|
|
|
#define TERMS_IN(COL) (row.COL.find(terms) != std::string::npos)
|
|
#define BG_OPEN(INDEX) game_list->SetItemBackgroundColour(INDEX, *wxGREEN)
|
|
#define BG_DELETE(INDEX) game_list->SetItemBackgroundColour(INDEX, *wxRED)
|
|
#define DISPLAY_ALL_ROWS() {for(int i=0;i<rows.size();i++){DisplayRow(i);}}
|
|
|
|
typedef std::string CType;
|
|
|
|
typedef struct Item {
|
|
long id;
|
|
CType White;
|
|
CType Black;
|
|
CType Event;
|
|
CType Round;
|
|
CType Result;
|
|
CType Eco;
|
|
} RType;
|
|
|
|
class GameListManager {
|
|
long game_counter;
|
|
wxListCtrl *game_list;
|
|
std::vector<long> deleted_games, opened_games;
|
|
|
|
void DisplayRow(long id);
|
|
void ClearDisplayedRow();
|
|
public:
|
|
std::vector<RType> rows;
|
|
|
|
GameListManager(wxListCtrl *game_list);
|
|
void AddGame(CType White,CType Black,CType Event,CType Round, CType Result, CType Eco);
|
|
void Clear();
|
|
void MarkItemAsOpen(long item);
|
|
void MarkItemAsDeleted(long item);
|
|
std::vector<long> GetSelectedItems();
|
|
long GetItemGameId(long item);
|
|
void Filter(std::string terms);
|
|
void ClearFilter();
|
|
void SortBy(short col);
|
|
}; |