3#include <wx/aui/auibook.h>
4#include <wx/aui/tabart.h>
29 wxAuiTabArt *
Clone()
override;
39 int GetBestTabCtrlSize(wxWindow *wnd,
const wxAuiNotebookPageArray &pages,
const wxSize &requiredBmpSize)
override;
46 int DrawPageTab(wxDC &dc, wxWindow *wnd, wxAuiNotebookPage &page,
const wxRect &rect)
override;
void DrawTabBarButtons(wxDC &dc, wxWindow *wnd, const wxRect &rect)
Draw the tab bar buttons (+ and menu) at the right side of the tab area.
int GetBestTabCtrlSize(wxWindow *wnd, const wxAuiNotebookPageArray &pages, const wxSize &requiredBmpSize) override
Override to get a taller tab bar.
virtual ~CustomTabArt()=default
void LoadButtonIcons()
Load button icons from resources Must be called after construction when a window context is available...
TabBarButton m_pressedButton
TabBarButton m_hoveredButton
void SetButtonsEnabled(bool enabled)
Enable or disable the integrated buttons.
static const int BUTTON_MARGIN
int GetButtonAreaWidth() const
Get the width reserved for buttons on the right side of the tab bar.
bool AreButtonsEnabled() const
Check if buttons are enabled/visible.
static const int BUTTON_SPACING
void SetHoveredButton(TabBarButton button)
Set the hovered button state (for visual feedback)
TabBarButton ButtonHitTest(int x, int y) const
Test if a point hits one of the tab bar buttons.
void UpdateAccentColor()
Update the highlight color to match the current accent color preference.
int GetIndentSize() override
Override to increase tab bar height for larger buttons.
static const int BUTTON_SIZE
int DrawPageTab(wxDC &dc, wxWindow *wnd, wxAuiNotebookPage &page, const wxRect &rect) override
wxAuiTabArt * Clone() override
void SetPressedButton(TabBarButton button)
Set the pressed button state (for visual feedback)
wxDECLARE_EVENT(EVT_TAB_ART_ADD_BUTTON, wxCommandEvent)