35#include <wx/filedlg.h>
41 FP_3DMODEL* aModelItem, wxString& prevModelSelectDir,
42 int& prevModelWildcard ) :
46 m_resolver( aCacheManager ? aCacheManager->GetResolver() : nullptr ),
58 std::list< wxString >
const* fl =
m_cache->GetFileFilters();
59 std::list< wxString >::const_iterator sL = fl->begin();
67 while( sL != fl->end() )
74 if( !ext_list.IsEmpty() )
75 ext_list.Append(
";" );
77 wxString ext = sL->AfterLast(
'|' );
80 ext_list.Append( ext );
87 if( !ext_list.empty() )
90 full_filter.Printf(
_(
"All supported files (%s)" ), ext_list );
91 full_filter <<
'|' << ext_list <<
'|' <<
filter;
101 m_FileTree->SetFilter( wxFileSelectorDefaultWildcardStr );
104 if( prevModelWildcard >= 0 && prevModelWildcard < (
int)fl->size() )
106 m_FileTree->SetFilterIndex( prevModelWildcard );
110 prevModelWildcard = 0;
116 m_FileTree->SetFilter( wxFileSelectorDefaultWildcardStr );
117 prevModelWildcard = 0;
124 wxChoice* filterBox =
m_FileTree->GetFilterListCtrl();
182 EmulateButtonClickIfPresent( wxID_OK );
210 std::list< SEARCH_PATH >
const* md =
m_resolver->GetPaths();
211 std::list< SEARCH_PATH >::const_iterator sL = md->begin();
212 std::set< wxString > cl;
216 if( sL != md->end() )
218 prjDir = sL->m_Pathexp;
222 while( sL != md->end() )
224 if( !sL->m_Pathexp.empty() && sL->m_Pathexp.compare( prjDir ) )
225 cl.insert( sL->m_Pathexp );
232 unsigned int choice = 0;
236 if( !prjDir.empty() )
244 std::set< wxString >::const_iterator sI = cl.begin();
246 while( sI != cl.end() )
defines the basic data associated with a single 3D model.
void OnSelectionChanged(wxCommandEvent &event) override
DIALOG_SELECT_3DMODEL(wxWindow *aParent, S3D_CACHE *aCacheManager, FP_3DMODEL *aModelItem, wxString &prevModelSelectDir, int &prevModelWildcard)
void SetRootDir(wxCommandEvent &event) override
FILENAME_RESOLVER * m_resolver
EDA_3D_MODEL_VIEWER * m_modelViewer
void updateDirChoiceList(void)
void OnFileActivated(wxCommandEvent &event) override
void Cfg3DPaths(wxCommandEvent &event) override
bool TransferDataFromWindow() override
wxBoxSizer * m_Sizer3Dviewer
DIALOG_SELECT_3D_MODEL_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Select 3D Model"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
wxGenericDirCtrl * m_FileTree
void finishDialogSettings()
In all dialogs, we must call the same functions to fix minimal dlg size, the default position and per...
Implement a canvas based on a wxGLCanvas.
static const wxGLAttributes GetAttributesList(ANTIALIASING_MODE aAntiAliasingMode, bool aAlpha=false)
Get a list of attributes to pass to wxGLCanvas.
Cache for storing the 3D shapes.
Implements a model viewer canvas.
Declaration of the cogl_att_list class.
#define FN_NORMALIZE_FLAGS
Default flags to pass to wxFileName::Normalize().