KiCad PCB EDA Suite
Loading...
Searching...
No Matches
dialog_footprint_chooser.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 (C) 2023, 2024 KiCad Developers, see AUTHORS.txt for contributors.
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU 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, you may find one here:
18 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
19 * or you may search the http://www.gnu.org website for the version 2 license,
20 * or you may write to the Free Software Foundation, Inc.,
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
22 */
23#ifndef DIALOG_FOOTPRINT_CHOOSER_H
24#define DIALOG_FOOTPRINT_CHOOSER_H
25
26#include <lib_id.h>
27#include "dialog_shim.h"
30
31class PCB_BASE_FRAME;
33class EDA_3D_CANVAS;
34class BOARD;
35class CAMERA;
36class TRACK_BALL;
37class BITMAP_BUTTON;
38
39
41{
42public:
43 DIALOG_FOOTPRINT_CHOOSER( PCB_BASE_FRAME* aParent, const LIB_ID& aPreselect,
44 const wxArrayString& aFootprintHistoryList );
45
47
54
55protected:
56 void on3DviewReq( wxCommandEvent& event );
57 void onFpViewReq( wxCommandEvent& event );
58
59 // A command event sent by a PANEL_FOOTPRINT_CHOOSER will fire this event:
60 void onFpChanged( wxCommandEvent& event );
61
62 void build3DCanvas();
63
64 virtual void TearDownQuasiModal() override;
65
66protected:
68 bool m_showFpMode; // True to show the footprint, false for the 3D model
69
70private:
79
82};
83
84#endif /* DIALOG_FOOTPRINT_CHOOSER_H */
A bitmap button widget that behaves like an AUI toolbar item's button when it is drawn.
Definition: bitmap_button.h:42
Helper class to handle information needed to display 3D board.
Definition: board_adapter.h:73
Information pertinent to a Pcbnew printed circuit board.
Definition: board.h:290
A class used to derive camera objects from.
Definition: camera.h:103
virtual void TearDownQuasiModal() override
Override this method to perform dialog tear down actions not suitable for object dtor.
LIB_ID GetSelectedLibId() const
To be called after this dialog returns from ShowModal().
EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS m_initialRender
The 3d viewer Render initial settings (must be saved and restored)
void onFpChanged(wxCommandEvent &event)
void on3DviewReq(wxCommandEvent &event)
PANEL_FOOTPRINT_CHOOSER * m_chooserPanel
void onFpViewReq(wxCommandEvent &event)
Dialog helper object to sit in the inheritance tree between wxDialog and any class written by wxFormB...
Definition: dialog_shim.h:88
Implement a canvas based on a wxGLCanvas.
Definition: eda_3d_canvas.h:51
A logical library item identifier and consists of various portions much like a URI.
Definition: lib_id.h:49
Base PCB main window class for Pcbnew, Gerbview, and CvPcb footprint viewer.
Declaration for a track ball camera.