void LIB_VIEW_FRAME::Process_Special_Functions( wxCommandEvent& event ) { wxString msg; LIB_ALIAS* LibEntry; int ii, id = event.GetId(); switch( id ) { case ID_LIBVIEW_SELECT_LIB: SelectCurrentLibrary(); break; case ID_LIBVIEW_SELECT_PART: SelectAndViewLibraryPart( NEW_PART ); break; case ID_LIBVIEW_NEXT: SelectAndViewLibraryPart( NEXT_PART ); break; case ID_LIBVIEW_PREVIOUS: SelectAndViewLibraryPart( PREVIOUS_PART ); break; case ID_LIBVIEW_VIEWDOC: LibEntry = CMP_LIBRARY::FindLibraryEntry( m_entryName, m_libraryName ); if( LibEntry && ( !LibEntry->GetDocFileName().IsEmpty() ) ) GetAssociatedDocument( this, LibEntry->GetDocFileName(), &wxGetApp().GetLibraryPathList() ); break; case ID_LIBVIEW_DE_MORGAN_NORMAL_BUTT: m_mainToolBar->ToggleTool( ID_LIBVIEW_DE_MORGAN_NORMAL_BUTT, true ); m_mainToolBar->ToggleTool( ID_LIBVIEW_DE_MORGAN_CONVERT_BUTT, false ); m_convert = 1; m_canvas->Refresh(); break; case ID_LIBVIEW_DE_MORGAN_CONVERT_BUTT: m_mainToolBar->ToggleTool( ID_LIBVIEW_DE_MORGAN_NORMAL_BUTT, false ); m_mainToolBar->ToggleTool( ID_LIBVIEW_DE_MORGAN_CONVERT_BUTT, true ); m_convert = 2; m_canvas->Refresh(); break; case ID_LIBVIEW_SELECT_PART_NUMBER: ii = SelpartBox->GetCurrentSelection(); if( ii < 0 ) return; m_unit = ii + 1; m_canvas->Refresh(); break; default: msg << wxT( "LIB_VIEW_FRAME::Process_Special_Functions error: id = " ) << id; DisplayError( this, msg ); break; } }
/* * Routine to select and view library Part (NEW, NEXT or PREVIOUS) */ void LIB_VIEW_FRAME::SelectAndViewLibraryPart( int option ) { CMP_LIBRARY* Lib; if( m_libraryName.IsEmpty() ) SelectCurrentLibrary(); if( m_libraryName.IsEmpty() ) return; Lib = CMP_LIBRARY::FindLibrary( m_libraryName ); if( Lib == NULL ) return; if( ( m_entryName.IsEmpty() ) || ( option == NEW_PART ) ) { ViewOneLibraryContent( Lib, NEW_PART ); return; } LIB_ALIAS* LibEntry = Lib->FindEntry( m_entryName ); if( LibEntry == NULL ) return; if( option == NEXT_PART ) ViewOneLibraryContent( Lib, NEXT_PART ); if( option == PREVIOUS_PART ) ViewOneLibraryContent( Lib, PREVIOUS_PART ); }
void WinEDA_ViewlibFrame::SelectAndViewLibraryPart(int option) /**************************************************************/ /* Routine to select and view library Part (NEW, NEXT or PREVIOUS) */ { LibraryStruct * Lib; if(g_CurrentViewLibraryName.IsEmpty() ) SelectCurrentLibrary(); if(g_CurrentViewLibraryName.IsEmpty() ) return; Lib = FindLibrary(g_CurrentViewLibraryName.GetData()); if ( Lib == NULL ) return; if ( (g_CurrentViewComponentName.IsEmpty()) || ( option == NEW_PART ) ) { ViewOneLibraryContent(Lib, NEW_PART); return; } EDA_LibComponentStruct * LibEntry = FindLibPart(g_CurrentViewComponentName.GetData(), g_CurrentViewLibraryName.GetData(), FIND_ALIAS); if ( LibEntry == NULL ) return; if (option == NEXT_PART ) ViewOneLibraryContent(Lib, NEXT_PART); if (option == PREVIOUS_PART ) ViewOneLibraryContent(Lib, PREVIOUS_PART); }
void WinEDA_ViewlibFrame::Process_Special_Functions(wxCommandEvent& event) /*************************************************************************/ { EDA_LibComponentStruct * LibEntry; int ii, id = event.GetId(); wxPoint pos; wxGetMousePosition(&pos.x, &pos.y); pos.y += 20; switch ( id ) { case ID_LIBVIEW_SELECT_LIB: SelectCurrentLibrary(); break; case ID_LIBVIEW_SELECT_PART: SelectAndViewLibraryPart(NEW_PART); break; case ID_LIBVIEW_NEXT: SelectAndViewLibraryPart(NEXT_PART); break; case ID_LIBVIEW_PREVIOUS: SelectAndViewLibraryPart(PREVIOUS_PART); break; case ID_LIBVIEW_VIEWDOC: LibEntry = FindLibPart(g_CurrentViewComponentName.GetData(), g_CurrentViewLibraryName.GetData(), FIND_ALIAS); if( LibEntry && ( !LibEntry->m_DocFile.IsEmpty()) ) GetAssociatedDocument(this, g_RealLibDirBuffer, LibEntry->m_DocFile ); break; case ID_LIBVIEW_DE_MORGAN_NORMAL_BUTT: m_HToolBar->ToggleTool(ID_LIBVIEW_DE_MORGAN_NORMAL_BUTT, TRUE); m_HToolBar->ToggleTool(ID_LIBVIEW_DE_MORGAN_CONVERT_BUTT, FALSE); g_ViewConvert = 1; ReDrawPanel(); break; case ID_LIBVIEW_DE_MORGAN_CONVERT_BUTT: m_HToolBar->ToggleTool(ID_LIBVIEW_DE_MORGAN_NORMAL_BUTT, FALSE); m_HToolBar->ToggleTool(ID_LIBVIEW_DE_MORGAN_CONVERT_BUTT, TRUE); g_ViewConvert = 2; ReDrawPanel(); break; case ID_LIBVIEW_SELECT_PART_NUMBER: ii = SelpartBox->GetSelection(); if ( ii < 0 ) return; g_ViewUnit = ii + 1; ReDrawPanel(); break; default: { wxString msg; msg << wxT("WinEDA_ViewlibFrame::Process_Special_Functions error: id = ") << id; DisplayError( this, msg); break; } } }