diff --git a/pcbnew/tools/selection_tool.cpp b/pcbnew/tools/selection_tool.cpp index 7fe2c48bda..1eeba1c6d4 100644 --- a/pcbnew/tools/selection_tool.cpp +++ b/pcbnew/tools/selection_tool.cpp @@ -71,7 +71,8 @@ public: SELECTION_TOOL::SELECTION_TOOL() : TOOL_INTERACTIVE( "pcbnew.InteractiveSelection" ), m_frame( NULL ), m_additive( false ), m_multiple( false ), m_editModules( false ), - m_locked( true ), m_menu( this ), m_contextMenu( NULL ), m_selectMenu( NULL ) + m_locked( true ), m_menu( this ), m_contextMenu( NULL ), m_selectMenu( NULL ), + m_zoomMenu( NULL ), m_gridMenu( NULL ) { // Do not leave uninitialized members: m_preliminary = false; @@ -83,6 +84,8 @@ SELECTION_TOOL::~SELECTION_TOOL() delete m_selection.group; delete m_contextMenu; delete m_selectMenu; + delete m_zoomMenu; + delete m_gridMenu; } @@ -104,10 +107,13 @@ bool SELECTION_TOOL::Init() m_menu.AddItem( COMMON_ACTIONS::zoomOut , SELECTION_CONDITIONS::ShowAlways, 1000 ); m_menu.AddItem( COMMON_ACTIONS::zoomFitScreen , SELECTION_CONDITIONS::ShowAlways, 1000 ); - m_menu.AddMenu( new ZOOM_MENU( getEditFrame() ), _( "Zoom" ), - false, SELECTION_CONDITIONS::ShowAlways, 1000 ); - m_menu.AddMenu( new GRID_MENU( getEditFrame() ), _( "Grid" ), - false, SELECTION_CONDITIONS::ShowAlways, 1000 ); + PCB_BASE_FRAME* frame = getEditFrame(); + + m_zoomMenu = new ZOOM_MENU( frame ); + m_menu.AddMenu( m_zoomMenu, _( "Zoom" ), false, SELECTION_CONDITIONS::ShowAlways, 1000 ); + + m_gridMenu = new GRID_MENU( frame ); + m_menu.AddMenu( m_gridMenu, _( "Grid" ), false, SELECTION_CONDITIONS::ShowAlways, 1000 ); return true; } diff --git a/pcbnew/tools/selection_tool.h b/pcbnew/tools/selection_tool.h index b8937129c6..8acc9f2a82 100644 --- a/pcbnew/tools/selection_tool.h +++ b/pcbnew/tools/selection_tool.h @@ -39,6 +39,8 @@ class SELECTION_AREA; class BOARD_ITEM; class GENERAL_COLLECTOR; class SELECT_MENU; +class ZOOM_MENU; +class GRID_MENU; namespace KIGFX { @@ -345,10 +347,11 @@ private: /// Menu displayed by the tool. CONDITIONAL_MENU m_menu; - // TODO + /// Pointers to context menus CONTEXT_MENU* m_contextMenu; - SELECT_MENU* m_selectMenu; + ZOOM_MENU* m_zoomMenu; + GRID_MENU* m_gridMenu; }; #endif