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

Libedit: other fix in pin edition.

parent 70de08f3
...@@ -957,7 +957,7 @@ void LIB_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, ...@@ -957,7 +957,7 @@ void LIB_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition,
break; break;
case HK_ROTATE: case HK_ROTATE:
if( m_drawItem == NULL ) if( ! itemInEdit )
m_drawItem = LocateItemUsingCursor( aPosition ); m_drawItem = LocateItemUsingCursor( aPosition );
if( m_drawItem ) if( m_drawItem )
......
...@@ -1878,16 +1878,29 @@ int LIB_PIN::GetOrientationCodeIndex( int code ) ...@@ -1878,16 +1878,29 @@ int LIB_PIN::GetOrientationCodeIndex( int code )
void LIB_PIN::Rotate() void LIB_PIN::Rotate()
{ {
// Get the actual pin orientation index int orient = PIN_RIGHT;
int i = GetOrientationCodeIndex( GetOrientation() );
// Compute the next orientation, swap lower two bits for the right order switch( GetOrientation() )
i = ( (i & 2) >> 1 ) | ( (i & 1) << 1 ); {
i = i + 1; case PIN_UP:
i = ( (i & 2) >> 1 ) | ( (i & 1) << 1 ); 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 // Set the new orientation
SetOrientation( GetOrientationCode( i ) ); SetOrientation( orient );
} }
......
...@@ -1071,6 +1071,10 @@ void LIB_EDIT_FRAME::OnRotateItem( wxCommandEvent& aEvent ) ...@@ -1071,6 +1071,10 @@ void LIB_EDIT_FRAME::OnRotateItem( wxCommandEvent& aEvent )
m_drawItem->Rotate(); m_drawItem->Rotate();
OnModify(); OnModify();
if( !m_drawItem->InEditMode() )
m_drawItem->ClearFlags();
DrawPanel->Refresh(); DrawPanel->Refresh();
if( GetToolId() == ID_NO_TOOL_SELECTED ) if( GetToolId() == ID_NO_TOOL_SELECTED )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment