39#include <wx/filedlg.h>
45 FP_3DMODEL* aModelItem, wxString& prevModelSelectDir,
46 int& prevModelWildcard ) :
50 m_resolver( aCacheManager ? aCacheManager->GetResolver() : nullptr ),
62 std::list< wxString >
const* fl =
m_cache->GetFileFilters();
63 std::list< wxString >::const_iterator sL = fl->begin();
71 while( sL != fl->end() )
78 if( !ext_list.IsEmpty() )
79 ext_list.Append(
";" );
81 wxString ext = sL->AfterLast(
'|' );
84 ext_list.Append( ext );
91 if( !ext_list.empty() )
94 full_filter.Printf(
_(
"All supported files (%s)" ), ext_list );
95 full_filter <<
'|' << ext_list <<
'|' <<
filter;
105 m_FileTree->SetFilter( wxFileSelectorDefaultWildcardStr );
108 if( prevModelWildcard >= 0 && prevModelWildcard < (
int)fl->size() )
110 m_FileTree->SetFilterIndex( prevModelWildcard );
114 prevModelWildcard = 0;
120 m_FileTree->SetFilter( wxFileSelectorDefaultWildcardStr );
121 prevModelWildcard = 0;
128 wxChoice* filterBox =
m_FileTree->GetFilterListCtrl();
186 EmulateButtonClickIfPresent( wxID_OK );
214 std::list< SEARCH_PATH >
const* md =
m_resolver->GetPaths();
215 std::list< SEARCH_PATH >::const_iterator sL = md->begin();
216 std::set< wxString > cl;
220 if( sL != md->end() )
222 prjDir = sL->m_Pathexp;
226 while( sL != md->end() )
228 if( !sL->m_Pathexp.empty() && sL->m_Pathexp.compare( prjDir ) )
229 cl.insert( sL->m_Pathexp );
236 unsigned int choice = 0;
240 if( !prjDir.empty() )
248 std::set< wxString >::const_iterator sI = cl.begin();
250 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().