Highlight whole net for simulation voltage probe.
This commit is contained in:
parent
cc0bd9a171
commit
e855b244ae
|
@ -26,6 +26,7 @@
|
||||||
#include <sch_view.h>
|
#include <sch_view.h>
|
||||||
#include <sch_edit_frame.h>
|
#include <sch_edit_frame.h>
|
||||||
#include <sch_sheet.h>
|
#include <sch_sheet.h>
|
||||||
|
#include <sch_line.h>
|
||||||
#include <connection_graph.h>
|
#include <connection_graph.h>
|
||||||
#include <erc.h>
|
#include <erc.h>
|
||||||
#include <eeschema_id.h>
|
#include <eeschema_id.h>
|
||||||
|
@ -493,13 +494,24 @@ int SCH_EDITOR_CONTROL::SimProbe( const TOOL_EVENT& aEvent )
|
||||||
selectionTool->GuessSelectionCandidates( collector, aPos );
|
selectionTool->GuessSelectionCandidates( collector, aPos );
|
||||||
|
|
||||||
EDA_ITEM* item = collector.GetCount() == 1 ? collector[ 0 ] : nullptr;
|
EDA_ITEM* item = collector.GetCount() == 1 ? collector[ 0 ] : nullptr;
|
||||||
|
SCH_LINE* wire = dynamic_cast<SCH_LINE*>( item );
|
||||||
|
wxString netName;
|
||||||
|
|
||||||
|
if( wire )
|
||||||
|
{
|
||||||
|
item = nullptr;
|
||||||
|
|
||||||
|
if( wire->Connection( *g_CurrentSheet ) )
|
||||||
|
netName = wire->Connection( *g_CurrentSheet )->Name();
|
||||||
|
}
|
||||||
|
|
||||||
|
if( item && item->Type() == SCH_PIN_T )
|
||||||
|
picker->SetCursor( SIM_CURSORS::GetCursor( SIM_CURSORS::CURRENT_PROBE ) );
|
||||||
|
else
|
||||||
|
picker->SetCursor( SIM_CURSORS::GetCursor( SIM_CURSORS::VOLTAGE_PROBE ) );
|
||||||
|
|
||||||
if( m_pickerItem != item )
|
if( m_pickerItem != item )
|
||||||
{
|
{
|
||||||
if( item && item->Type() == SCH_PIN_T )
|
|
||||||
picker->SetCursor( SIM_CURSORS::GetCursor( SIM_CURSORS::CURRENT_PROBE ) );
|
|
||||||
else
|
|
||||||
picker->SetCursor( SIM_CURSORS::GetCursor( SIM_CURSORS::VOLTAGE_PROBE ) );
|
|
||||||
|
|
||||||
if( m_pickerItem )
|
if( m_pickerItem )
|
||||||
selectionTool->UnbrightenItem( m_pickerItem );
|
selectionTool->UnbrightenItem( m_pickerItem );
|
||||||
|
@ -509,6 +521,14 @@ int SCH_EDITOR_CONTROL::SimProbe( const TOOL_EVENT& aEvent )
|
||||||
if( m_pickerItem )
|
if( m_pickerItem )
|
||||||
selectionTool->BrightenItem( m_pickerItem );
|
selectionTool->BrightenItem( m_pickerItem );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( m_frame->GetSelectedNetName() != netName )
|
||||||
|
{
|
||||||
|
m_frame->SetSelectedNetName( netName );
|
||||||
|
|
||||||
|
TOOL_EVENT dummyEvent;
|
||||||
|
UpdateNetHighlighting( dummyEvent );
|
||||||
|
}
|
||||||
} );
|
} );
|
||||||
|
|
||||||
picker->SetFinalizeHandler(
|
picker->SetFinalizeHandler(
|
||||||
|
@ -516,6 +536,14 @@ int SCH_EDITOR_CONTROL::SimProbe( const TOOL_EVENT& aEvent )
|
||||||
{
|
{
|
||||||
if( m_pickerItem )
|
if( m_pickerItem )
|
||||||
m_toolMgr->GetTool<EE_SELECTION_TOOL>()->UnbrightenItem( m_pickerItem );
|
m_toolMgr->GetTool<EE_SELECTION_TOOL>()->UnbrightenItem( m_pickerItem );
|
||||||
|
|
||||||
|
if( !m_frame->GetSelectedNetName().IsEmpty() )
|
||||||
|
{
|
||||||
|
m_frame->SetSelectedNetName( wxEmptyString );
|
||||||
|
|
||||||
|
TOOL_EVENT dummyEvent;
|
||||||
|
UpdateNetHighlighting( dummyEvent );
|
||||||
|
}
|
||||||
} );
|
} );
|
||||||
|
|
||||||
std::string tool = aEvent.GetCommandStr().get();
|
std::string tool = aEvent.GetCommandStr().get();
|
||||||
|
|
|
@ -179,6 +179,7 @@ private:
|
||||||
private:
|
private:
|
||||||
bool m_probingPcbToSch; // Recursion guard when cross-probing to PCBNew
|
bool m_probingPcbToSch; // Recursion guard when cross-probing to PCBNew
|
||||||
EDA_ITEM* m_pickerItem; // Current item for picker highlighting.
|
EDA_ITEM* m_pickerItem; // Current item for picker highlighting.
|
||||||
|
wxString m_pickerNet;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue