KiCad PCB EDA Suite
Loading...
Searching...
No Matches
panel_notebook_base.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/dialog.h>
23
#include <wx/panel.h>
24
#include <wx/aui/auibook.h>
25
#include <
widgets/wx_grid.h
>
26
#include <
widgets/wx_aui_art_providers.h
>
27
28
29
class
PANEL_NOTEBOOK_BASE
:
public
wxPanel
30
{
31
public
:
32
PANEL_NOTEBOOK_BASE
( wxWindow* parent, wxWindowID
id
= wxID_ANY,
33
const
wxPoint& pos = wxDefaultPosition,
34
const
wxSize& size = wxSize( -1, -1 ),
long
style = wxTAB_TRAVERSAL,
35
const
wxString&
name
= wxEmptyString ) :
36
wxPanel( parent, id, pos, size, style,
name
)
37
{ }
38
39
bool
Reparent
( wxWindowBase* newParent )
override
40
{
41
// This is called from wxAuiNotebook::AddPage / InsertPageAt
42
// We need WX_AUI_TAB_ART to hide the close button cleanly.
43
if
( wxAuiNotebook* notebook = wxDynamicCast( newParent, wxAuiNotebook ) )
44
{
45
if
( !
dynamic_cast<
WX_AUI_TAB_ART
*
>
( notebook->GetArtProvider() ) )
46
{
47
wxFAIL_MSG(
"Set wxAuiNotebook WX_AUI_TAB_ART before adding pages"
);
48
}
49
}
50
51
return
wxPanel::Reparent( newParent );
52
}
53
54
void
SetProjectTied
(
bool
aYes ) {
m_projectTied
= aYes; }
55
bool
GetProjectTied
() {
return
m_projectTied
; }
56
57
void
SetClosable
(
bool
aYes ) {
m_closable
= aYes; }
58
bool
GetClosable
()
const
{
return
m_closable
; }
59
60
virtual
bool
GetCanClose
() {
return
true
; }
61
62
private
:
63
bool
m_closable
=
false
;
64
bool
m_projectTied
=
false
;
65
};
name
const char * name
Definition
DXF_plotter.cpp:60
PANEL_NOTEBOOK_BASE::SetClosable
void SetClosable(bool aYes)
Definition
panel_notebook_base.h:57
PANEL_NOTEBOOK_BASE::m_projectTied
bool m_projectTied
Definition
panel_notebook_base.h:64
PANEL_NOTEBOOK_BASE::GetClosable
bool GetClosable() const
Definition
panel_notebook_base.h:58
PANEL_NOTEBOOK_BASE::PANEL_NOTEBOOK_BASE
PANEL_NOTEBOOK_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1, -1), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
Definition
panel_notebook_base.h:32
PANEL_NOTEBOOK_BASE::m_closable
bool m_closable
Definition
panel_notebook_base.h:63
PANEL_NOTEBOOK_BASE::GetCanClose
virtual bool GetCanClose()
Definition
panel_notebook_base.h:60
PANEL_NOTEBOOK_BASE::SetProjectTied
void SetProjectTied(bool aYes)
Definition
panel_notebook_base.h:54
PANEL_NOTEBOOK_BASE::Reparent
bool Reparent(wxWindowBase *newParent) override
Definition
panel_notebook_base.h:39
PANEL_NOTEBOOK_BASE::GetProjectTied
bool GetProjectTied()
Definition
panel_notebook_base.h:55
WX_AUI_TAB_ART
Definition
wx_aui_art_providers.h:83
wx_aui_art_providers.h
wx_grid.h
src
common
widgets
panel_notebook_base.h
Generated on Fri Jul 31 2026 00:07:45 for KiCad PCB EDA Suite by
1.13.2