Commit 06c9f9c8 authored by CHARRAS's avatar CHARRAS
Browse files

enhancements in pcbnew to eeschema cross-probing. removed change in drc.cpp

parent 6245ac52
Loading
Loading
Loading
Loading
+14 −0
Original line number Original line Diff line number Diff line
@@ -4,6 +4,19 @@ Started 2007-June-11
Please add newer entries at the top, list the date and your name with 
Please add newer entries at the top, list the date and your name with 
email address.
email address.


2007-Oct-01 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ pcbnew/eeschema
	Cross-probing pcbnew to eeschema:
		A left click on a pad in pcbnew moves the eeschema cursor on the corresponding component pin
		A left click on a footprint ref or value in pcbnew moves the eeschema cursor on the corresponding component ref or value
		A left ckick on a footprint moves the eeschema cursor on the corresponding component anchor
+ pcbnew
	removed drc.cpp change line 584, and translate comments in english.
	nothing broken:
		-> a pad with its netcode = 0 means the pad ** must be left unconnected ** (not attached to *  a net).
		-> a track with its netcode = 0 means the track is not attached to a net (cannot be connected to any pad).



2007-Sep-30 UPDATE   Dick Hollenbeck <dick@softplc.com>
2007-Sep-30 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
================================================================================
@@ -22,6 +35,7 @@ email address.
  * beautification, house keeping.    
  * beautification, house keeping.    





2007-Sep-29 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
2007-Sep-29 UPDATE   Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
================================================================================
+ pcbnew
+ pcbnew
+3 −3
Original line number Original line Diff line number Diff line
@@ -62,9 +62,9 @@ WinEDA_App::WinEDA_App()
	m_MainFrame = NULL;
	m_MainFrame = NULL;
	m_PcbFrame = NULL;
	m_PcbFrame = NULL;
	m_ModuleEditFrame = NULL;	// Edition des modules
	m_ModuleEditFrame = NULL;	// Edition des modules
	SchematicFrame = NULL;		// Edition des Schemas
	m_SchematicFrame = NULL;		// Edition des Schemas
	LibeditFrame = NULL;		// Edition des composants
	m_LibeditFrame = NULL;		// Edition des composants
	ViewlibFrame = NULL;		// Visualisation des composants
	m_ViewlibFrame = NULL;		// Visualisation des composants
	m_CvpcbFrame = NULL;
	m_CvpcbFrame = NULL;
	m_GerberFrame = NULL;		// ecran de visualisation GERBER
	m_GerberFrame = NULL;		// ecran de visualisation GERBER


+3 −3
Original line number Original line Diff line number Diff line
@@ -681,7 +681,7 @@ void MirrorOneStruct( EDA_BaseStruct* DrawStruct, wxPoint& Center )
        MirrorYPoint( px, Center );
        MirrorYPoint( px, Center );
        px.x -= dx;
        px.x -= dx;


        EDA_Appl->SchematicFrame->PutOnGrid( &px );
        EDA_Appl->m_SchematicFrame->PutOnGrid( &px );
        DrawText->m_Pos.x = px.x;
        DrawText->m_Pos.x = px.x;
        break;
        break;


@@ -696,14 +696,14 @@ void MirrorOneStruct( EDA_BaseStruct* DrawStruct, wxPoint& Center )


        px = DrawText->m_Pos;
        px = DrawText->m_Pos;
        MirrorYPoint( px, Center );
        MirrorYPoint( px, Center );
        EDA_Appl->SchematicFrame->PutOnGrid( &px );
        EDA_Appl->m_SchematicFrame->PutOnGrid( &px );
        DrawText->m_Pos.x = px.x;
        DrawText->m_Pos.x = px.x;
        break;
        break;


    case DRAW_LIB_ITEM_STRUCT_TYPE:
    case DRAW_LIB_ITEM_STRUCT_TYPE:
        DrawLibItem = (EDA_SchComponentStruct*) DrawStruct;
        DrawLibItem = (EDA_SchComponentStruct*) DrawStruct;
        dx = DrawLibItem->m_Pos.x;
        dx = DrawLibItem->m_Pos.x;
        EDA_Appl->SchematicFrame->CmpRotationMiroir( DrawLibItem,
        EDA_Appl->m_SchematicFrame->CmpRotationMiroir( DrawLibItem,
                                                     NULL, CMP_MIROIR_Y );
                                                     NULL, CMP_MIROIR_Y );
        MirrorYPoint( DrawLibItem->m_Pos, Center );
        MirrorYPoint( DrawLibItem->m_Pos, Center );
        dx -= DrawLibItem->m_Pos.x;
        dx -= DrawLibItem->m_Pos.x;
+1 −1
Original line number Original line Diff line number Diff line
@@ -63,7 +63,7 @@ bool SCH_SCREEN::SchematicCleanUp( wxDC* DC )
        }
        }
    }
    }


    EDA_Appl->SchematicFrame->TestDanglingEnds( EEDrawList, DC );
    EDA_Appl->m_SchematicFrame->TestDanglingEnds( EEDrawList, DC );
    return Modify;
    return Modify;
}
}


+60 −23
Original line number Original line Diff line number Diff line
@@ -22,33 +22,71 @@
/* variables externes */
/* variables externes */





/***************************************************************/
/**********************************/
void RemoteCommand( const char* cmdline )
void RemoteCommand( const char* cmdline )
/**********************************/
/***************************************************************/


/* Read a remote command sent from pcbnew, so when user selects a module
/** Read a remote command sent by pcbnew (via a socket connection) , so when user selects a module
 * or pin in pcbnew, eeschema shows that same component or pin.
 * or pin in pcbnew, eeschema shows that same component or pin.
 * The cursor is put on the item
 * @param cmdline = received command from pcbnew
 * commands are:
 * $PART: "reference"   put cursor on component
 * $PART: "reference" $REF: "ref"  put cursor on reference component
 * $PART: "reference" $VAL: "value" put cursor on value component
 * $PART: "reference" $PAD: "pin name"  put cursor on the component pin
 */
 */
{
{
    char     line[1024];
    char     line[1024];
    char*    idcmd;
    char*    idcmd;
    char*    text;
    char*    text;
    WinEDA_SchematicFrame* frame = EDA_Appl->m_SchematicFrame;
    wxString part_ref, msg;


    strncpy( line, cmdline, sizeof(line) - 1 );
    strncpy( line, cmdline, sizeof(line) - 1 );


    idcmd = strtok( line, " \n\r" );
    idcmd = strtok( line, " \n\r" );
    text  = strtok( NULL, " \n\r" );
    text  = strtok( NULL, "\"\n\r" );
    if( (idcmd == NULL) || (text == NULL) )
    if( (idcmd == NULL) || (text == NULL) )
        return;
        return;


    if( strcmp( idcmd, "$PART:" ) == 0 )
    if( strcmp( idcmd, "$PART:" ) != 0 )
        return;

    part_ref = CONV_FROM_UTF8( text );

    /* look for a complement */
    idcmd = strtok( NULL, " \n\r" );
    if( idcmd == NULL )    // component only
    {
        frame->FindComponentAndItem( part_ref, true, 0, wxEmptyString, false );
        return;
    }

    text = strtok( NULL, "\"\n\r" );
    if( text == NULL )
        return;

    msg = CONV_FROM_UTF8( text );

    if( strcmp( idcmd, "$REF:" ) == 0 )
    {
        frame->FindComponentAndItem( part_ref, true, 2, msg, false );
    }


    else if( strcmp( idcmd, "$VAL:" ) == 0 )
    {
    {
        WinEDA_SchematicFrame* frame = EDA_Appl->SchematicFrame;
        frame->FindComponentAndItem( part_ref, true, 3, msg, false );
    }


        wxString msg = CONV_FROM_UTF8( text );
    else if( strcmp( idcmd, "$PAD:" ) == 0 )
        frame->FindSchematicItem( msg, 1, false );
    {
        frame->FindComponentAndItem( part_ref, true, 1, msg, false );
    }
    }
	
	else
        frame->FindComponentAndItem( part_ref, true, 0, wxEmptyString, false );
}
}




@@ -396,5 +434,4 @@ void WinEDA_DrawFrame::GeneralControle( wxDC* DC, wxPoint MousePositionInPixels
    }
    }


    Affiche_Status_Box();    /* Affichage des coord curseur */
    Affiche_Status_Box();    /* Affichage des coord curseur */

}
}
Loading