* backspace should not be allowed to delete modules (in order to

re-insert them, you may have to edit the .brd file directly)
This commit is contained in:
lifekidyeaa 2007-06-12 17:47:05 +00:00
parent 3c7846db7a
commit aa5e1cd09b
2 changed files with 6 additions and 2 deletions

View File

@ -1365,6 +1365,7 @@ void WinEDA_PcbFrame::SwitchLayer(wxDC *DC, int layer)
Other_Layer_Route( (TRACK *) GetScreen()->m_CurrentItem, DC);
}
}
GetScreen()->m_Active_Layer = layer;
if ( DisplayOpt.ContrastModeDisplay )

View File

@ -46,7 +46,7 @@ MODULE* module = NULL;
case WXK_NUMPAD_DELETE:
OnHotkeyDeleteItem(DC, DrawStruct);
break;
case WXK_BACK:{
case WXK_BACK:{
if( m_ID_current_state == ID_TRACK_BUTT &&
GetScreen()->m_Active_Layer <= CMP_N ){
bool ItemFree = (GetScreen()->m_CurrentItem == NULL ) ||
@ -54,7 +54,9 @@ MODULE* module = NULL;
if ( ItemFree ){
//no track is currently being edited - select a segment and remove it.
DrawStruct = PcbGeneralLocateAndDisplay();
if ( DrawStruct )
//don't let backspace delete modules!!
if ( DrawStruct && (DrawStruct->m_StructType == TYPETRACK
|| DrawStruct->m_StructType == TYPEVIA))
Delete_Segment(DC, (TRACK*)DrawStruct);
GetScreen()->SetModify();
}
@ -217,6 +219,7 @@ bool ItemFree = (GetScreen()->m_CurrentItem == NULL ) ||
{
MODULE * module = Locate_Prefered_Module(m_Pcb, CURSEUR_ON_GRILLE);
if ( module == NULL ) return FALSE;
if( ! IsOK(this, _("Delete module?")) ) return FALSE;
RemoveStruct(module, DC);
}
else return FALSE;