I just updated the eeschema code to insert new pins based on orientation. I have a few questions and wasn't able to find the answers in the code:
1. Where is the global variable g_RepeatStep set? It is used to determine horizontal and vertical step distances? 2. Am I using this global as it is intended? It seems like the insert function was half-implemented. It currently applies a -100 mil offset when you press the INSERT key. There is no implementation in the X direction. 3. If this is the correct usage, how would I set the default g_RepeatStep.x value to 100 mils as well? 4. Why is g_RepeatStep not initialized when running eeschema from the command line? Thanks. -Ed For context, I have added my patch below. === modified file 'eeschema/pinedit.cpp' --- eeschema/pinedit.cpp 2015-03-03 10:50:50 +0000 +++ eeschema/pinedit.cpp 2015-04-21 20:15:06 +0000 @@ -572,7 +572,26 @@ pin->ClearFlags(); pin->SetFlags( IS_NEW ); - pin->Move( pin->GetPosition() + wxPoint( g_RepeatStep.x, -g_RepeatStep.y ) ); + + switch( pin->GetOrientation() ) + { + case PIN_UP: + pin->Move( pin->GetPosition() + wxPoint( g_RepeatStep.x, 0 ) ); + break; + + case PIN_DOWN: + pin->Move( pin->GetPosition() + wxPoint( -g_RepeatStep.x, 0 ) ); + break; + + case PIN_LEFT: + pin->Move( pin->GetPosition() + wxPoint( 0, g_RepeatStep.y ) ); + break; + + case PIN_RIGHT: + pin->Move( pin->GetPosition() + wxPoint( 0, -g_RepeatStep.y ) ); + break; + } + wxString nextName = pin->GetName(); IncrementLabelMember( nextName ); pin->SetName( nextName );
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp