Cockatrice 2026-01-14-Development-2.11.0-beta.46
A cross-platform 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:
60 explicit TabDeckEditorVisualTabWidget(QWidget *parent,
61 AbstractTabDeckEditor *_deckEditor,
62 DeckListModel *_deckModel,
63 CardDatabaseModel *_cardDatabaseModel,
64 CardDatabaseDisplayModel *_cardDatabaseDisplayModel);
65
67 void addNewTab(QWidget *widget, const QString &title);
68
70 void removeCurrentTab();
71
73 void setTabTitle(int index, const QString &title);
74
76 [[nodiscard]] QWidget *getCurrentTab() const;
77
79 [[nodiscard]] int getTabCount() const;
80
87
88public slots:
93 void onCardChanged(const ExactCard &activeCard);
94
99 void onCardChangedDatabaseDisplay(const ExactCard &activeCard);
100
107 void onCardClickedDeckEditor(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *instance, QString zoneName);
108
114 void onCardClickedDatabaseDisplay(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *instance);
115
116signals:
117 void cardChanged(const ExactCard &activeCard);
118 void cardChangedDatabaseDisplay(const ExactCard &activeCard);
119 void cardClicked(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *instance, QString zoneName);
121
122private:
123 QVBoxLayout *layout;
128
129private slots:
134 void handleTabClose(int index);
135};
136
137#endif // TAB_DECK_EDITOR_VISUAL_TAB_WIDGET_H
Defines the AbstractTabDeckEditor class, which provides a base for deck editor tabs in the applicatio...
AbstractTabDeckEditor is the base class for all deck editor tabs.
Definition abstract_tab_deck_editor.h:93
Definition card_database_display_model.h:17
Definition card_database_model.h:16
Definition card_info_picture_with_text_overlay_widget.h:18
Definition deck_analytics_widget.h:23
Qt model representing a decklist for use in views (tree/table).
Definition deck_list_model.h:214
Definition deck_list_statistics_analyzer.h:23
Represents a specific card instance, defined by its CardInfo and a particular printing.
Definition exact_card.h:19
Definition printing_selector.h:32
void removeCurrentTab()
Remove the currently active tab.
Definition tab_deck_editor_visual_tab_widget.cpp:117
void onCardChangedDatabaseDisplay(const ExactCard &activeCard)
Emitted when the active card changes in the database display.
Definition tab_deck_editor_visual_tab_widget.cpp:75
QVBoxLayout * layout
Layout for tabs and controls.
Definition tab_deck_editor_visual_tab_widget.h:123
DeckListModel * deckModel
Deck list model.
Definition tab_deck_editor_visual_tab_widget.h:125
DeckAnalyticsWidget * deckAnalytics
Deck analytics widget.
Definition tab_deck_editor_visual_tab_widget.h:83
int getTabCount() const
Get the total number of tabs.
Definition tab_deck_editor_visual_tab_widget.cpp:150
void onCardClickedDeckEditor(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *instance, QString zoneName)
Emitted when a card is clicked in the deck view.
Definition tab_deck_editor_visual_tab_widget.cpp:86
void onCardClickedDatabaseDisplay(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *instance)
Emitted when a card is clicked in the database display.
Definition tab_deck_editor_visual_tab_widget.cpp:98
PrintingSelector * printingSelector
Printing selector widget.
Definition tab_deck_editor_visual_tab_widget.h:85
void setTabTitle(int index, const QString &title)
Set the title of a specific tab.
Definition tab_deck_editor_visual_tab_widget.cpp:130
TabDeckEditorVisualTabWidget(QWidget *parent, AbstractTabDeckEditor *_deckEditor, DeckListModel *_deckModel, CardDatabaseModel *_cardDatabaseModel, CardDatabaseDisplayModel *_cardDatabaseDisplayModel)
Construct the tab widget with required models.
Definition tab_deck_editor_visual_tab_widget.cpp:17
void cardChanged(const ExactCard &activeCard)
void cardClicked(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *instance, QString zoneName)
VisualDeckEditorSampleHandWidget * sampleHandWidget
Sample hand simulation widget.
Definition tab_deck_editor_visual_tab_widget.h:86
VisualDatabaseDisplayWidget * visualDatabaseDisplay
Database display widget.
Definition tab_deck_editor_visual_tab_widget.h:84
void onCardChanged(const ExactCard &activeCard)
Emitted when the active card changes in the deck view.
Definition tab_deck_editor_visual_tab_widget.cpp:66
AbstractTabDeckEditor * deckEditor
Reference to the deck editor.
Definition tab_deck_editor_visual_tab_widget.h:124
CardDatabaseModel * cardDatabaseModel
Card database model.
Definition tab_deck_editor_visual_tab_widget.h:126
VisualDeckEditorWidget * visualDeckView
Visual deck editor widget.
Definition tab_deck_editor_visual_tab_widget.h:81
QWidget * getCurrentTab() const
Get the currently active tab widget.
Definition tab_deck_editor_visual_tab_widget.cpp:141
void handleTabClose(int index)
Handle closing of a tab at a given index.
Definition tab_deck_editor_visual_tab_widget.cpp:161
void cardClickedDatabaseDisplay(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *instance)
void addNewTab(QWidget *widget, const QString &title)
Add a new tab with a widget and title.
Definition tab_deck_editor_visual_tab_widget.cpp:109
CardDatabaseDisplayModel * cardDatabaseDisplayModel
Card database display model.
Definition tab_deck_editor_visual_tab_widget.h:127
void cardChangedDatabaseDisplay(const ExactCard &activeCard)
DeckListStatisticsAnalyzer * statsAnalyzer
Definition tab_deck_editor_visual_tab_widget.h:82
Definition visual_database_display_widget.h:32
Definition visual_deck_editor_sample_hand_widget.h:21
Definition visual_deck_editor_widget.h:36