Commit 2d972fcf authored by jean-pierre charras's avatar jean-pierre charras
Browse files

Libedit: other fix in pin edition.

parent 70de08f3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -957,7 +957,7 @@ void LIB_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition,
        break;

    case HK_ROTATE:
        if( m_drawItem == NULL )
        if( ! itemInEdit )
            m_drawItem = LocateItemUsingCursor( aPosition );

        if( m_drawItem )
+20 −7
Original line number Diff line number Diff line
@@ -1878,16 +1878,29 @@ int LIB_PIN::GetOrientationCodeIndex( int code )

void LIB_PIN::Rotate()
{
    // Get the actual pin orientation index
    int i = GetOrientationCodeIndex( GetOrientation() );
    int orient = PIN_RIGHT;

    // Compute the next orientation, swap lower two bits for the right order
    i = ( (i & 2) >> 1 ) | ( (i & 1) << 1 );
    i = i + 1;
    i = ( (i & 2) >> 1 ) | ( (i & 1) << 1 );
    switch( GetOrientation() )
    {
        case PIN_UP:
            orient = PIN_LEFT;
            break;

        case PIN_DOWN:
            orient = PIN_RIGHT;
            break;

        case PIN_LEFT:
            orient = PIN_DOWN;
           break;

        case PIN_RIGHT:
            orient = PIN_UP;
            break;
    }

    // Set the new orientation
    SetOrientation( GetOrientationCode( i ) );
    SetOrientation( orient );
}


+4 −0
Original line number Diff line number Diff line
@@ -1071,6 +1071,10 @@ void LIB_EDIT_FRAME::OnRotateItem( wxCommandEvent& aEvent )

    m_drawItem->Rotate();
	OnModify();

    if( !m_drawItem->InEditMode() )
        m_drawItem->ClearFlags();

    DrawPanel->Refresh();

    if( GetToolId() == ID_NO_TOOL_SELECTED )