Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
card_database_view.h
Go to the documentation of this file.
1#ifndef COCKATRICE_CARD_DATABASE_VIEW_H
2#define COCKATRICE_CARD_DATABASE_VIEW_H
3
4#include "../../key_signals.h"
5
6#include <QPair>
7#include <QString>
8#include <QStringList>
9#include <QTreeView>
10#include <functional>
12#include <qtmetamacros.h>
13
15class QModelIndex;
16class QPoint;
17class QWidget;
18template <typename T> class QList;
19
23class CardDatabaseView : public QTreeView
24{
25 Q_OBJECT
26
29
32 std::function<QList<QPair<QString, QStringList>>()> zoneMenuProvider;
35 std::function<QString()> newZoneHandler;
36
37public:
38 explicit CardDatabaseView(QWidget *parent, CardDatabaseDisplayModel *model);
39
40 QString currentCardName() const;
41
47 {
48 return &searchKeySignals;
49 }
50
59 void setZoneMenuProvider(const std::function<QList<QPair<QString, QStringList>>()> &provider,
60 const std::function<QString()> &newZoneHandler);
61
62signals:
63 void cardChanged(const QString &cardName);
64
65 void cardAdded(const QString &cardName, const QString &zoneName);
66 void cardDecremented(const QString &cardName, const QString &zoneName);
67
68 void edhrecClicked(const CardInfoPtr &cardInfo, bool isCommander);
70 void relatedCardClicked(const QString &relatedCard);
71
72private slots:
73 void actDoubleClick();
74
75 void addCard(const QString &zoneName);
76 void decrementCard(const QString &zoneName);
77 void updateCard(const QModelIndex &current, const QModelIndex &);
78
80 void copyDatabaseCellContents() const;
81 void saveDbHeaderState();
82 void openCustomMenu(QPoint point);
83};
84
85#endif // COCKATRICE_CARD_DATABASE_VIEW_H
QSharedPointer< CardInfo > CardInfoPtr
Definition card_info.cpp:15
Definition card_database_display_model.h:27
void selectPrintingClicked()
void openCustomMenu(QPoint point)
Definition card_database_view.cpp:151
void relatedCardClicked(const QString &relatedCard)
void actDoubleClick()
Definition card_database_view.cpp:92
KeySignals * getKeySignals()
Get the KeySignals that are connected to this view. You can install the KeySignals as an eventFilter ...
Definition card_database_view.h:46
void copyDatabaseCellContents() const
Definition card_database_view.cpp:140
KeySignals searchKeySignals
Definition card_database_view.h:27
QString currentCardName() const
Definition card_database_view.cpp:82
void setZoneMenuProvider(const std::function< QList< QPair< QString, QStringList > >()> &provider, const std::function< QString()> &newZoneHandler)
Sets the provider used to populate the "Add to zone" submenu of the context menu. If no provider is s...
Definition card_database_view.cpp:111
void updateCard(const QModelIndex &current, const QModelIndex &)
Definition card_database_view.cpp:118
void addCard(const QString &zoneName)
Definition card_database_view.cpp:101
void edhrecClicked(const CardInfoPtr &cardInfo, bool isCommander)
std::function< QList< QPair< QString, QStringList > >()> zoneMenuProvider
Definition card_database_view.h:32
CardDatabaseView(QWidget *parent, CardDatabaseDisplayModel *model)
Definition card_database_view.cpp:41
void cardAdded(const QString &cardName, const QString &zoneName)
void cardDecremented(const QString &cardName, const QString &zoneName)
void cardChanged(const QString &cardName)
void resetSelectionIfEmpty()
Definition card_database_view.cpp:131
void decrementCard(const QString &zoneName)
Definition card_database_view.cpp:106
void saveDbHeaderState()
Definition card_database_view.cpp:146
std::function< QString()> newZoneHandler
Definition card_database_view.h:35
CardDatabaseDisplayModel * databaseDisplayModel
Definition card_database_view.h:28
Definition key_signals.h:15
Definition remote_connection_controller.h:20