FIX: insert key must repeat text labels

This commit is contained in:
Dick Hollenbeck 2013-08-06 17:59:07 -05:00
parent f7ad4ca025
commit ad7ba8f029
4 changed files with 13 additions and 16 deletions

View File

@ -434,7 +434,6 @@ void SCH_EDIT_FRAME::RepeatDrawItem( wxDC* DC )
SCH_ITEM* my_clone = (SCH_ITEM*) repeater->Clone(); SCH_ITEM* my_clone = (SCH_ITEM*) repeater->Clone();
// If cloning a component then put into 'move' mode. // If cloning a component then put into 'move' mode.
/* please tell me where components are snapshotted via SetRepeatItem()
if( my_clone->Type() == SCH_COMPONENT_T ) if( my_clone->Type() == SCH_COMPONENT_T )
{ {
wxPoint pos = GetCrossHairPosition() - wxPoint pos = GetCrossHairPosition() -
@ -447,7 +446,6 @@ void SCH_EDIT_FRAME::RepeatDrawItem( wxDC* DC )
MoveItem( my_clone, DC ); MoveItem( my_clone, DC );
} }
else else
*/
{ {
my_clone->Move( wxPoint( g_RepeatStep.GetWidth(), g_RepeatStep.GetHeight() ) ); my_clone->Move( wxPoint( g_RepeatStep.GetWidth(), g_RepeatStep.GetHeight() ) );

View File

@ -385,8 +385,11 @@ void SCH_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition,
break; break;
case HK_REPEAT_LAST: case HK_REPEAT_LAST:
if( notBusy && GetRepeatItem() && ( GetRepeatItem()->GetFlags() == 0 ) ) if( notBusy && GetRepeatItem() )
RepeatDrawItem( aDC ); {
//if( GetRepeatItem()->GetFlags() == 0 )
RepeatDrawItem( aDC );
}
break; break;
case HK_END_CURR_LINEWIREBUS: case HK_END_CURR_LINEWIREBUS:

View File

@ -52,8 +52,8 @@ static wxArrayString s_PowerNameList;
void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition ) void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
{ {
SCH_ITEM* item = GetScreen()->GetCurItem(); SCH_ITEM* item = GetScreen()->GetCurItem();
wxPoint gridPosition = GetGridPosition( aPosition ); wxPoint gridPosition = GetGridPosition( aPosition );
if( ( GetToolId() == ID_NO_TOOL_SELECTED ) || ( item && item->GetFlags() ) ) if( ( GetToolId() == ID_NO_TOOL_SELECTED ) || ( item && item->GetFlags() ) )
{ {
@ -120,7 +120,6 @@ void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
m_CurrentSheet->Pop(); m_CurrentSheet->Pop();
DisplayCurrentSheet(); DisplayCurrentSheet();
} }
break; break;
case ID_NOCONN_BUTT: case ID_NOCONN_BUTT:
@ -210,7 +209,6 @@ void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
{ {
addCurrentItemToList( aDC ); addCurrentItemToList( aDC );
} }
break; break;
case ID_ADD_IMAGE_BUTT: case ID_ADD_IMAGE_BUTT:
@ -223,7 +221,6 @@ void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
{ {
addCurrentItemToList( aDC ); addCurrentItemToList( aDC );
} }
break; break;
case ID_LABEL_BUTT: case ID_LABEL_BUTT:
@ -236,7 +233,6 @@ void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
{ {
addCurrentItemToList( aDC ); addCurrentItemToList( aDC );
} }
break; break;
case ID_GLABEL_BUTT: case ID_GLABEL_BUTT:
@ -255,7 +251,6 @@ void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
{ {
addCurrentItemToList( aDC ); addCurrentItemToList( aDC );
} }
break; break;
case ID_SHEET_SYMBOL_BUTT: case ID_SHEET_SYMBOL_BUTT:
@ -273,7 +268,6 @@ void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
{ {
addCurrentItemToList( aDC ); addCurrentItemToList( aDC );
} }
break; break;
case ID_IMPORT_HLABEL_BUTT: case ID_IMPORT_HLABEL_BUTT:
@ -295,7 +289,6 @@ void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
{ {
addCurrentItemToList( aDC ); addCurrentItemToList( aDC );
} }
break; break;
case ID_SCH_PLACE_COMPONENT: case ID_SCH_PLACE_COMPONENT:
@ -308,7 +301,6 @@ void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
{ {
addCurrentItemToList( aDC ); addCurrentItemToList( aDC );
} }
break; break;
case ID_PLACE_POWER_BUTT: case ID_PLACE_POWER_BUTT:
@ -322,7 +314,6 @@ void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
{ {
addCurrentItemToList( aDC ); addCurrentItemToList( aDC );
} }
break; break;
default: default:

View File

@ -294,8 +294,13 @@ void SCH_EDIT_FRAME::SetRepeatItem( SCH_ITEM* aItem )
if( cur != old ) if( cur != old )
{ {
if( cur ) if( cur )
{
aItem = (SCH_ITEM*) cur->Clone(); aItem = (SCH_ITEM*) cur->Clone();
// Clone() preserves the flags, we want 'em cleared.
aItem->ClearFlags();
}
m_item_to_repeat = aItem; m_item_to_repeat = aItem;
delete old; delete old;
@ -891,7 +896,7 @@ bool SCH_EDIT_FRAME::isAutoSaveRequired() const
void SCH_EDIT_FRAME::addCurrentItemToList( wxDC* aDC ) void SCH_EDIT_FRAME::addCurrentItemToList( wxDC* aDC )
{ {
SCH_SCREEN* screen = GetScreen(); SCH_SCREEN* screen = GetScreen();
SCH_ITEM* item = screen->GetCurItem(); SCH_ITEM* item = screen->GetCurItem();
wxCHECK_RET( item != NULL, wxT( "Cannot add current item to list." ) ); wxCHECK_RET( item != NULL, wxT( "Cannot add current item to list." ) );