KiCad PCB EDA Suite
Loading...
Searching...
No Matches
panel_setup_net_chains_base.cpp
Go to the documentation of this file.
1
2// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6)
3// http://www.wxformbuilder.org/
4//
5// PLEASE DO *NOT* EDIT THIS FILE!
7
9#include "widgets/wx_grid.h"
10
12
14
15PANEL_SETUP_NET_CHAINS_BASE::PANEL_SETUP_NET_CHAINS_BASE( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxPanel( parent, id, pos, size, style, name )
16{
17 wxBoxSizer* outerSizer;
18 outerSizer = new wxBoxSizer( wxVERTICAL );
19
20 m_notebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
21 m_chainsTab = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
22 wxBoxSizer* bChainsTab;
23 bChainsTab = new wxBoxSizer( wxVERTICAL );
24
25 m_chainsHeader = new wxStaticText( m_chainsTab, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
26 m_chainsHeader->Wrap( -1 );
27 bChainsTab->Add( m_chainsHeader, 0, wxLEFT|wxTOP, 8 );
28
29
30 bChainsTab->Add( 0, 3, 0, wxEXPAND, 5 );
31
32 m_chainsSplitter = new wxSplitterWindow( m_chainsTab, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3D|wxSP_LIVE_UPDATE );
33 m_chainsSplitter->SetSashGravity( 0.7 );
34 m_chainsSplitter->Connect( wxEVT_IDLE, wxIdleEventHandler( PANEL_SETUP_NET_CHAINS_BASE::m_chainsSplitterOnIdle ), NULL, this );
35 m_chainsSplitter->SetMinimumPaneSize( 80 );
36
37 m_chainsGridPanel = new wxPanel( m_chainsSplitter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
38 wxBoxSizer* bGridSizer;
39 bGridSizer = new wxBoxSizer( wxVERTICAL );
40
41 m_chainsGrid = new WX_GRID( m_chainsGridPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
42
43 // Grid
44 m_chainsGrid->CreateGrid( 0, 5 );
45 m_chainsGrid->EnableEditing( true );
46 m_chainsGrid->EnableGridLines( true );
47 m_chainsGrid->EnableDragGridSize( true );
48 m_chainsGrid->SetMargins( 0, 0 );
49
50 // Columns
51 m_chainsGrid->SetColSize( 0, 160 );
52 m_chainsGrid->SetColSize( 1, 200 );
53 m_chainsGrid->SetColSize( 2, 140 );
54 m_chainsGrid->SetColSize( 3, 140 );
55 m_chainsGrid->SetColSize( 4, 60 );
56 m_chainsGrid->EnableDragColMove( false );
57 m_chainsGrid->EnableDragColSize( true );
58 m_chainsGrid->SetColLabelValue( 0, _("Name") );
59 m_chainsGrid->SetColLabelValue( 1, _("Members") );
60 m_chainsGrid->SetColLabelValue( 2, _("Net Chain Class") );
61 m_chainsGrid->SetColLabelValue( 3, _("Net Class") );
62 m_chainsGrid->SetColLabelValue( 4, _("Colour") );
63 m_chainsGrid->SetColLabelSize( wxGRID_AUTOSIZE );
64 m_chainsGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
65
66 // Rows
67 m_chainsGrid->EnableDragRowSize( true );
68 m_chainsGrid->SetRowLabelSize( 0 );
69 m_chainsGrid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
70
71 // Label Appearance
72
73 // Cell Defaults
74 m_chainsGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
75 m_chainsGrid->SetMinSize( wxSize( -1,160 ) );
76
77 bGridSizer->Add( m_chainsGrid, 1, wxEXPAND, 0 );
78
79
80 m_chainsGridPanel->SetSizer( bGridSizer );
81 m_chainsGridPanel->Layout();
82 bGridSizer->Fit( m_chainsGridPanel );
83 m_membersPanel = new wxPanel( m_chainsSplitter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
84 wxBoxSizer* bMembersSizer;
85 bMembersSizer = new wxBoxSizer( wxVERTICAL );
86
87 m_membersLabel = new wxStaticText( m_membersPanel, wxID_ANY, _("Member Nets"), wxDefaultPosition, wxDefaultSize, 0 );
88 m_membersLabel->Wrap( -1 );
89 bMembersSizer->Add( m_membersLabel, 0, wxLEFT|wxTOP, 5 );
90
91 m_membersListBox = new wxListBox( m_membersPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE );
92 bMembersSizer->Add( m_membersListBox, 1, wxALL|wxEXPAND, 5 );
93
94
95 m_membersPanel->SetSizer( bMembersSizer );
96 m_membersPanel->Layout();
97 bMembersSizer->Fit( m_membersPanel );
98 m_chainsSplitter->SplitHorizontally( m_chainsGridPanel, m_membersPanel, -120 );
99 bChainsTab->Add( m_chainsSplitter, 1, wxEXPAND, 5 );
100
101 wxBoxSizer* bChainsButtons;
102 bChainsButtons = new wxBoxSizer( wxHORIZONTAL );
103
104 m_deleteChainButton = new STD_BITMAP_BUTTON( m_chainsTab, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
105 m_deleteChainButton->SetToolTip( _("Delete the selected committed net chain") );
106
107 bChainsButtons->Add( m_deleteChainButton, 0, wxBOTTOM|wxRIGHT, 5 );
108
109
110 bChainsTab->Add( bChainsButtons, 0, wxEXPAND|wxTOP, 3 );
111
112
113 m_chainsTab->SetSizer( bChainsTab );
114 m_chainsTab->Layout();
115 bChainsTab->Fit( m_chainsTab );
116 m_notebook->AddPage( m_chainsTab, _("Chains"), true );
117 m_classesTab = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
118 wxBoxSizer* bClassesTab;
119 bClassesTab = new wxBoxSizer( wxVERTICAL );
120
121 m_classesHeader = new wxStaticText( m_classesTab, wxID_ANY, _("Group net chains under a class label so DRC rules can target the whole group via inNetChainClass('name')."), wxDefaultPosition, wxDefaultSize, 0 );
122 m_classesHeader->Wrap( 600 );
123 bClassesTab->Add( m_classesHeader, 0, wxLEFT|wxTOP, 8 );
124
125
126 bClassesTab->Add( 0, 3, 0, wxEXPAND, 5 );
127
128 m_classesGrid = new WX_GRID( m_classesTab, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
129
130 // Grid
131 m_classesGrid->CreateGrid( 0, 2 );
132 m_classesGrid->EnableEditing( true );
133 m_classesGrid->EnableGridLines( true );
134 m_classesGrid->EnableDragGridSize( false );
135 m_classesGrid->SetMargins( 0, 0 );
136
137 // Columns
138 m_classesGrid->SetColSize( 0, 220 );
139 m_classesGrid->SetColSize( 1, 80 );
140 m_classesGrid->EnableDragColMove( false );
141 m_classesGrid->EnableDragColSize( true );
142 m_classesGrid->SetColLabelValue( 0, _("Class Name") );
143 m_classesGrid->SetColLabelValue( 1, _("Members") );
144 m_classesGrid->SetColLabelSize( wxGRID_AUTOSIZE );
145 m_classesGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
146
147 // Rows
148 m_classesGrid->EnableDragRowSize( true );
149 m_classesGrid->SetRowLabelSize( 0 );
150 m_classesGrid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
151
152 // Label Appearance
153
154 // Cell Defaults
155 m_classesGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
156 m_classesGrid->SetMinSize( wxSize( -1,200 ) );
157
158 bClassesTab->Add( m_classesGrid, 1, wxEXPAND|wxLEFT|wxRIGHT, 8 );
159
160 wxBoxSizer* bClassesButtons;
161 bClassesButtons = new wxBoxSizer( wxHORIZONTAL );
162
163 m_addClassButton = new STD_BITMAP_BUTTON( m_classesTab, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
164 m_addClassButton->SetToolTip( _("Add a new net chain class") );
165
166 bClassesButtons->Add( m_addClassButton, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
167
168 m_renameClassButton = new STD_BITMAP_BUTTON( m_classesTab, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
169 m_renameClassButton->SetToolTip( _("Rename the selected class (updates every chain that uses it)") );
170
171 bClassesButtons->Add( m_renameClassButton, 0, wxBOTTOM|wxRIGHT, 5 );
172
173 m_deleteClassButton = new STD_BITMAP_BUTTON( m_classesTab, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
174 m_deleteClassButton->SetToolTip( _("Delete the selected class (chains revert to no class)") );
175
176 bClassesButtons->Add( m_deleteClassButton, 0, wxBOTTOM|wxRIGHT, 5 );
177
178
179 bClassesTab->Add( bClassesButtons, 0, wxEXPAND|wxTOP, 3 );
180
181
182 m_classesTab->SetSizer( bClassesTab );
183 m_classesTab->Layout();
184 bClassesTab->Fit( m_classesTab );
185 m_notebook->AddPage( m_classesTab, _("Net Chain Classes"), false );
186
187 outerSizer->Add( m_notebook, 1, wxEXPAND|wxALL, 5 );
188
189
190 this->SetSizer( outerSizer );
191 this->Layout();
192 outerSizer->Fit( this );
193
194 // Connect Events
195 m_chainsGrid->Connect( wxEVT_GRID_SELECT_CELL, wxGridEventHandler( PANEL_SETUP_NET_CHAINS_BASE::OnChainGridSelectionChanged ), NULL, this );
196 m_deleteChainButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_SETUP_NET_CHAINS_BASE::OnDeleteChainClicked ), NULL, this );
197 m_addClassButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_SETUP_NET_CHAINS_BASE::OnClassAddClicked ), NULL, this );
198 m_renameClassButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_SETUP_NET_CHAINS_BASE::OnClassRenameClicked ), NULL, this );
199 m_deleteClassButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_SETUP_NET_CHAINS_BASE::OnClassDeleteClicked ), NULL, this );
200}
201
203{
204 // Disconnect Events
205 m_chainsGrid->Disconnect( wxEVT_GRID_SELECT_CELL, wxGridEventHandler( PANEL_SETUP_NET_CHAINS_BASE::OnChainGridSelectionChanged ), NULL, this );
206 m_deleteChainButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_SETUP_NET_CHAINS_BASE::OnDeleteChainClicked ), NULL, this );
207 m_addClassButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_SETUP_NET_CHAINS_BASE::OnClassAddClicked ), NULL, this );
208 m_renameClassButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_SETUP_NET_CHAINS_BASE::OnClassRenameClicked ), NULL, this );
209 m_deleteClassButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_SETUP_NET_CHAINS_BASE::OnClassDeleteClicked ), NULL, this );
210
211}
const char * name
virtual void OnClassAddClicked(wxCommandEvent &event)
virtual void OnChainGridSelectionChanged(wxGridEvent &event)
virtual void OnClassRenameClicked(wxCommandEvent &event)
PANEL_SETUP_NET_CHAINS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
virtual void OnDeleteChainClicked(wxCommandEvent &event)
virtual void OnClassDeleteClicked(wxCommandEvent &event)
A bitmap button widget that behaves like a standard dialog button except with an icon.
#define _(s)