Loading change_log.txt +9 −1 Original line number Original line Diff line number Diff line Loading @@ -10,7 +10,15 @@ email address. + pcbnew + pcbnew * controle.cpp, added Function AllAreModulesAndReturnSmallestIfSo() which is * controle.cpp, added Function AllAreModulesAndReturnSmallestIfSo() which is called from PcbGeneralLocateAndDisplay() called from PcbGeneralLocateAndDisplay() * onrightclick.cpp changed to calls to BOARD_ITEM::MenuText() * onrightclick.cpp changed to calls to BOARD_ITEM::MenuText(), and switched to member functions for createPopupMenus() so we can get all the state information we need for the proper menus. * BOARD_ITEM::MenuText() got new argument BOARD*, and elaboration for TRACKs and VIAs and Pcb Graphics. * Fixed a problem in GENERAL_COLLECTOR::Inspect() so it now knows that MODULEs have their own visibility controls (same for pads and pcb texts). This interpretation must always match the drawing code's interpretation. * Made TRACK::TRACK( const TRACK& ) protected to enforce use of TRACK::Copy() 2007-Sep-13 UPDATE Dick Hollenbeck <dick@softplc.com> 2007-Sep-13 UPDATE Dick Hollenbeck <dick@softplc.com> Loading eeschema/edit_component_in_schematic.cpp +2 −1 Original line number Original line Diff line number Diff line Loading @@ -53,7 +53,8 @@ void InstallCmpeditFrame( WinEDA_SchematicFrame* parent, wxPoint& pos, { { WinEDA_ComponentPropertiesFrame* frame = WinEDA_ComponentPropertiesFrame* frame = new WinEDA_ComponentPropertiesFrame( parent, cmp ); new WinEDA_ComponentPropertiesFrame( parent, cmp ); frame->ShowModal(); frame->Destroy(); frame->ShowModal(); frame->Destroy(); } } parent->DrawPanel->MouseToCursorSchema(); parent->DrawPanel->MouseToCursorSchema(); Loading eeschema/editpart.cpp +2 −1 Original line number Original line Diff line number Diff line Loading @@ -125,7 +125,8 @@ void InstallCmpeditFrame( WinEDA_SchematicFrame* parent, wxPoint& pos, { { WinEDA_ComponentPropertiesFrame* frame = WinEDA_ComponentPropertiesFrame* frame = new WinEDA_ComponentPropertiesFrame( parent, pos, cmp ); new WinEDA_ComponentPropertiesFrame( parent, pos, cmp ); frame->ShowModal(); frame->Destroy(); frame->ShowModal(); frame->Destroy(); } } parent->DrawPanel->m_IgnoreMouseEvents = FALSE; parent->DrawPanel->m_IgnoreMouseEvents = FALSE; } } Loading eeschema/find.cpp +5 −3 Original line number Original line Diff line number Diff line Loading @@ -519,7 +519,8 @@ int WinEDA_FindFrame::ExploreAllLibraries( const wxString& wildmask, wxString& F while( GetLine( file, Line, &LineNum, sizeof(Line) ) ) while( GetLine( file, Line, &LineNum, sizeof(Line) ) ) { { if( strnicmp( Line, "DEF", 3 ) == 0 ) if( strnicmp( Line, "DEF", 3 ) == 0 ) { /* Read one DEF part from library: DEF 74LS00 U 0 30 Y Y 4 0 N */ { /* Read one DEF part from library: DEF 74LS00 U 0 30 Y Y 4 0 N */ strtok( Line, " \t\r\n" ); strtok( Line, " \t\r\n" ); name = strtok( NULL, " \t\r\n" ); name = strtok( NULL, " \t\r\n" ); wxString st_name = CONV_FROM_UTF8( name ); wxString st_name = CONV_FROM_UTF8( name ); Loading @@ -533,7 +534,8 @@ int WinEDA_FindFrame::ExploreAllLibraries( const wxString& wildmask, wxString& F } } } } else if( strnicmp( Line, "ALIAS", 5 ) == 0 ) else if( strnicmp( Line, "ALIAS", 5 ) == 0 ) { /* Read one ALIAS part from library: ALIAS 74HC00 74HCT00 7400 74LS37 */ { /* Read one ALIAS part from library: ALIAS 74HC00 74HCT00 7400 74LS37 */ strtok( Line, " \t\r\n" ); strtok( Line, " \t\r\n" ); while( ( name = strtok( NULL, " \t\r\n" ) ) != NULL ) while( ( name = strtok( NULL, " \t\r\n" ) ) != NULL ) { { Loading eeschema/libedit_onleftclick.cpp +275 −264 Original line number Original line Diff line number Diff line Loading @@ -25,13 +25,15 @@ void WinEDA_LibeditFrame::OnLeftClick(wxDC * DC, const wxPoint& MousePos) { { LibEDA_BaseStruct* DrawEntry = CurrentDrawItem; LibEDA_BaseStruct* DrawEntry = CurrentDrawItem; if( CurrentLibEntry == NULL) return; if( CurrentLibEntry == NULL ) return; if( m_ID_current_state == 0 ) if( m_ID_current_state == 0 ) { { if( DrawEntry && DrawEntry->m_Flags ) if( DrawEntry && DrawEntry->m_Flags ) { { SaveCopyInUndoList( CurrentLibEntry ); SaveCopyInUndoList( CurrentLibEntry ); switch( DrawEntry->Type() ) switch( DrawEntry->Type() ) { { case COMPONENT_PIN_DRAW_TYPE: case COMPONENT_PIN_DRAW_TYPE: Loading Loading @@ -69,7 +71,8 @@ LibEDA_BaseStruct* DrawEntry = CurrentDrawItem; CurrentConvert, LOCATE_ALL_DRAW_ITEM ); CurrentConvert, LOCATE_ALL_DRAW_ITEM ); } } if ( DrawEntry ) DrawEntry->Display_Infos_DrawEntry(this); if( DrawEntry ) DrawEntry->Display_Infos_DrawEntry( this ); else else { { Loading Loading @@ -173,20 +176,22 @@ LibEDA_BaseStruct* DrawEntry = CurrentDrawItem; /*************************************************************************/ /*************************************************************************/ void WinEDA_LibeditFrame::OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) void WinEDA_LibeditFrame::OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) /*************************************************************************/ /*************************************************************************/ /* Appel sur un double click: /* Appel sur un double click: pour un lment editable (textes, composant): * pour un lment editable (textes, composant): appel de l'editeur correspondant. * appel de l'editeur correspondant. pour une connexion en cours: * pour une connexion en cours: termine la connexion * termine la connexion */ */ { { wxPoint pos = GetPosition(); wxPoint pos = GetPosition(); LibEDA_BaseStruct* DrawEntry = CurrentDrawItem; LibEDA_BaseStruct* DrawEntry = CurrentDrawItem; if ( CurrentLibEntry == NULL ) return; if( CurrentLibEntry == NULL ) return; if ( !m_ID_current_state || // Simple localisation des elements if( !m_ID_current_state // Simple localisation des elements (DrawEntry == NULL) || (DrawEntry->m_Flags == 0) ) || (DrawEntry == NULL) || (DrawEntry->m_Flags == 0) ) { { DrawEntry = LocatePin( m_CurrentScreen->m_MousePosition, CurrentLibEntry, DrawEntry = LocatePin( m_CurrentScreen->m_MousePosition, CurrentLibEntry, CurrentUnit, CurrentConvert ); CurrentUnit, CurrentConvert ); Loading @@ -196,14 +201,18 @@ LibEDA_BaseStruct* DrawEntry = CurrentDrawItem; if( DrawEntry == NULL ) if( DrawEntry == NULL ) { { DrawEntry = CurrentDrawItem = LocateDrawItem( (SCH_SCREEN*) m_CurrentScreen, DrawEntry = CurrentDrawItem = LocateDrawItem( (SCH_SCREEN*) m_CurrentScreen, m_CurrentScreen->m_MousePosition,CurrentLibEntry,CurrentUnit, m_CurrentScreen->m_MousePosition, CurrentConvert,LOCATE_ALL_DRAW_ITEM); CurrentLibEntry, CurrentUnit, CurrentConvert, LOCATE_ALL_DRAW_ITEM ); } } if( DrawEntry == NULL ) if( DrawEntry == NULL ) { { DrawEntry = CurrentDrawItem = LocateDrawItem( (SCH_SCREEN*) m_CurrentScreen, DrawEntry = CurrentDrawItem = LocateDrawItem( (SCH_SCREEN*) m_CurrentScreen, m_CurrentScreen->m_Curseur, CurrentLibEntry,CurrentUnit, m_CurrentScreen->m_Curseur, CurrentConvert,LOCATE_ALL_DRAW_ITEM); CurrentLibEntry, CurrentUnit, CurrentConvert, LOCATE_ALL_DRAW_ITEM ); } } if( DrawEntry == NULL ) if( DrawEntry == NULL ) { { Loading @@ -222,17 +231,19 @@ LibEDA_BaseStruct* DrawEntry = CurrentDrawItem; if( m_ID_current_state ) if( m_ID_current_state ) { { } } else else { { } } if ( DrawEntry ) DrawEntry->Display_Infos_DrawEntry(this); if( DrawEntry ) else return; DrawEntry->Display_Infos_DrawEntry( this ); else return; CurrentDrawItem = DrawEntry; CurrentDrawItem = DrawEntry; DrawPanel->m_IgnoreMouseEvents = TRUE; DrawPanel->m_IgnoreMouseEvents = TRUE; switch( DrawEntry->Type() ) switch( DrawEntry->Type() ) { { case COMPONENT_PIN_DRAW_TYPE: case COMPONENT_PIN_DRAW_TYPE: Loading Loading @@ -286,7 +297,7 @@ LibEDA_BaseStruct* DrawEntry = CurrentDrawItem; DisplayError( this, msg ); DisplayError( this, msg ); break; break; } } DrawPanel->MouseToCursorSchema(); DrawPanel->MouseToCursorSchema(); DrawPanel->m_IgnoreMouseEvents = FALSE; DrawPanel->m_IgnoreMouseEvents = FALSE; } } Loading
change_log.txt +9 −1 Original line number Original line Diff line number Diff line Loading @@ -10,7 +10,15 @@ email address. + pcbnew + pcbnew * controle.cpp, added Function AllAreModulesAndReturnSmallestIfSo() which is * controle.cpp, added Function AllAreModulesAndReturnSmallestIfSo() which is called from PcbGeneralLocateAndDisplay() called from PcbGeneralLocateAndDisplay() * onrightclick.cpp changed to calls to BOARD_ITEM::MenuText() * onrightclick.cpp changed to calls to BOARD_ITEM::MenuText(), and switched to member functions for createPopupMenus() so we can get all the state information we need for the proper menus. * BOARD_ITEM::MenuText() got new argument BOARD*, and elaboration for TRACKs and VIAs and Pcb Graphics. * Fixed a problem in GENERAL_COLLECTOR::Inspect() so it now knows that MODULEs have their own visibility controls (same for pads and pcb texts). This interpretation must always match the drawing code's interpretation. * Made TRACK::TRACK( const TRACK& ) protected to enforce use of TRACK::Copy() 2007-Sep-13 UPDATE Dick Hollenbeck <dick@softplc.com> 2007-Sep-13 UPDATE Dick Hollenbeck <dick@softplc.com> Loading
eeschema/edit_component_in_schematic.cpp +2 −1 Original line number Original line Diff line number Diff line Loading @@ -53,7 +53,8 @@ void InstallCmpeditFrame( WinEDA_SchematicFrame* parent, wxPoint& pos, { { WinEDA_ComponentPropertiesFrame* frame = WinEDA_ComponentPropertiesFrame* frame = new WinEDA_ComponentPropertiesFrame( parent, cmp ); new WinEDA_ComponentPropertiesFrame( parent, cmp ); frame->ShowModal(); frame->Destroy(); frame->ShowModal(); frame->Destroy(); } } parent->DrawPanel->MouseToCursorSchema(); parent->DrawPanel->MouseToCursorSchema(); Loading
eeschema/editpart.cpp +2 −1 Original line number Original line Diff line number Diff line Loading @@ -125,7 +125,8 @@ void InstallCmpeditFrame( WinEDA_SchematicFrame* parent, wxPoint& pos, { { WinEDA_ComponentPropertiesFrame* frame = WinEDA_ComponentPropertiesFrame* frame = new WinEDA_ComponentPropertiesFrame( parent, pos, cmp ); new WinEDA_ComponentPropertiesFrame( parent, pos, cmp ); frame->ShowModal(); frame->Destroy(); frame->ShowModal(); frame->Destroy(); } } parent->DrawPanel->m_IgnoreMouseEvents = FALSE; parent->DrawPanel->m_IgnoreMouseEvents = FALSE; } } Loading
eeschema/find.cpp +5 −3 Original line number Original line Diff line number Diff line Loading @@ -519,7 +519,8 @@ int WinEDA_FindFrame::ExploreAllLibraries( const wxString& wildmask, wxString& F while( GetLine( file, Line, &LineNum, sizeof(Line) ) ) while( GetLine( file, Line, &LineNum, sizeof(Line) ) ) { { if( strnicmp( Line, "DEF", 3 ) == 0 ) if( strnicmp( Line, "DEF", 3 ) == 0 ) { /* Read one DEF part from library: DEF 74LS00 U 0 30 Y Y 4 0 N */ { /* Read one DEF part from library: DEF 74LS00 U 0 30 Y Y 4 0 N */ strtok( Line, " \t\r\n" ); strtok( Line, " \t\r\n" ); name = strtok( NULL, " \t\r\n" ); name = strtok( NULL, " \t\r\n" ); wxString st_name = CONV_FROM_UTF8( name ); wxString st_name = CONV_FROM_UTF8( name ); Loading @@ -533,7 +534,8 @@ int WinEDA_FindFrame::ExploreAllLibraries( const wxString& wildmask, wxString& F } } } } else if( strnicmp( Line, "ALIAS", 5 ) == 0 ) else if( strnicmp( Line, "ALIAS", 5 ) == 0 ) { /* Read one ALIAS part from library: ALIAS 74HC00 74HCT00 7400 74LS37 */ { /* Read one ALIAS part from library: ALIAS 74HC00 74HCT00 7400 74LS37 */ strtok( Line, " \t\r\n" ); strtok( Line, " \t\r\n" ); while( ( name = strtok( NULL, " \t\r\n" ) ) != NULL ) while( ( name = strtok( NULL, " \t\r\n" ) ) != NULL ) { { Loading
eeschema/libedit_onleftclick.cpp +275 −264 Original line number Original line Diff line number Diff line Loading @@ -25,13 +25,15 @@ void WinEDA_LibeditFrame::OnLeftClick(wxDC * DC, const wxPoint& MousePos) { { LibEDA_BaseStruct* DrawEntry = CurrentDrawItem; LibEDA_BaseStruct* DrawEntry = CurrentDrawItem; if( CurrentLibEntry == NULL) return; if( CurrentLibEntry == NULL ) return; if( m_ID_current_state == 0 ) if( m_ID_current_state == 0 ) { { if( DrawEntry && DrawEntry->m_Flags ) if( DrawEntry && DrawEntry->m_Flags ) { { SaveCopyInUndoList( CurrentLibEntry ); SaveCopyInUndoList( CurrentLibEntry ); switch( DrawEntry->Type() ) switch( DrawEntry->Type() ) { { case COMPONENT_PIN_DRAW_TYPE: case COMPONENT_PIN_DRAW_TYPE: Loading Loading @@ -69,7 +71,8 @@ LibEDA_BaseStruct* DrawEntry = CurrentDrawItem; CurrentConvert, LOCATE_ALL_DRAW_ITEM ); CurrentConvert, LOCATE_ALL_DRAW_ITEM ); } } if ( DrawEntry ) DrawEntry->Display_Infos_DrawEntry(this); if( DrawEntry ) DrawEntry->Display_Infos_DrawEntry( this ); else else { { Loading Loading @@ -173,20 +176,22 @@ LibEDA_BaseStruct* DrawEntry = CurrentDrawItem; /*************************************************************************/ /*************************************************************************/ void WinEDA_LibeditFrame::OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) void WinEDA_LibeditFrame::OnLeftDClick( wxDC* DC, const wxPoint& MousePos ) /*************************************************************************/ /*************************************************************************/ /* Appel sur un double click: /* Appel sur un double click: pour un lment editable (textes, composant): * pour un lment editable (textes, composant): appel de l'editeur correspondant. * appel de l'editeur correspondant. pour une connexion en cours: * pour une connexion en cours: termine la connexion * termine la connexion */ */ { { wxPoint pos = GetPosition(); wxPoint pos = GetPosition(); LibEDA_BaseStruct* DrawEntry = CurrentDrawItem; LibEDA_BaseStruct* DrawEntry = CurrentDrawItem; if ( CurrentLibEntry == NULL ) return; if( CurrentLibEntry == NULL ) return; if ( !m_ID_current_state || // Simple localisation des elements if( !m_ID_current_state // Simple localisation des elements (DrawEntry == NULL) || (DrawEntry->m_Flags == 0) ) || (DrawEntry == NULL) || (DrawEntry->m_Flags == 0) ) { { DrawEntry = LocatePin( m_CurrentScreen->m_MousePosition, CurrentLibEntry, DrawEntry = LocatePin( m_CurrentScreen->m_MousePosition, CurrentLibEntry, CurrentUnit, CurrentConvert ); CurrentUnit, CurrentConvert ); Loading @@ -196,14 +201,18 @@ LibEDA_BaseStruct* DrawEntry = CurrentDrawItem; if( DrawEntry == NULL ) if( DrawEntry == NULL ) { { DrawEntry = CurrentDrawItem = LocateDrawItem( (SCH_SCREEN*) m_CurrentScreen, DrawEntry = CurrentDrawItem = LocateDrawItem( (SCH_SCREEN*) m_CurrentScreen, m_CurrentScreen->m_MousePosition,CurrentLibEntry,CurrentUnit, m_CurrentScreen->m_MousePosition, CurrentConvert,LOCATE_ALL_DRAW_ITEM); CurrentLibEntry, CurrentUnit, CurrentConvert, LOCATE_ALL_DRAW_ITEM ); } } if( DrawEntry == NULL ) if( DrawEntry == NULL ) { { DrawEntry = CurrentDrawItem = LocateDrawItem( (SCH_SCREEN*) m_CurrentScreen, DrawEntry = CurrentDrawItem = LocateDrawItem( (SCH_SCREEN*) m_CurrentScreen, m_CurrentScreen->m_Curseur, CurrentLibEntry,CurrentUnit, m_CurrentScreen->m_Curseur, CurrentConvert,LOCATE_ALL_DRAW_ITEM); CurrentLibEntry, CurrentUnit, CurrentConvert, LOCATE_ALL_DRAW_ITEM ); } } if( DrawEntry == NULL ) if( DrawEntry == NULL ) { { Loading @@ -222,17 +231,19 @@ LibEDA_BaseStruct* DrawEntry = CurrentDrawItem; if( m_ID_current_state ) if( m_ID_current_state ) { { } } else else { { } } if ( DrawEntry ) DrawEntry->Display_Infos_DrawEntry(this); if( DrawEntry ) else return; DrawEntry->Display_Infos_DrawEntry( this ); else return; CurrentDrawItem = DrawEntry; CurrentDrawItem = DrawEntry; DrawPanel->m_IgnoreMouseEvents = TRUE; DrawPanel->m_IgnoreMouseEvents = TRUE; switch( DrawEntry->Type() ) switch( DrawEntry->Type() ) { { case COMPONENT_PIN_DRAW_TYPE: case COMPONENT_PIN_DRAW_TYPE: Loading Loading @@ -286,7 +297,7 @@ LibEDA_BaseStruct* DrawEntry = CurrentDrawItem; DisplayError( this, msg ); DisplayError( this, msg ); break; break; } } DrawPanel->MouseToCursorSchema(); DrawPanel->MouseToCursorSchema(); DrawPanel->m_IgnoreMouseEvents = FALSE; DrawPanel->m_IgnoreMouseEvents = FALSE; } }