Cockatrice 2026-06-27-Development-3.1.0-beta.3
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
4#include "../../interface/widgets/deck_analytics/deck_analytics_widget.h"
5#include "../../interface/widgets/printing_selector/printing_selector.h"
6#include "../../interface/widgets/visual_database_display/visual_database_display_widget.h"
7#include "../../interface/widgets/visual_deck_editor/visual_deck_editor_sample_hand_widget.h"
8#include "../../interface/widgets/visual_deck_editor/visual_deck_editor_widget.h"
10
11#include <QTabWidget>
12#include <QVBoxLayout>
13#include <QWidget>
14
47class TabDeckEditorVisualTabWidget : public QTabWidget
48{
49 Q_OBJECT
50
51public:
59 explicit TabDeckEditorVisualTabWidget(QWidget *parent,
60 AbstractTabDeckEditor *_deckEditor,
61 DeckListModel *_deckModel,
62 CardDatabaseModel *_cardDatabaseModel);
63
65 void addNewTab(QWidget *widget, const QString &title);
66
68 void removeCurrentTab();
69
71 void setTabTitle(int index, const QString &title);
72
74 [[nodiscard]] QWidget *getCurrentTab() const;
75
77 [[nodiscard]] int getTabCount() const;
78
85
86public slots:
91 void onCardChanged(const ExactCard &activeCard);
92
97 void onCardChangedDatabaseDisplay(const ExactCard &activeCard);
98
105 void onCardClickedDeckEditor(QMouseEvent *event, const ExactCard &card, const QString &zoneName);
106
112 void onCardClickedDatabaseDisplay(QMouseEvent *event, const ExactCard &card);
113
114signals:
115 void cardChanged(const ExactCard &activeCard);
116 void cardChangedDatabaseDisplay(const ExactCard &activeCard);
117 void cardClicked(QMouseEvent *event, const ExactCard &card, const QString &zoneName);
118 void cardClickedDatabaseDisplay(QMouseEvent *event, const ExactCard &card);
119
120 void cardAdded(const ExactCard &card, const QString &zoneName);
121 void cardDecremented(const ExactCard &card, const QString &zoneName);
122 void edhrecRequested(const CardInfoPtr &cardInfo, bool isCommander);
124 void cardInfoRequested(const ExactCard &cardName);
125
126private:
127 QVBoxLayout *layout;
131
132private slots:
137 void handleTabClose(int index);
138
143 void actAddCard(const ExactCard &card);
144};
145
146#endif // TAB_DECK_EDITOR_VISUAL_TAB_WIDGET_H
Defines the AbstractTabDeckEditor class, which provides a base for deck editor tabs in the applicatio...
QSharedPointer< CardInfo > CardInfoPtr
Definition card_info.cpp:20
AbstractTabDeckEditor is the base class for all deck editor tabs.
Definition abstract_tab_deck_editor.h:93
Definition card_database_model.h:16
Definition deck_analytics_widget.h:25
Qt model representing a decklist for use in views (tree/table).
Definition deck_list_model.h:217
Definition deck_list_statistics_analyzer.h:24
Represents a specific card instance, defined by its CardInfo and a particular printing.
Definition exact_card.h:19
Definition printing_selector.h:39
void removeCurrentTab()
Remove the currently active tab.
Definition tab_deck_editor_visual_tab_widget.cpp:124
void onCardChangedDatabaseDisplay(const ExactCard &activeCard)
Emitted when the active card changes in the database display.
Definition tab_deck_editor_visual_tab_widget.cpp:83
QVBoxLayout * layout
Layout for tabs and controls.
Definition tab_deck_editor_visual_tab_widget.h:127
DeckListModel * deckModel
Deck list model.
Definition tab_deck_editor_visual_tab_widget.h:129
void edhrecRequested(const CardInfoPtr &cardInfo, bool isCommander)
DeckAnalyticsWidget * deckAnalytics
Deck analytics widget.
Definition tab_deck_editor_visual_tab_widget.h:81
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:94
int getTabCount() const
Get the total number of tabs.
Definition tab_deck_editor_visual_tab_widget.cpp:157
void cardClicked(QMouseEvent *event, const ExactCard &card, const QString &zoneName)
PrintingSelector * printingSelector
Printing selector widget.
Definition tab_deck_editor_visual_tab_widget.h:83
void setTabTitle(int index, const QString &title)
Set the title of a specific tab.
Definition tab_deck_editor_visual_tab_widget.cpp:137
void cardChanged(const ExactCard &activeCard)
void cardInfoRequested(const ExactCard &cardName)
VisualDeckEditorSampleHandWidget * sampleHandWidget
Sample hand simulation widget.
Definition tab_deck_editor_visual_tab_widget.h:84
void cardAdded(const ExactCard &card, const QString &zoneName)
VisualDatabaseDisplayWidget * visualDatabaseDisplay
Database display widget.
Definition tab_deck_editor_visual_tab_widget.h:82
void onCardChanged(const ExactCard &activeCard)
Emitted when the active card changes in the deck view.
Definition tab_deck_editor_visual_tab_widget.cpp:74
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:175
void cardDecremented(const ExactCard &card, const QString &zoneName)
AbstractTabDeckEditor * deckEditor
Reference to the deck editor.
Definition tab_deck_editor_visual_tab_widget.h:128
void cardClickedDatabaseDisplay(QMouseEvent *event, const ExactCard &card)
CardDatabaseModel * cardDatabaseModel
Card database model.
Definition tab_deck_editor_visual_tab_widget.h:130
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:106
VisualDeckEditorWidget * visualDeckView
Visual deck editor widget.
Definition tab_deck_editor_visual_tab_widget.h:79
QWidget * getCurrentTab() const
Get the currently active tab widget.
Definition tab_deck_editor_visual_tab_widget.cpp:148
void handleTabClose(int index)
Handle closing of a tab at a given index.
Definition tab_deck_editor_visual_tab_widget.cpp:168
TabDeckEditorVisualTabWidget(QWidget *parent, AbstractTabDeckEditor *_deckEditor, DeckListModel *_deckModel, CardDatabaseModel *_cardDatabaseModel)
Construct the tab widget with required models.
Definition tab_deck_editor_visual_tab_widget.cpp:16
void addNewTab(QWidget *widget, const QString &title)
Add a new tab with a widget and title.
Definition tab_deck_editor_visual_tab_widget.cpp:116
void cardChangedDatabaseDisplay(const ExactCard &activeCard)
DeckListStatisticsAnalyzer * statsAnalyzer
Definition tab_deck_editor_visual_tab_widget.h:80
Definition visual_database_display_widget.h:32
Definition visual_deck_editor_sample_hand_widget.h:21
Definition visual_deck_editor_widget.h:37