KiCad PCB EDA Suite
Loading...
Searching...
No Matches
wx_aui_art_providers.h
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright The KiCad Developers, see AUTHORS.txt for contributors.
5 *
6 * This program is free software: you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation, either version 3 of the License, or (at your
9 * option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
19
20#pragma once
21
22#include <wx/aui/auibar.h>
23#include <wx/aui/dockart.h>
24#include <wx/aui/tabart.h>
25
26
27class WX_AUI_TOOLBAR_ART : public wxAuiDefaultToolBarArt
28{
29public:
31 wxAuiDefaultToolBarArt()
32 {
34 }
35
36 virtual ~WX_AUI_TOOLBAR_ART() = default;
37
38#if wxCHECK_VERSION( 3, 3, 0 )
39 wxSize GetToolSize( wxReadOnlyDC& aDc, wxWindow* aWindow, const wxAuiToolBarItem& aItem ) override;
40#else
41 wxSize GetToolSize( wxDC& aDc, wxWindow* aWindow, const wxAuiToolBarItem& aItem ) override;
42#endif
43
47 void DrawButton( wxDC& aDc, wxWindow* aWindow, const wxAuiToolBarItem& aItem,
48 const wxRect& aRect ) override;
49
50 void UpdateColoursFromSystem() override;
51
52 int ShowDropDown( wxWindow* wnd, const wxAuiToolBarItemArray& items ) override;
53
54private:
56};
57
58
59class WX_AUI_DOCK_ART : public wxAuiDefaultDockArt
60{
61public:
63};
64
65#if wxCHECK_VERSION( 3, 3, 0 )
66class WX_AUI_TAB_ART : public wxAuiDefaultTabArt
67{
68public:
70 wxAuiDefaultTabArt()
71 {
72 }
73
74 wxAuiTabArt* Clone() override
75 {
76 return new WX_AUI_TAB_ART();
77 }
78
79 void SetSizingInfo( const wxSize& tabCtrlSize, size_t tabCount, wxWindow* wnd = nullptr ) override;
80};
81#else
82class WX_AUI_TAB_ART : public wxAuiGenericTabArt
83{
84public:
86 wxAuiGenericTabArt()
87 {
88 }
89
90 wxAuiTabArt* Clone() override
91 {
92 return new WX_AUI_TAB_ART();
93 }
94
95 void DrawTab( wxDC& dc, wxWindow* wnd, const wxAuiNotebookPage& page, const wxRect& in_rect,
96 int close_button_state, wxRect* out_tab_rect, wxRect* out_button_rect, int* x_extent ) override;
97};
98#endif
void DrawTab(wxDC &dc, wxWindow *wnd, const wxAuiNotebookPage &page, const wxRect &in_rect, int close_button_state, wxRect *out_tab_rect, wxRect *out_button_rect, int *x_extent) override
wxAuiTabArt * Clone() override
virtual ~WX_AUI_TOOLBAR_ART()=default
void UpdateColoursFromSystem() override
wxSize GetToolSize(wxDC &aDc, wxWindow *aWindow, const wxAuiToolBarItem &aItem) override
int ShowDropDown(wxWindow *wnd, const wxAuiToolBarItemArray &items) override
void DrawButton(wxDC &aDc, wxWindow *aWindow, const wxAuiToolBarItem &aItem, const wxRect &aRect) override
Unfortunately we need to re-implement this to actually be able to control the size.