Remove ACTIONS::TranslateLegacyId and TOOL_DISPATCHER::DispatchWxCommand
After commit 9535153f9e
there were no more IDs inside the legacy ID
system. Therefore the entire system for dispatching and looking up
the legacy ideas and handling those events can now be removed and
the tool dispatcher simplified (it no longer needs to know about
the ACTIONS class).
This commit is contained in:
parent
148c3b3419
commit
0a0935e0f3
|
@ -104,7 +104,7 @@ PANEL_PREV_3D::PANEL_PREV_3D( wxWindow* aParent, PCB_BASE_FRAME* aFrame, FOOTPRI
|
|||
m_toolManager->SetEnvironment( m_dummyBoard, nullptr, nullptr, nullptr, this );
|
||||
|
||||
m_actions = new EDA_3D_ACTIONS();
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager, m_actions );
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager );
|
||||
m_previewPane->SetEventDispatcher( m_toolDispatcher );
|
||||
|
||||
// Register tools
|
||||
|
|
|
@ -557,20 +557,6 @@ void EDA_3D_CANVAS::DoRePaint()
|
|||
void EDA_3D_CANVAS::SetEventDispatcher( TOOL_DISPATCHER* aEventDispatcher )
|
||||
{
|
||||
m_eventDispatcher = aEventDispatcher;
|
||||
|
||||
if( m_eventDispatcher )
|
||||
{
|
||||
m_parent->Connect( wxEVT_TOOL,
|
||||
wxCommandEventHandler( TOOL_DISPATCHER::DispatchWxCommand ),
|
||||
nullptr, m_eventDispatcher );
|
||||
}
|
||||
else
|
||||
{
|
||||
// While loop is used to be sure that all event handlers are removed.
|
||||
while( m_parent->Disconnect( wxEVT_TOOL,
|
||||
wxCommandEventHandler( TOOL_DISPATCHER::DispatchWxCommand ),
|
||||
nullptr, m_eventDispatcher ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -122,7 +122,7 @@ EDA_3D_VIEWER::EDA_3D_VIEWER( KIWAY *aKiway, PCB_BASE_FRAME *aParent, const wxSt
|
|||
m_toolManager->SetEnvironment( GetBoard(), nullptr, nullptr, config, this );
|
||||
|
||||
m_actions = new EDA_3D_ACTIONS();
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager, m_actions );
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager );
|
||||
m_canvas->SetEventDispatcher( m_toolDispatcher );
|
||||
|
||||
// Register tools
|
||||
|
|
|
@ -98,9 +98,6 @@ public:
|
|||
static TOOL_ACTION toggleSolderPaste;
|
||||
static TOOL_ACTION toggleComments;
|
||||
static TOOL_ACTION toggleECO;
|
||||
|
||||
///< @copydoc COMMON_ACTIONS::TranslateLegacyId()
|
||||
virtual OPT<TOOL_EVENT> TranslateLegacyId( int aId ) override { return OPT<TOOL_EVENT>(); }
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -334,27 +334,6 @@ void EDA_DRAW_PANEL_GAL::ForceRefresh()
|
|||
void EDA_DRAW_PANEL_GAL::SetEventDispatcher( TOOL_DISPATCHER* aEventDispatcher )
|
||||
{
|
||||
m_eventDispatcher = aEventDispatcher;
|
||||
const wxEventType eventTypes[] = { wxEVT_TOOL };
|
||||
|
||||
if( m_eventDispatcher )
|
||||
{
|
||||
for( wxEventType type : eventTypes )
|
||||
{
|
||||
m_parent->Connect( type, wxCommandEventHandler( TOOL_DISPATCHER::DispatchWxCommand ),
|
||||
NULL, m_eventDispatcher );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for( wxEventType type : eventTypes )
|
||||
{
|
||||
// While loop is used to be sure that all event handlers are removed.
|
||||
while( m_parent->Disconnect(
|
||||
type, wxCommandEventHandler( TOOL_DISPATCHER::DispatchWxCommand ), NULL,
|
||||
m_eventDispatcher ) )
|
||||
;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -121,9 +121,8 @@ struct TOOL_DISPATCHER::BUTTON_STATE
|
|||
};
|
||||
|
||||
|
||||
TOOL_DISPATCHER::TOOL_DISPATCHER( TOOL_MANAGER* aToolMgr, ACTIONS *aActions ) :
|
||||
m_toolMgr( aToolMgr ),
|
||||
m_actions( aActions )
|
||||
TOOL_DISPATCHER::TOOL_DISPATCHER( TOOL_MANAGER* aToolMgr ) :
|
||||
m_toolMgr( aToolMgr )
|
||||
{
|
||||
m_buttons.push_back( new BUTTON_STATE( BUT_LEFT, wxEVT_LEFT_DOWN,
|
||||
wxEVT_LEFT_UP, wxEVT_LEFT_DCLICK ) );
|
||||
|
@ -621,18 +620,3 @@ void TOOL_DISPATCHER::DispatchWxEvent( wxEvent& aEvent )
|
|||
wxLogTrace( kicadTraceToolStack, "TOOL_DISPATCHER::DispatchWxEvent - Wx event skipped: %s",
|
||||
( aEvent.GetSkipped() ? "true" : "false" ) );
|
||||
}
|
||||
|
||||
|
||||
void TOOL_DISPATCHER::DispatchWxCommand( wxCommandEvent& aEvent )
|
||||
{
|
||||
OPT<TOOL_EVENT> evt = m_actions->TranslateLegacyId( aEvent.GetId() );
|
||||
|
||||
if( evt )
|
||||
{
|
||||
wxLogTrace( kicadTraceToolStack, "TOOL_DISPATCHER::DispatchWxCommand %s", evt->Format() );
|
||||
|
||||
m_toolMgr->ProcessEvent( *evt );
|
||||
}
|
||||
else
|
||||
aEvent.Skip();
|
||||
}
|
||||
|
|
|
@ -232,7 +232,7 @@ void CVPCB_MAINFRAME::setupTools()
|
|||
m_actions = new CVPCB_ACTIONS();
|
||||
m_toolManager = new TOOL_MANAGER;
|
||||
m_toolManager->SetEnvironment( nullptr, nullptr, nullptr, config(), this );
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager, m_actions );
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager );
|
||||
|
||||
// Register tools
|
||||
m_toolManager->RegisterTool( new COMMON_CONTROL );
|
||||
|
@ -365,7 +365,6 @@ void CVPCB_MAINFRAME::setupEventHandlers()
|
|||
} );
|
||||
|
||||
// Attach the events to the tool dispatcher
|
||||
Bind( wxEVT_TOOL, &TOOL_DISPATCHER::DispatchWxCommand, m_toolDispatcher );
|
||||
Bind( wxEVT_CHAR, &TOOL_DISPATCHER::DispatchWxEvent, m_toolDispatcher );
|
||||
Bind( wxEVT_CHAR_HOOK, &TOOL_DISPATCHER::DispatchWxEvent, m_toolDispatcher );
|
||||
}
|
||||
|
|
|
@ -106,7 +106,7 @@ DISPLAY_FOOTPRINTS_FRAME::DISPLAY_FOOTPRINTS_FRAME( KIWAY* aKiway, wxWindow* aPa
|
|||
m_toolManager->SetEnvironment( GetBoard(), gal_drawPanel->GetView(),
|
||||
gal_drawPanel->GetViewControls(), config(), this );
|
||||
m_actions = new CVPCB_ACTIONS();
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager, m_actions );
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager );
|
||||
gal_drawPanel->SetEventDispatcher( m_toolDispatcher );
|
||||
|
||||
m_toolManager->RegisterTool( new COMMON_TOOLS );
|
||||
|
|
|
@ -69,9 +69,6 @@ public:
|
|||
static TOOL_ACTION FilterFPbyFPFilters;
|
||||
static TOOL_ACTION filterFPbyPin;
|
||||
static TOOL_ACTION FilterFPbyLibrary;
|
||||
|
||||
///< @copydoc COMMON_ACTIONS::TranslateLegacyId()
|
||||
virtual OPT<TOOL_EVENT> TranslateLegacyId( int aId ) override { return OPT<TOOL_EVENT>(); }
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -334,7 +334,7 @@ void SCH_EDIT_FRAME::setupTools()
|
|||
m_toolManager->SetEnvironment( &Schematic(), GetCanvas()->GetView(),
|
||||
GetCanvas()->GetViewControls(), config(), this );
|
||||
m_actions = new EE_ACTIONS();
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager, m_actions );
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager );
|
||||
|
||||
// Register tools
|
||||
m_toolManager->RegisterTool( new COMMON_CONTROL );
|
||||
|
|
|
@ -298,7 +298,7 @@ void SYMBOL_EDIT_FRAME::setupTools()
|
|||
m_toolManager->SetEnvironment( GetScreen(), GetCanvas()->GetView(),
|
||||
GetCanvas()->GetViewControls(), config(), this );
|
||||
m_actions = new EE_ACTIONS();
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager, m_actions );
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager );
|
||||
|
||||
// Register tools
|
||||
m_toolManager->RegisterTool( new COMMON_CONTROL );
|
||||
|
|
|
@ -231,7 +231,7 @@ void SYMBOL_VIEWER_FRAME::setupTools()
|
|||
m_toolManager->SetEnvironment( GetScreen(), GetCanvas()->GetView(),
|
||||
GetCanvas()->GetViewControls(), config(), this );
|
||||
m_actions = new EE_ACTIONS();
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager, m_actions );
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager );
|
||||
|
||||
// Register tools
|
||||
m_toolManager->RegisterTool( new COMMON_TOOLS );
|
||||
|
|
|
@ -215,12 +215,6 @@ public:
|
|||
static TOOL_ACTION clearHighlight;
|
||||
static TOOL_ACTION updateNetHighlighting;
|
||||
static TOOL_ACTION highlightNetTool;
|
||||
|
||||
///< @copydoc COMMON_ACTIONS::TranslateLegacyId()
|
||||
virtual OPT<TOOL_EVENT> TranslateLegacyId( int aId ) override
|
||||
{
|
||||
return OPT<TOOL_EVENT>();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -1026,7 +1026,7 @@ void GERBVIEW_FRAME::setupTools()
|
|||
m_toolManager->SetEnvironment( m_gerberLayout, GetCanvas()->GetView(),
|
||||
GetCanvas()->GetViewControls(), config(), this );
|
||||
m_actions = new GERBVIEW_ACTIONS();
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager, m_actions );
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager );
|
||||
|
||||
// Register tools
|
||||
m_toolManager->RegisterTool( new COMMON_CONTROL );
|
||||
|
|
|
@ -91,9 +91,6 @@ public:
|
|||
static TOOL_ACTION highlightComponent;
|
||||
static TOOL_ACTION highlightAttribute;
|
||||
static TOOL_ACTION highlightDCode;
|
||||
|
||||
///< @copydoc COMMON_ACTIONS::TranslateLegacyId()
|
||||
virtual OPT<TOOL_EVENT> TranslateLegacyId( int aId ) override { return OPT<TOOL_EVENT>(); }
|
||||
};
|
||||
|
||||
#endif // __GERBVIEW_ACTIONS_H
|
||||
|
|
|
@ -181,15 +181,6 @@ public:
|
|||
static TOOL_ACTION getInvolved;
|
||||
static TOOL_ACTION reportBug;
|
||||
|
||||
/**
|
||||
* Translate legacy tool ids to the corresponding TOOL_ACTION name.
|
||||
*
|
||||
* @param aId is legacy tool id to be translated.
|
||||
* @return std::string is name of the corresponding TOOL_ACTION. It may be empty, if there is
|
||||
* no corresponding TOOL_ACTION.
|
||||
*/
|
||||
virtual OPT<TOOL_EVENT> TranslateLegacyId( int aId ) = 0;
|
||||
|
||||
///< Cursor control event types
|
||||
enum CURSOR_EVENT_TYPE { CURSOR_NONE, CURSOR_UP, CURSOR_DOWN, CURSOR_LEFT, CURSOR_RIGHT,
|
||||
CURSOR_CLICK, CURSOR_DBL_CLICK, CURSOR_RIGHT_CLICK,
|
||||
|
|
|
@ -53,9 +53,8 @@ class TOOL_DISPATCHER : public wxEvtHandler
|
|||
public:
|
||||
/**
|
||||
* @param aToolMgr: tool manager instance the events will be sent to.
|
||||
* @param aActions: ACTIONS subclass instance for ACTIONS::TranslateLegacyId().
|
||||
*/
|
||||
TOOL_DISPATCHER( TOOL_MANAGER* aToolMgr, ACTIONS *aActions );
|
||||
TOOL_DISPATCHER( TOOL_MANAGER* aToolMgr );
|
||||
|
||||
virtual ~TOOL_DISPATCHER();
|
||||
|
||||
|
@ -77,14 +76,6 @@ public:
|
|||
*/
|
||||
OPT<TOOL_EVENT> GetToolEvent( wxKeyEvent* aKeyEvent, bool* aSpecialKeyFlag );
|
||||
|
||||
/**
|
||||
* Process wxCommands (mostly menu related events) and runs appropriate actions (eg. run the
|
||||
* specified tool).
|
||||
*
|
||||
* @param aEvent is the wxCommandEvent to be processed.
|
||||
*/
|
||||
virtual void DispatchWxCommand( wxCommandEvent& aEvent );
|
||||
|
||||
private:
|
||||
///< Number of mouse buttons that is handled in events.
|
||||
static const int MouseButtonCount = 3;
|
||||
|
|
|
@ -201,10 +201,9 @@ void KICAD_MANAGER_FRAME::setupTools()
|
|||
m_toolManager->SetEnvironment( nullptr, nullptr, nullptr, config(), this );
|
||||
m_actions = new KICAD_MANAGER_ACTIONS();
|
||||
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager, m_actions );
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager );
|
||||
|
||||
// Attach the events to the tool dispatcher
|
||||
Bind( wxEVT_TOOL, &TOOL_DISPATCHER::DispatchWxCommand, m_toolDispatcher );
|
||||
Bind( wxEVT_CHAR, &TOOL_DISPATCHER::DispatchWxEvent, m_toolDispatcher );
|
||||
Bind( wxEVT_CHAR_HOOK, &TOOL_DISPATCHER::DispatchWxEvent, m_toolDispatcher );
|
||||
|
||||
|
|
|
@ -53,12 +53,6 @@ public:
|
|||
|
||||
static TOOL_ACTION editOtherSch;
|
||||
static TOOL_ACTION editOtherPCB;
|
||||
|
||||
///< @copydoc COMMON_ACTIONS::TranslateLegacyId()
|
||||
virtual OPT<TOOL_EVENT> TranslateLegacyId( int aId ) override
|
||||
{
|
||||
return OPT<TOOL_EVENT>();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -231,7 +231,7 @@ void PL_EDITOR_FRAME::setupTools()
|
|||
m_toolManager->SetEnvironment( nullptr, GetCanvas()->GetView(),
|
||||
GetCanvas()->GetViewControls(), config(), this );
|
||||
m_actions = new PL_ACTIONS();
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager, m_actions );
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager );
|
||||
|
||||
GetCanvas()->SetEventDispatcher( m_toolDispatcher );
|
||||
|
||||
|
|
|
@ -75,9 +75,6 @@ public:
|
|||
static TOOL_ACTION refreshPreview;
|
||||
static TOOL_ACTION showInspector;
|
||||
static TOOL_ACTION previewSettings;
|
||||
|
||||
///< @copydoc COMMON_ACTIONS::TranslateLegacyId()
|
||||
virtual OPT<TOOL_EVENT> TranslateLegacyId( int aId ) override { return OPT<TOOL_EVENT>(); }
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -929,7 +929,7 @@ void FOOTPRINT_EDIT_FRAME::setupTools()
|
|||
m_toolManager->SetEnvironment( GetBoard(), GetCanvas()->GetView(),
|
||||
GetCanvas()->GetViewControls(), config(), this );
|
||||
m_actions = new PCB_ACTIONS();
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager, m_actions );
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager );
|
||||
|
||||
GetCanvas()->SetEventDispatcher( m_toolDispatcher );
|
||||
|
||||
|
|
|
@ -200,7 +200,7 @@ FOOTPRINT_VIEWER_FRAME::FOOTPRINT_VIEWER_FRAME( KIWAY* aKiway, wxWindow* aParent
|
|||
m_toolManager->SetEnvironment( GetBoard(), drawPanel->GetView(),
|
||||
drawPanel->GetViewControls(), config(), this );
|
||||
m_actions = new PCB_ACTIONS();
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager, m_actions );
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager );
|
||||
drawPanel->SetEventDispatcher( m_toolDispatcher );
|
||||
|
||||
m_toolManager->RegisterTool( new PCB_CONTROL );
|
||||
|
|
|
@ -142,7 +142,7 @@ FOOTPRINT_WIZARD_FRAME::FOOTPRINT_WIZARD_FRAME( KIWAY* aKiway, wxWindow* aParent
|
|||
m_toolManager->SetEnvironment( GetBoard(), gal_drawPanel->GetView(),
|
||||
gal_drawPanel->GetViewControls(), config(), this );
|
||||
m_actions = new PCB_ACTIONS();
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager, m_actions );
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager );
|
||||
gal_drawPanel->SetEventDispatcher( m_toolDispatcher );
|
||||
|
||||
m_toolManager->RegisterTool( new PCB_CONTROL );
|
||||
|
|
|
@ -479,7 +479,7 @@ void PCB_EDIT_FRAME::setupTools()
|
|||
m_toolManager->SetEnvironment( m_pcb, GetCanvas()->GetView(),
|
||||
GetCanvas()->GetViewControls(), config(), this );
|
||||
m_actions = new PCB_ACTIONS();
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager, m_actions );
|
||||
m_toolDispatcher = new TOOL_DISPATCHER( m_toolManager );
|
||||
|
||||
// Register tools
|
||||
m_toolManager->RegisterTool( new COMMON_CONTROL );
|
||||
|
|
|
@ -33,11 +33,6 @@
|
|||
#include <router/pns_router.h>
|
||||
#include <router/pns_routing_settings.h>
|
||||
|
||||
OPT<TOOL_EVENT> PCB_ACTIONS::TranslateLegacyId( int aId )
|
||||
{
|
||||
return OPT<TOOL_EVENT>();
|
||||
}
|
||||
|
||||
|
||||
// Actions, being statically-defined, require specialized I18N handling. We continue to
|
||||
// use the _() macro so that string harvesting by the I18N framework doesn't have to be
|
||||
|
|
|
@ -475,9 +475,6 @@ public:
|
|||
static TOOL_ACTION convertToLines;
|
||||
static TOOL_ACTION convertToArc;
|
||||
static TOOL_ACTION convertToTracks;
|
||||
|
||||
///< @copydoc COMMON_ACTIONS::TranslateLegacyId()
|
||||
virtual OPT<TOOL_EVENT> TranslateLegacyId( int aId ) override;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -80,7 +80,7 @@ void PCB_TEST_FRAME_BASE::SetBoard( std::shared_ptr<BOARD> b )
|
|||
m_galPanel->UpdateColors();
|
||||
|
||||
#ifdef USE_TOOL_MANAGER
|
||||
|
||||
|
||||
m_toolManager->SetEnvironment( m_board.get(), m_galPanel->GetView(),
|
||||
m_galPanel->GetViewControls(), nullptr );
|
||||
|
||||
|
@ -114,10 +114,6 @@ BOARD* PCB_TEST_FRAME_BASE::LoadAndDisplayBoard( const std::string& filename )
|
|||
|
||||
class TEST_ACTIONS : public ACTIONS
|
||||
{
|
||||
virtual OPT<TOOL_EVENT> TranslateLegacyId( int aId ) override
|
||||
{
|
||||
return OPT<TOOL_EVENT> ();
|
||||
}
|
||||
};
|
||||
|
||||
void PCB_TEST_FRAME_BASE::createView( wxWindow *aParent, PCB_DRAW_PANEL_GAL::GAL_TYPE aGalType )
|
||||
|
@ -127,7 +123,7 @@ void PCB_TEST_FRAME_BASE::createView( wxWindow *aParent, PCB_DRAW_PANEL_GAL::GAL
|
|||
m_galPanel = std::make_shared<PCB_DRAW_PANEL_GAL>( aParent, -1, wxPoint( 0,
|
||||
0 ), wxDefaultSize, m_displayOptions, aGalType );
|
||||
m_galPanel->UpdateColors();
|
||||
|
||||
|
||||
m_galPanel->SetEvtHandlerEnabled( true );
|
||||
m_galPanel->SetFocus();
|
||||
m_galPanel->Show( true );
|
||||
|
@ -151,13 +147,12 @@ void PCB_TEST_FRAME_BASE::createView( wxWindow *aParent, PCB_DRAW_PANEL_GAL::GAL
|
|||
m_galPanel->GetViewControls(), nullptr );
|
||||
|
||||
m_pcbActions = std::make_unique<TEST_ACTIONS>( );
|
||||
m_toolDispatcher = std::make_unique<TOOL_DISPATCHER>( m_toolManager.get(), m_pcbActions.get() );
|
||||
m_toolDispatcher = std::make_unique<TOOL_DISPATCHER>( m_toolManager.get() );
|
||||
|
||||
//m_toolManager->RegisterTool( new PCB_SELECTION_TOOL );
|
||||
createUserTools();
|
||||
|
||||
m_toolManager->InitTools();
|
||||
m_galPanel->SetEventDispatcher( m_toolDispatcher.get() );
|
||||
m_toolManager->InvokeTool( "test.DefaultTool" );
|
||||
#endif
|
||||
|
||||
|
@ -179,4 +174,4 @@ void PCB_TEST_FRAME_BASE::LoadSettings()
|
|||
auto cs = Pgm().GetSettingsManager().GetColorSettings();
|
||||
//cs->SetColorContext( COLOR_CONTEXT::PCB );
|
||||
cs->Load();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue