Cockatrice 2025-11-30-Development-2.11.0-beta.38
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
86
87public slots:
92 void onCardChanged(const ExactCard &activeCard);
93
98 void onCardChangedDatabaseDisplay(const ExactCard &activeCard);
99
106 void onCardClickedDeckEditor(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *instance, QString zoneName);
107
113 void onCardClickedDatabaseDisplay(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *instance);
114
115signals:
116 void cardChanged(const ExactCard &activeCard);
117 void cardChangedDatabaseDisplay(const ExactCard &activeCard);
118 void cardClicked(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *instance, QString zoneName);
120
121private:
122 QVBoxLayout *layout;
127
128private slots:
133 void handleTabClose(int index);
134};
135
136#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:92
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:20
Qt model representing a decklist for use in views (tree/table).
Definition deck_list_model.h:200
Represents a specific card instance, defined by its CardInfo and a particular printing.
Definition exact_card.h:19
Definition printing_selector.h:30
void removeCurrentTab()
Remove the currently active tab.
Definition tab_deck_editor_visual_tab_widget.cpp:114
void onCardChangedDatabaseDisplay(const ExactCard &activeCard)
Emitted when the active card changes in the database display.
Definition tab_deck_editor_visual_tab_widget.cpp:72
QVBoxLayout * layout
Layout for tabs and controls.
Definition tab_deck_editor_visual_tab_widget.h:122
DeckListModel * deckModel
Deck list model.
Definition tab_deck_editor_visual_tab_widget.h:124
DeckAnalyticsWidget * deckAnalytics
Deck analytics widget.
Definition tab_deck_editor_visual_tab_widget.h:82
int getTabCount() const
Get the total number of tabs.
Definition tab_deck_editor_visual_tab_widget.cpp:147
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:83
void onCardClickedDatabaseDisplay(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *instance)
Emitted when a card is clicked in the database display.
Definition tab_deck_editor_visual_tab_widget.cpp:95
PrintingSelector * printingSelector
Printing selector widget.
Definition tab_deck_editor_visual_tab_widget.h:84
void setTabTitle(int index, const QString &title)
Set the title of a specific tab.
Definition tab_deck_editor_visual_tab_widget.cpp:127
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:85
VisualDatabaseDisplayWidget * visualDatabaseDisplay
Database display widget.
Definition tab_deck_editor_visual_tab_widget.h:83
void onCardChanged(const ExactCard &activeCard)
Emitted when the active card changes in the deck view.
Definition tab_deck_editor_visual_tab_widget.cpp:63
AbstractTabDeckEditor * deckEditor
Reference to the deck editor.
Definition tab_deck_editor_visual_tab_widget.h:123
CardDatabaseModel * cardDatabaseModel
Card database model.
Definition tab_deck_editor_visual_tab_widget.h:125
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:138
void handleTabClose(int index)
Handle closing of a tab at a given index.
Definition tab_deck_editor_visual_tab_widget.cpp:158
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:106
CardDatabaseDisplayModel * cardDatabaseDisplayModel
Card database display model.
Definition tab_deck_editor_visual_tab_widget.h:126
void cardChangedDatabaseDisplay(const ExactCard &activeCard)
Definition visual_database_display_widget.h:36
Definition visual_deck_editor_sample_hand_widget.h:19
Definition visual_deck_editor_widget.h:35