KiCad PCB EDA Suite
dlg_select_3dmodel.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) 2016 Cirilo Bernardo <cirilo.bernardo@gmail.com>
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 
30 #ifndef DLG_SELECT_3DMODEL_H
31 #define DLG_SELECT_3DMODEL_H
32 
33 #include <wx/event.h>
34 #include <wx/stattext.h>
35 #include <wx/button.h>
36 #include <wx/dialog.h>
37 #include <wx/dirctrl.h>
38 #include <wx/sizer.h>
39 #include <wx/frame.h>
40 
41 class MODULE_3D_SETTINGS;
42 class S3D_CACHE;
44 class C3D_MODEL_VIEWER;
45 
46 class DLG_SELECT_3DMODEL : public wxDialog
47 {
48 private:
49  MODULE_3D_SETTINGS* m_model; // data for the selected model
50  S3D_CACHE* m_cache; // cache manager
51  S3D_FILENAME_RESOLVER* m_resolver; // 3D filename resolver
52 
53  wxString& m_previousDir;
55 
56  wxGenericDirCtrl* m_FileTree;
58  wxChoice* dirChoices;
59 
60  void updateDirChoiceList( void );
61 
62 public:
63  DLG_SELECT_3DMODEL( wxWindow* aParent, S3D_CACHE* aCacheManager, MODULE_3D_SETTINGS* aModelItem,
64  wxString& prevModelSelectDir, int& prevModelWildcard );
65 
66  bool TransferDataFromWindow() override;
67  void OnSelectionChanged( wxTreeEvent& event );
68  void OnFileActivated( wxTreeEvent& event );
69  void SetRootDir( wxCommandEvent& event );
70  void Cfg3DPaths( wxCommandEvent& event );
71 
73 };
74 
75 #endif // DLG_SELECT_3DMODEL_H
bool TransferDataFromWindow() override
C3D_MODEL_VIEWER * m_modelViewer
void Cfg3DPaths(wxCommandEvent &event)
void OnFileActivated(wxTreeEvent &event)
S3D_FILENAME_RESOLVER * m_resolver
Class C3D_MODEL_VIEWER Implement a canvas based on a wxGLCanvas.
wxGenericDirCtrl * m_FileTree
void SetRootDir(wxCommandEvent &event)
void OnSelectionChanged(wxTreeEvent &event)
DLG_SELECT_3DMODEL(wxWindow *aParent, S3D_CACHE *aCacheManager, MODULE_3D_SETTINGS *aModelItem, wxString &prevModelSelectDir, int &prevModelWildcard)
MODULE_3D_SETTINGS * m_model