Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
tab_deck_editor_visual_tab_widget.h
Go to the documentation of this file.
1#ifndef TAB_DECK_EDITOR_VISUAL_TAB_WIDGET_H
2#define TAB_DECK_EDITOR_VISUAL_TAB_WIDGET_H
3
5
6#include <QMouseEvent>
7#include <QString>
8#include <QTabWidget>
9#include <qtmetamacros.h>
10
14class DeckListModel;
16class ExactCard;
18class QVBoxLayout;
19class QWidget;
23
56class TabDeckEditorVisualTabWidget : public QTabWidget
57{
58 Q_OBJECT
59
60public:
71
79 explicit TabDeckEditorVisualTabWidget(QWidget *parent,
80 AbstractTabDeckEditor *_deckEditor,
81 DeckListModel *_deckModel,
82 CardDatabaseModel *_cardDatabaseModel);
83
85 void addNewTab(QWidget *widget, const QString &title);
86
88 void removeCurrentTab();
89
91 void setTabTitle(int index, const QString &title);
92
94 [[nodiscard]] QWidget *getCurrentTab() const;
95
97 [[nodiscard]] int getTabCount() const;
98
105
106public slots:
111 void onCardChanged(const ExactCard &activeCard);
112
117 void onCardChangedDatabaseDisplay(const ExactCard &activeCard);
118
125 void onCardClickedDeckEditor(QMouseEvent *event, const ExactCard &card, const QString &zoneName);
126
132 void onCardClickedDatabaseDisplay(QMouseEvent *event, const ExactCard &card);
133
134signals:
135 void cardChanged(const ExactCard &activeCard);
136 void cardChangedDatabaseDisplay(const ExactCard &activeCard);
137 void cardClicked(QMouseEvent *event, const ExactCard &card, const QString &zoneName);
138 void cardClickedDatabaseDisplay(QMouseEvent *event, const ExactCard &card);
139
140 void cardAdded(const ExactCard &card, const QString &zoneName);
141 void cardDecremented(const ExactCard &card, const QString &zoneName);
142 void edhrecRequested(const CardInfoPtr &cardInfo, bool isCommander);
144 void cardInfoRequested(const ExactCard &cardName);
145
146private:
147 QVBoxLayout *layout;
151
152private slots:
157 void handleTabClose(int index);
158
163 void actAddCard(const ExactCard &card);
164};
165
166#endif // TAB_DECK_EDITOR_VISUAL_TAB_WIDGET_H
QSharedPointer< CardInfo > CardInfoPtr
Definition card_info.cpp:15
AbstractTabDeckEditor is the base class for all deck editor tabs.
Definition abstract_tab_deck_editor.h:77
Definition card_database_model.h:23
Definition deck_analytics_widget.h:28
Qt model representing a decklist for use in views (tree/table).
Definition deck_list_model.h:228
Definition deck_list_statistics_analyzer.h:26
Represents a specific card instance, defined by its CardInfo and a particular printing.
Definition exact_card.h:24
Definition printing_selector.h:41
void removeCurrentTab()
Remove the currently active tab.
Definition tab_deck_editor_visual_tab_widget.cpp:142
void onCardChangedDatabaseDisplay(const ExactCard &activeCard)
Emitted when the active card changes in the database display.
Definition tab_deck_editor_visual_tab_widget.cpp:101
QVBoxLayout * layout
Layout for tabs and controls.
Definition tab_deck_editor_visual_tab_widget.h:147
DeckListModel * deckModel
Deck list model.
Definition tab_deck_editor_visual_tab_widget.h:149
void edhrecRequested(const CardInfoPtr &cardInfo, bool isCommander)
DeckAnalyticsWidget * deckAnalytics
Deck analytics widget.
Definition tab_deck_editor_visual_tab_widget.h:101
void onCardClickedDeckEditor(QMouseEvent *event, const ExactCard &card, const QString &zoneName)
Emitted when a card is clicked in the deck view.
Definition tab_deck_editor_visual_tab_widget.cpp:112
int getTabCount() const
Get the total number of tabs.
Definition tab_deck_editor_visual_tab_widget.cpp:175
void cardClicked(QMouseEvent *event, const ExactCard &card, const QString &zoneName)
PrintingSelector * printingSelector
Printing selector widget.
Definition tab_deck_editor_visual_tab_widget.h:103
void setTabTitle(int index, const QString &title)
Set the title of a specific tab.
Definition tab_deck_editor_visual_tab_widget.cpp:155
void cardChanged(const ExactCard &activeCard)
void cardInfoRequested(const ExactCard &cardName)
VisualDeckEditorSampleHandWidget * sampleHandWidget
Sample hand simulation widget.
Definition tab_deck_editor_visual_tab_widget.h:104
void cardAdded(const ExactCard &card, const QString &zoneName)
VisualDatabaseDisplayWidget * visualDatabaseDisplay
Database display widget.
Definition tab_deck_editor_visual_tab_widget.h:102
void onCardChanged(const ExactCard &activeCard)
Emitted when the active card changes in the deck view.
Definition tab_deck_editor_visual_tab_widget.cpp:92
void actAddCard(const ExactCard &card)
Adds card to maindeck or side depending on whether ctrl is held.
Definition tab_deck_editor_visual_tab_widget.cpp:193
void cardDecremented(const ExactCard &card, const QString &zoneName)
AbstractTabDeckEditor * deckEditor
Reference to the deck editor.
Definition tab_deck_editor_visual_tab_widget.h:148
void cardClickedDatabaseDisplay(QMouseEvent *event, const ExactCard &card)
CardDatabaseModel * cardDatabaseModel
Card database model.
Definition tab_deck_editor_visual_tab_widget.h:150
void onCardClickedDatabaseDisplay(QMouseEvent *event, const ExactCard &card)
Emitted when a card is clicked in the database display.
Definition tab_deck_editor_visual_tab_widget.cpp:124
VisualDeckEditorWidget * visualDeckView
Visual deck editor widget.
Definition tab_deck_editor_visual_tab_widget.h:99
QWidget * getCurrentTab() const
Get the currently active tab widget.
Definition tab_deck_editor_visual_tab_widget.cpp:166
void handleTabClose(int index)
Handle closing of a tab at a given index.
Definition tab_deck_editor_visual_tab_widget.cpp:186
TabDeckEditorVisualTabWidget(QWidget *parent, AbstractTabDeckEditor *_deckEditor, DeckListModel *_deckModel, CardDatabaseModel *_cardDatabaseModel)
Construct the tab widget with required models.
Definition tab_deck_editor_visual_tab_widget.cpp:33
void addNewTab(QWidget *widget, const QString &title)
Add a new tab with a widget and title.
Definition tab_deck_editor_visual_tab_widget.cpp:134
TabIndex
Sub-tab order in the container; addNewTab() is called in this order.
Definition tab_deck_editor_visual_tab_widget.h:65
@ VisualDeckView
Definition tab_deck_editor_visual_tab_widget.h:66
@ DeckAnalytics
Definition tab_deck_editor_visual_tab_widget.h:68
@ VisualDatabaseDisplay
Definition tab_deck_editor_visual_tab_widget.h:67
@ SampleHand
Definition tab_deck_editor_visual_tab_widget.h:69
void cardChangedDatabaseDisplay(const ExactCard &activeCard)
DeckListStatisticsAnalyzer * statsAnalyzer
Definition tab_deck_editor_visual_tab_widget.h:100
Definition visual_database_display_widget.h:46
Definition visual_deck_editor_sample_hand_widget.h:27
Definition visual_deck_editor_widget.h:46