void LIB_VIEW_FRAME::ReCreateListLib() { if( m_libList == NULL ) return; m_libList->Clear(); m_libList->Append( CMP_LIBRARY::GetLibraryNames() ); // Search for a previous selection: int index = m_libList->FindString( m_libraryName ); if( index != wxNOT_FOUND ) { m_libList->SetSelection( index, true ); } else { // If not found, clear current library selection because it can be // deleted after a config change. m_libraryName = wxEmptyString; m_entryName = wxEmptyString; m_unit = 1; m_convert = 1; } ReCreateListCmp(); ReCreateHToolbar(); DisplayLibInfos(); m_canvas->Refresh(); }
void LIB_VIEW_FRAME::SelectCurrentLibrary() { CMP_LIBRARY* Lib; Lib = SelectLibraryFromList( this ); if( Lib ) { m_entryName.Empty(); m_libraryName = Lib->GetName(); DisplayLibInfos(); if( m_LibList ) { ReCreateListCmp(); m_canvas->Refresh(); DisplayLibInfos(); ReCreateHToolbar(); int id = m_LibList->FindString( m_libraryName.GetData() ); if( id >= 0 ) m_LibList->SetSelection( id ); } } }
void LIB_VIEW_FRAME::ReCreateListLib() { if( !m_libList ) return; m_libList->Clear(); wxArrayString libs = Prj().SchLibs()->GetLibraryNames(); // Remove not allowed libs from main list, if the allowed lib list is not empty if( m_allowedLibs.GetCount() ) { for( unsigned ii = 0; ii < libs.GetCount(); ) { if( m_allowedLibs.Index( libs[ii] ) == wxNOT_FOUND ) libs.RemoveAt( ii ); else ii++; } } // Remove libs which have no power components, if this filter is activated if( m_listPowerCmpOnly ) { for( unsigned ii = 0; ii < libs.GetCount(); ) { PART_LIB* lib = Prj().SchLibs()->FindLibrary( libs[ii] ); if( lib && !lib->HasPowerParts() ) libs.RemoveAt( ii ); else ii++; } } m_libList->Append( libs ); // Search for a previous selection: int index = m_libList->FindString( m_libraryName ); if( index != wxNOT_FOUND ) { m_libList->SetSelection( index, true ); } else { // If not found, clear current library selection because it can be // deleted after a config change. m_libraryName = wxEmptyString; m_entryName = wxEmptyString; m_unit = 1; m_convert = 1; } ReCreateListCmp(); ReCreateHToolbar(); DisplayLibInfos(); m_canvas->Refresh(); }
void LIB_VIEW_FRAME::SetSelectedLibrary( const wxString& aLibraryName ) { if( m_libraryName == aLibraryName ) return; m_libraryName = aLibraryName; ReCreateListCmp(); m_canvas->Refresh(); DisplayLibInfos(); // Ensure the corresponding line in m_libList is selected // (which is not necessary the case if SetSelectedLibrary is called // by another caller than ClickOnLibList. m_libList->SetStringSelection( m_libraryName, true ); }
void WinEDA_ViewlibFrame::SelectCurrentLibrary(void) { LibraryStruct * Lib; Lib = SelectLibraryFromList(this); if ( Lib ) { g_CurrentViewComponentName.Empty(); g_CurrentViewLibraryName = Lib->m_Name; DisplayLibInfos(); if ( m_LibList ) { ReCreateListCmp(); ReDrawPanel(); DisplayLibInfos(); ReCreateHToolbar(); int id = m_LibList->FindString(g_CurrentViewLibraryName.GetData()); if ( id >= 0 ) m_LibList->SetSelection(id); } } }
bool LIB_VIEW_FRAME::ReCreateListLib() { if( !m_libList ) return false; m_libList->Clear(); std::vector< wxString > libs = Prj().SchSymbolLibTable()->GetLogicalLibs(); // Remove not allowed libs from main list, if the allowed lib list is not empty if( m_allowedLibs.GetCount() ) { for( unsigned ii = 0; ii < libs.size(); ) { if( m_allowedLibs.Index( libs[ii] ) == wxNOT_FOUND ) libs.erase( libs.begin() + ii ); else ii++; } } // Remove libs which have no power components, if this filter is activated if( m_listPowerCmpOnly ) { for( unsigned ii = 0; ii < libs.size(); ) { wxArrayString aliasNames; Prj().SchSymbolLibTable()->EnumerateSymbolLib( libs[ii], aliasNames, true ); if( aliasNames.IsEmpty() ) libs.erase( libs.begin() + ii ); else ii++; } } if( libs.empty() ) return true; wxArrayString libNames; for( const auto& name : libs ) libNames.Add( name ); m_libList->Append( libNames ); // Search for a previous selection: int index = m_libList->FindString( m_libraryName ); if( index != wxNOT_FOUND ) { m_libList->SetSelection( index, true ); } else { // If not found, clear current library selection because it can be // deleted after a config change. m_libraryName = libs[0]; m_entryName = wxEmptyString; m_unit = 1; m_convert = 1; } bool cmp_changed = ReCreateListCmp(); DisplayLibInfos(); m_canvas->Refresh(); return cmp_changed; }