position new modules at (0,0)

This commit is contained in:
dickelbeck 2008-09-18 12:07:34 +00:00
parent b24418d95b
commit 2057c81582
1 changed files with 35 additions and 32 deletions

View File

@ -24,9 +24,8 @@ BOARD_ITEM* WinEDA_ModuleEditFrame::ModeditLocateAndDisplay( int aHotKeyCode )
/****************************************************************************/ /****************************************************************************/
{ {
BOARD_ITEM* item = GetCurItem(); BOARD_ITEM* item = GetCurItem();
MODULE* Module = m_Pcb->m_Modules;
if( Module == NULL ) if( m_Pcb->m_Modules == NULL )
return NULL; return NULL;
GENERAL_COLLECTORS_GUIDE guide = GetCollectorsGuide(); GENERAL_COLLECTORS_GUIDE guide = GetCollectorsGuide();
@ -201,31 +200,37 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event )
break; break;
case ID_LIBEDIT_DELETE_PART: case ID_LIBEDIT_DELETE_PART:
{ {
wxString Line; wxString Line;
Line = MakeFileName( g_RealLibDirBuffer, m_CurrentLib, LibExtBuffer ); Line = MakeFileName( g_RealLibDirBuffer, m_CurrentLib, LibExtBuffer );
Delete_Module_In_Library( Line ); Delete_Module_In_Library( Line );
} }
break; break;
case ID_MODEDIT_NEW_MODULE: case ID_MODEDIT_NEW_MODULE:
Clear_Pcb( TRUE ); {
GetScreen()->ClearUndoRedoList(); Clear_Pcb( TRUE );
SetCurItem( NULL ); GetScreen()->ClearUndoRedoList();
GetScreen()->m_Curseur = wxPoint( 0, 0 ); SetCurItem( NULL );
Create_1_Module( &dc, wxEmptyString ); GetScreen()->m_Curseur = wxPoint( 0, 0 );
if( m_Pcb->m_Modules )
m_Pcb->m_Modules->m_Flags = 0; MODULE* module = Create_1_Module( &dc, wxEmptyString );
Zoom_Automatique( TRUE ); wxASSERT( module );
module->SetPosition( wxPoint(0, 0) );
if( m_Pcb->m_Modules )
m_Pcb->m_Modules->m_Flags = 0;
Zoom_Automatique( TRUE );
}
break; break;
case ID_MODEDIT_SAVE_LIBMODULE: case ID_MODEDIT_SAVE_LIBMODULE:
{ {
wxString Line; wxString Line;
Line = MakeFileName( g_RealLibDirBuffer, m_CurrentLib.GetData(), LibExtBuffer ); Line = MakeFileName( g_RealLibDirBuffer, m_CurrentLib.GetData(), LibExtBuffer );
Save_1_Module( Line, m_Pcb->m_Modules, TRUE, TRUE ); Save_1_Module( Line, m_Pcb->m_Modules, TRUE, TRUE );
GetScreen()->ClrModify(); GetScreen()->ClrModify();
} }
break; break;
case ID_MODEDIT_LOAD_MODULE_FROM_BOARD: case ID_MODEDIT_LOAD_MODULE_FROM_BOARD:
@ -339,7 +344,6 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event )
break; break;
case ID_MODEDIT_LOAD_MODULE: case ID_MODEDIT_LOAD_MODULE:
{
GetScreen()->ClearUndoRedoList(); GetScreen()->ClearUndoRedoList();
SetCurItem( NULL ); SetCurItem( NULL );
Clear_Pcb( TRUE ); Clear_Pcb( TRUE );
@ -369,7 +373,6 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event )
if( m_Draw3DFrame ) if( m_Draw3DFrame )
m_Draw3DFrame->NewDisplay(); m_Draw3DFrame->NewDisplay();
break; break;
}
case ID_MODEDIT_PAD_SETTINGS: case ID_MODEDIT_PAD_SETTINGS:
InstallPadOptionsFrame( NULL, NULL, wxPoint( -1, -1 ) ); InstallPadOptionsFrame( NULL, NULL, wxPoint( -1, -1 ) );
@ -517,17 +520,17 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event )
break; break;
case ID_POPUP_PCB_ENTER_EDGE_WIDTH: case ID_POPUP_PCB_ENTER_EDGE_WIDTH:
{
EDGE_MODULE* edge = NULL;
if( GetScreen()->GetCurItem()
&& ( GetScreen()->GetCurItem()->m_Flags & IS_NEW)
&& (GetScreen()->GetCurItem()->Type() == TYPEEDGEMODULE) )
{ {
edge = (EDGE_MODULE*) GetScreen()->GetCurItem(); EDGE_MODULE* edge = NULL;
if( GetScreen()->GetCurItem()
&& ( GetScreen()->GetCurItem()->m_Flags & IS_NEW)
&& (GetScreen()->GetCurItem()->Type() == TYPEEDGEMODULE) )
{
edge = (EDGE_MODULE*) GetScreen()->GetCurItem();
}
Enter_Edge_Width( edge, &dc );
DrawPanel->MouseToCursorSchema();
} }
Enter_Edge_Width( edge, &dc );
DrawPanel->MouseToCursorSchema();
}
break; break;
case ID_POPUP_PCB_EDIT_WIDTH_CURRENT_EDGE: case ID_POPUP_PCB_EDIT_WIDTH_CURRENT_EDGE: