From 30a4bd3902cafcbe4a03e8c4e90a6231e2f5d30c Mon Sep 17 00:00:00 2001 From: Wayne Stambaugh Date: Wed, 19 Oct 2011 19:17:28 -0400 Subject: [PATCH] Minor Eeschema fixes. * Fix a set position method bug in schematic item that caused the fields to drawn in the wrong position. * Group zoom hot keys to use the same command event in schematic and library editor frames. --- eeschema/hotkeys.cpp | 93 ++++++++++++++-------------------------- eeschema/sch_component.h | 2 +- 2 files changed, 33 insertions(+), 62 deletions(-) diff --git a/eeschema/hotkeys.cpp b/eeschema/hotkeys.cpp index e66c6ab957..9b01d6ff78 100644 --- a/eeschema/hotkeys.cpp +++ b/eeschema/hotkeys.cpp @@ -83,37 +83,40 @@ /* Fit on Screen */ #if !defined( __WXMAC__ ) -static EDA_HOTKEY HkZoomAuto( wxT( "Fit on Screen" ), HK_ZOOM_AUTO, WXK_HOME ); +static EDA_HOTKEY HkZoomAuto( wxT( "Fit on Screen" ), HK_ZOOM_AUTO, WXK_HOME, ID_ZOOM_PAGE ); #else -static EDA_HOTKEY HkZoomAuto( wxT( "Zoom Auto" ), HK_ZOOM_AUTO, GR_KB_CTRL + '0' ); +static EDA_HOTKEY HkZoomAuto( wxT( "Zoom Auto" ), HK_ZOOM_AUTO, GR_KB_CTRL + '0', + ID_ZOOM_PAGE ); #endif -static EDA_HOTKEY HkZoomCenter( wxT( "Zoom Center" ), HK_ZOOM_CENTER, WXK_F4 ); +static EDA_HOTKEY HkZoomCenter( wxT( "Zoom Center" ), HK_ZOOM_CENTER, WXK_F4, + ID_POPUP_ZOOM_CENTER ); /* Refresh Screen */ #if !defined( __WXMAC__ ) -static EDA_HOTKEY HkZoomRedraw( wxT( "Zoom Redraw" ), HK_ZOOM_REDRAW, WXK_F3 ); +static EDA_HOTKEY HkZoomRedraw( wxT( "Zoom Redraw" ), HK_ZOOM_REDRAW, WXK_F3, ID_ZOOM_REDRAW ); #else -static EDA_HOTKEY HkZoomRedraw( wxT( "Zoom Redraw" ), HK_ZOOM_REDRAW, GR_KB_CTRL + 'R' ); +static EDA_HOTKEY HkZoomRedraw( wxT( "Zoom Redraw" ), HK_ZOOM_REDRAW, GR_KB_CTRL + 'R', + ID_ZOOM_REDRAW ); #endif /* Zoom In */ #if !defined( __WXMAC__ ) -static EDA_HOTKEY HkZoomIn( wxT( "Zoom In" ), HK_ZOOM_IN, WXK_F1 ); +static EDA_HOTKEY HkZoomIn( wxT( "Zoom In" ), HK_ZOOM_IN, WXK_F1, ID_POPUP_ZOOM_IN ); #else -static EDA_HOTKEY HkZoomIn( wxT( "Zoom In" ), HK_ZOOM_IN, GR_KB_CTRL + '+' ); +static EDA_HOTKEY HkZoomIn( wxT( "Zoom In" ), HK_ZOOM_IN, GR_KB_CTRL + '+', ID_POPUP_ZOOM_IN ); #endif /* Zoom Out */ #if !defined( __WXMAC__ ) -static EDA_HOTKEY HkZoomOut( wxT( "Zoom Out" ), HK_ZOOM_OUT, WXK_F2 ); +static EDA_HOTKEY HkZoomOut( wxT( "Zoom Out" ), HK_ZOOM_OUT, WXK_F2, ID_POPUP_ZOOM_OUT ); #else -static EDA_HOTKEY HkZoomOut( wxT( "Zoom Out" ), HK_ZOOM_OUT, GR_KB_CTRL + '-' ); +static EDA_HOTKEY HkZoomOut( wxT( "Zoom Out" ), HK_ZOOM_OUT, GR_KB_CTRL + '-', ID_POPUP_ZOOM_OUT ); #endif static EDA_HOTKEY HkHelp( wxT( "Help (this window)" ), HK_HELP, '?' ); static EDA_HOTKEY HkResetLocalCoord( wxT( "Reset Local Coordinates" ), - HK_RESET_LOCAL_COORD, ' ' ); + HK_RESET_LOCAL_COORD, ' ' ); /* Undo */ static EDA_HOTKEY HkUndo( wxT( "Undo" ), HK_UNDO, GR_KB_CTRL + 'Z', (int) wxID_UNDO ); @@ -307,15 +310,15 @@ void SCH_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, aHotKey += 'A' - 'a'; // Search command from key : - EDA_HOTKEY* HK_Descr = GetDescriptorFromHotkey( aHotKey, s_Common_Hotkey_List ); + EDA_HOTKEY* hotKey = GetDescriptorFromHotkey( aHotKey, s_Common_Hotkey_List ); - if( HK_Descr == NULL ) - HK_Descr = GetDescriptorFromHotkey( aHotKey, s_Schematic_Hotkey_List ); + if( hotKey == NULL ) + hotKey = GetDescriptorFromHotkey( aHotKey, s_Schematic_Hotkey_List ); - if( HK_Descr == NULL ) + if( hotKey == NULL ) return; - switch( HK_Descr->m_Idcommand ) + switch( hotKey->m_Idcommand ) { default: case HK_NOT_FOUND: @@ -330,27 +333,11 @@ void SCH_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, break; case HK_ZOOM_IN: - cmd.SetId( ID_POPUP_ZOOM_IN ); - GetEventHandler()->ProcessEvent( cmd ); - break; - case HK_ZOOM_OUT: - cmd.SetId( ID_POPUP_ZOOM_OUT ); - GetEventHandler()->ProcessEvent( cmd ); - break; - case HK_ZOOM_REDRAW: - cmd.SetId( ID_ZOOM_REDRAW ); - GetEventHandler()->ProcessEvent( cmd ); - break; - case HK_ZOOM_CENTER: - cmd.SetId( ID_POPUP_ZOOM_CENTER ); - GetEventHandler()->ProcessEvent( cmd ); - break; - case HK_ZOOM_AUTO: - cmd.SetId( ID_ZOOM_PAGE ); + cmd.SetId( hotKey->m_IdMenuEvent ); GetEventHandler()->ProcessEvent( cmd ); break; @@ -358,7 +345,7 @@ void SCH_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, case HK_REDO: if( notBusy ) { - wxCommandEvent event( wxEVT_COMMAND_TOOL_CLICKED, HK_Descr->m_IdMenuEvent ); + wxCommandEvent event( wxEVT_COMMAND_TOOL_CLICKED, hotKey->m_IdMenuEvent ); wxPostEvent( this, event ); } break; @@ -694,7 +681,7 @@ void SCH_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, break; } - cmd.SetId( HK_Descr->m_IdMenuEvent ); + cmd.SetId( hotKey->m_IdMenuEvent ); wxPostEvent( this, cmd ); break; @@ -705,7 +692,7 @@ void SCH_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, if( aItem == NULL ) { aItem = LocateAndShowItem( aPosition, SCH_COLLECTOR::DraggableItems, - HK_Descr->m_Idcommand ); + hotKey->m_Idcommand ); if( aItem == NULL ) break; @@ -721,7 +708,7 @@ void SCH_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, case SCH_GLOBAL_LABEL_T: case SCH_HIERARCHICAL_LABEL_T: case SCH_SHEET_T: - cmd.SetId( HK_Descr->m_IdMenuEvent ); + cmd.SetId( hotKey->m_IdMenuEvent ); wxPostEvent( this, cmd ); break; @@ -750,13 +737,13 @@ void SCH_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, if( aItem == NULL ) { aItem = LocateAndShowItem( aPosition, SCH_COLLECTOR::MovableItems, - HK_Descr->m_Idcommand ); + hotKey->m_Idcommand ); if( aItem == NULL ) break; } - cmd.SetId( HK_Descr->m_IdMenuEvent ); + cmd.SetId( hotKey->m_IdMenuEvent ); wxPostEvent( this, cmd ); break; @@ -820,7 +807,7 @@ void SCH_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, if( aItem ) { - cmd.SetId( HK_Descr->m_IdMenuEvent ); + cmd.SetId( hotKey->m_IdMenuEvent ); wxPostEvent( this, cmd ); } @@ -850,15 +837,15 @@ void LIB_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, if( (aHotKey >= 'a') && (aHotKey <= 'z') ) aHotKey += 'A' - 'a'; - EDA_HOTKEY* HK_Descr = GetDescriptorFromHotkey( aHotKey, s_Common_Hotkey_List ); + EDA_HOTKEY* hotKey = GetDescriptorFromHotkey( aHotKey, s_Common_Hotkey_List ); - if( HK_Descr == NULL ) - HK_Descr = GetDescriptorFromHotkey( aHotKey, s_LibEdit_Hotkey_List ); + if( hotKey == NULL ) + hotKey = GetDescriptorFromHotkey( aHotKey, s_LibEdit_Hotkey_List ); - if( HK_Descr == NULL ) + if( hotKey == NULL ) return; - switch( HK_Descr->m_Idcommand ) + switch( hotKey->m_Idcommand ) { default: case HK_NOT_FOUND: @@ -873,27 +860,11 @@ void LIB_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, break; case HK_ZOOM_IN: - cmd.SetId( ID_POPUP_ZOOM_IN ); - GetEventHandler()->ProcessEvent( cmd ); - break; - case HK_ZOOM_OUT: - cmd.SetId( ID_POPUP_ZOOM_OUT ); - GetEventHandler()->ProcessEvent( cmd ); - break; - case HK_ZOOM_REDRAW: - cmd.SetId( ID_ZOOM_REDRAW ); - GetEventHandler()->ProcessEvent( cmd ); - break; - case HK_ZOOM_CENTER: - cmd.SetId( ID_POPUP_ZOOM_CENTER ); - GetEventHandler()->ProcessEvent( cmd ); - break; - case HK_ZOOM_AUTO: - cmd.SetId( ID_ZOOM_PAGE ); + cmd.SetId( hotKey->m_IdMenuEvent ); GetEventHandler()->ProcessEvent( cmd ); break; diff --git a/eeschema/sch_component.h b/eeschema/sch_component.h index 9b3b0c5453..8552d84c38 100644 --- a/eeschema/sch_component.h +++ b/eeschema/sch_component.h @@ -428,7 +428,7 @@ private: virtual EDA_ITEM* doClone() const; virtual void doPlot( PLOTTER* aPlotter ); virtual wxPoint doGetPosition() const { return m_Pos; } - virtual void doSetPosition( const wxPoint& aPosition ) { m_Pos = aPosition; } + virtual void doSetPosition( const wxPoint& aPosition ) { Move( aPosition - m_Pos ); } };