Cockatrice 2026-06-27-Development-3.1.0-beta.3
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
tab_card_art_rules.h
Go to the documentation of this file.
1#ifndef COCKATRICE_DLG_CARD_ART_RULES_H
2#define COCKATRICE_DLG_CARD_ART_RULES_H
3
5#include "tab_supervisor.h"
6
7#include <QAbstractTableModel>
8#include <QComboBox>
9#include <QLineEdit>
10#include <QPushButton>
11#include <QTableView>
12
13class AbstractClient;
14
15class CardArtRulesModel : public QAbstractTableModel
16{
17 Q_OBJECT
18
19public:
20 struct Entry
21 {
22 QString cardName;
24 QString mode;
25 QString reason;
26 };
27
28 explicit CardArtRulesModel(AbstractClient *client, QObject *parent = nullptr);
29
30 int rowCount(const QModelIndex &parent = QModelIndex()) const override;
31 int columnCount(const QModelIndex &parent = QModelIndex()) const override;
32 QVariant data(const QModelIndex &index, int role) const override;
33 QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
34
35 void refresh();
36 void clear();
37
38 QString cardAt(int row) const;
39 const Entry *entryAt(int row) const;
40
41private slots:
42 void onRefreshFinished(const Response &r);
43
44private:
46 std::vector<Entry> entries;
47};
48
49class TabCardArtRules : public Tab
50{
51 Q_OBJECT
52
53public:
55
56 QString getTabText() const override
57 {
58 return tr("Card Art Rules");
59 }
60 void retranslateUi() override;
61
62private:
63 void setupUi();
64
65private slots:
66 void addRule();
67 void removeSelected();
68 void refresh();
69
70private:
72
73 QLineEdit *searchEdit;
74 void initSearchBar();
75 void populateProviderCombo(const QString &cardName);
76 QCompleter *searchCompleter;
81 QComboBox *providerComboBox;
82 QComboBox *modeBox;
83 QLineEdit *reasonEdit;
84
85 QPushButton *addBtn;
86 QPushButton *removeBtn;
87 QPushButton *refreshBtn;
88
89 QTableView *table;
91};
92
93#endif // COCKATRICE_DLG_CARD_ART_RULES_H
Definition abstract_client.h:51
Definition tab_card_art_rules.h:16
AbstractClient * client
Definition tab_card_art_rules.h:45
QVariant headerData(int section, Qt::Orientation orientation, int role) const override
Definition tab_card_art_rules.cpp:57
int rowCount(const QModelIndex &parent=QModelIndex()) const override
Definition tab_card_art_rules.cpp:19
void refresh()
Definition tab_card_art_rules.cpp:77
void onRefreshFinished(const Response &r)
Definition tab_card_art_rules.cpp:113
QVariant data(const QModelIndex &index, int role) const override
Definition tab_card_art_rules.cpp:33
std::vector< Entry > entries
Definition tab_card_art_rules.h:46
const Entry * entryAt(int row) const
Definition tab_card_art_rules.cpp:104
void clear()
Definition tab_card_art_rules.cpp:88
QString cardAt(int row) const
Definition tab_card_art_rules.cpp:95
CardArtRulesModel(AbstractClient *client, QObject *parent=nullptr)
Definition tab_card_art_rules.cpp:14
int columnCount(const QModelIndex &parent=QModelIndex()) const override
Definition tab_card_art_rules.cpp:27
Definition card_completer_proxy_model.h:13
Definition card_database_display_model.h:17
Definition card_database_model.h:16
Definition card_search_model.h:15
QLineEdit * searchEdit
Definition tab_card_art_rules.h:73
CardDatabaseModel * cardDbModel
Definition tab_card_art_rules.h:77
QLineEdit * reasonEdit
Definition tab_card_art_rules.h:83
CardArtRulesModel * tableModel
Definition tab_card_art_rules.h:90
CardCompleterProxyModel * cardProxyModel
Definition tab_card_art_rules.h:80
CardSearchModel * cardSearchModel
Definition tab_card_art_rules.h:79
void setupUi()
Definition tab_card_art_rules.cpp:138
QPushButton * refreshBtn
Definition tab_card_art_rules.h:87
QString getTabText() const override
Definition tab_card_art_rules.h:56
void populateProviderCombo(const QString &cardName)
Definition tab_card_art_rules.cpp:226
QPushButton * addBtn
Definition tab_card_art_rules.h:85
void refresh()
Definition tab_card_art_rules.cpp:259
QTableView * table
Definition tab_card_art_rules.h:89
TabCardArtRules(TabSupervisor *parent, AbstractClient *client)
Definition tab_card_art_rules.cpp:132
AbstractClient * client
Definition tab_card_art_rules.h:71
CardDatabaseDisplayModel * cardDbDisplayModel
Definition tab_card_art_rules.h:78
void addRule()
Definition tab_card_art_rules.cpp:264
void removeSelected()
Definition tab_card_art_rules.cpp:277
void initSearchBar()
Definition tab_card_art_rules.cpp:189
QCompleter * searchCompleter
Definition tab_card_art_rules.h:76
QPushButton * removeBtn
Definition tab_card_art_rules.h:86
QComboBox * modeBox
Definition tab_card_art_rules.h:82
void retranslateUi() override
Definition tab_card_art_rules.cpp:252
QComboBox * providerComboBox
Definition tab_card_art_rules.h:81
Definition tab_supervisor.h:84
Tab(TabSupervisor *_tabSupervisor)
Definition tab.cpp:11
Definition tab_card_art_rules.h:21
QString reason
Definition tab_card_art_rules.h:25
QString cardProviderId
Definition tab_card_art_rules.h:23
QString cardName
Definition tab_card_art_rules.h:22
QString mode
Definition tab_card_art_rules.h:24