|
|
|
@ -867,8 +867,6 @@ void SCH_EDIT_FRAME::OnRotate( wxCommandEvent& aEvent ) |
|
|
|
item = LocateAndShowItem( data->GetPosition(), SCH_COLLECTOR::RotatableItems, |
|
|
|
aEvent.GetInt() ); |
|
|
|
|
|
|
|
DBG(printf("Rotate Item %p", item);) |
|
|
|
|
|
|
|
// Exit if no item found at the current location or the item is already being edited.
|
|
|
|
if( (item == NULL) || (item->GetFlags() != 0) ) |
|
|
|
return; |
|
|
|
@ -901,6 +899,13 @@ void SCH_EDIT_FRAME::OnRotate( wxCommandEvent& aEvent ) |
|
|
|
ChangeTextOrient( (SCH_TEXT*) item ); |
|
|
|
break; |
|
|
|
|
|
|
|
case SCH_BUS_BUS_ENTRY_T: |
|
|
|
case SCH_BUS_WIRE_ENTRY_T: |
|
|
|
m_canvas->MoveCursorToCrossHair(); |
|
|
|
SaveCopyInUndoList( item, UR_CHANGED ); |
|
|
|
item->Rotate( m_canvas->GetParent()->GetCrossHairPosition() ); |
|
|
|
break; |
|
|
|
|
|
|
|
case SCH_FIELD_T: |
|
|
|
m_canvas->MoveCursorToCrossHair(); |
|
|
|
RotateField( (SCH_FIELD*) item ); |
|
|
|
@ -1290,7 +1295,6 @@ void SCH_EDIT_FRAME::OnOrient( wxCommandEvent& aEvent ) |
|
|
|
// The bitmap is cached in Opengl: clear the cache, because
|
|
|
|
// the cache data is invalid
|
|
|
|
GetCanvas()->GetGAL()->ClearCache(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case SCH_SHEET_T: |
|
|
|
@ -1301,6 +1305,18 @@ void SCH_EDIT_FRAME::OnOrient( wxCommandEvent& aEvent ) |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case SCH_BUS_BUS_ENTRY_T: |
|
|
|
case SCH_BUS_WIRE_ENTRY_T: |
|
|
|
m_canvas->MoveCursorToCrossHair(); |
|
|
|
SaveCopyInUndoList( item, UR_CHANGED ); |
|
|
|
|
|
|
|
if( aEvent.GetId() == ID_SCH_MIRROR_X ) |
|
|
|
item->MirrorX( m_canvas->GetParent()->GetCrossHairPosition().y ); |
|
|
|
else if( aEvent.GetId() == ID_SCH_MIRROR_Y ) |
|
|
|
item->MirrorY( m_canvas->GetParent()->GetCrossHairPosition().x ); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
default: |
|
|
|
// This object cannot be oriented.
|
|
|
|
; |
|
|
|
|