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 struct S3D_INFO;
42 class S3D_CACHE;
44 class C3D_MODEL_VIEWER;
45 //class wxGenericDirCtrl;
46 
47 class DLG_SELECT_3DMODEL : public wxDialog
48 {
49 private:
50  S3D_INFO* m_model; // data for the selected model
51  S3D_CACHE* m_cache; // cache manager
52  S3D_FILENAME_RESOLVER* m_resolver; // 3D filename resolver
53 
54  wxString& m_previousDir;
56 
57  wxGenericDirCtrl* m_FileTree;
59  wxChoice* dirChoices;
60 
61  void updateDirChoiceList( void );
62 
63 public:
64  DLG_SELECT_3DMODEL( wxWindow* aParent, S3D_CACHE* aCacheManager, S3D_INFO* aModelItem,
65  wxString& prevModelSelectDir, int& prevModelWildcard );
66 
67  bool TransferDataFromWindow() override;
68  void OnSelectionChanged( wxTreeEvent& event );
69  void OnFileActivated( wxTreeEvent& event );
70  void SetRootDir( wxCommandEvent& event );
71  void Cfg3DPaths( wxCommandEvent& event );
72 
74 };
75 
76 #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
DLG_SELECT_3DMODEL(wxWindow *aParent, S3D_CACHE *aCacheManager, S3D_INFO *aModelItem, wxString &prevModelSelectDir, int &prevModelWildcard)
void SetRootDir(wxCommandEvent &event)
void OnSelectionChanged(wxTreeEvent &event)