Don't allow moving markers. Do allow excluding them.
This commit is contained in:
parent
c2f68ca4da
commit
57e043e0e6
|
@ -577,7 +577,7 @@ TOOL_ACTION EE_ACTIONS::schematicSetup( "eeschema.EditorControl.schematicSetup",
|
|||
|
||||
TOOL_ACTION EE_ACTIONS::editPageNumber( "eeschema.EditorControl.editPageNumber",
|
||||
AS_GLOBAL, 0, "",
|
||||
_( "Edit Page Number..." ),
|
||||
_( "Edit Sheet Page Number..." ),
|
||||
_( "Edit the page number of the current or selected sheet" ),
|
||||
nullptr );
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
#include <symbol_edit_frame.h>
|
||||
#include <symbol_viewer_frame.h>
|
||||
#include <eda_doc.h>
|
||||
#include <invoke_sch_dialog.h>
|
||||
#include <sch_marker.h>
|
||||
#include <project.h>
|
||||
#include <dialogs/dialog_display_info_HTML_base.h>
|
||||
#include <dialogs/dialog_erc.h>
|
||||
|
@ -62,6 +62,8 @@ bool EE_INSPECTION_TOOL::Init()
|
|||
//
|
||||
CONDITIONAL_MENU& selToolMenu = m_selectionTool->GetToolMenu().GetMenu();
|
||||
|
||||
selToolMenu.AddItem( EE_ACTIONS::excludeMarker, singleMarkerCondition, 100 );
|
||||
|
||||
selToolMenu.AddItem( EE_ACTIONS::showDatasheet, EE_CONDITIONS::SingleSymbol && EE_CONDITIONS::Idle, 220 );
|
||||
|
||||
return true;
|
||||
|
@ -154,7 +156,25 @@ int EE_INSPECTION_TOOL::NextMarker( const TOOL_EVENT& aEvent )
|
|||
int EE_INSPECTION_TOOL::ExcludeMarker( const TOOL_EVENT& aEvent )
|
||||
{
|
||||
if( m_ercDialog )
|
||||
{
|
||||
// Let the ERC dialog handle it since it has more update hassles to worry about
|
||||
m_ercDialog->ExcludeMarker();
|
||||
}
|
||||
else
|
||||
{
|
||||
EE_SELECTION_TOOL* selTool = m_toolMgr->GetTool<EE_SELECTION_TOOL>();
|
||||
EE_SELECTION& selection = selTool->GetSelection();
|
||||
|
||||
if( selection.GetSize() == 1 && selection.Front()->Type() == SCH_MARKER_T )
|
||||
{
|
||||
SCH_MARKER* marker = static_cast<SCH_MARKER*>( selection.Front() );
|
||||
|
||||
marker->SetExcluded( true );
|
||||
m_frame->GetCanvas()->GetView()->Update( marker );
|
||||
m_frame->GetCanvas()->Refresh();
|
||||
m_frame->OnModify();
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -168,11 +168,12 @@ bool EE_SELECTION_TOOL::Init()
|
|||
auto sheetSelection = E_C::Count( 1 ) && E_C::OnlyType( SCH_SHEET_T );
|
||||
|
||||
auto schEditSheetPageNumberCondition =
|
||||
[this] ( const SELECTION& aSel )
|
||||
[&] ( const SELECTION& aSel )
|
||||
{
|
||||
return !m_isSymbolEditor
|
||||
&& !m_isSymbolViewer
|
||||
&& ( E_C::Empty || ( E_C::Count( 1 ) && E_C::OnlyType( SCH_SHEET_T ) ) );
|
||||
if( m_isSymbolEditor || m_isSymbolViewer )
|
||||
return false;
|
||||
|
||||
return ( E_C::Empty( aSel ) || sheetSelection( aSel ) );
|
||||
};
|
||||
|
||||
auto schEditCondition =
|
||||
|
|
|
@ -261,6 +261,7 @@ bool SCH_EDIT_TOOL::Init()
|
|||
auto singleSymbolCondition = E_C::Count( 1 ) && E_C::OnlyType( SCH_COMPONENT_T );
|
||||
|
||||
auto singleSheetCondition = E_C::Count( 1 ) && E_C::OnlyType( SCH_SHEET_T );
|
||||
|
||||
//
|
||||
// Add edit actions to the move tool menu
|
||||
//
|
||||
|
@ -1798,7 +1799,7 @@ int SCH_EDIT_TOOL::EditPageNumber( const TOOL_EVENT& aEvent )
|
|||
msg.Printf( _( "Enter page number for sheet path%s" ),
|
||||
( sheetPath.Length() > 20 ) ? "\n" + sheetPath : " " + sheetPath );
|
||||
|
||||
wxTextEntryDialog dlg( m_frame, msg, _( "Edit Page Number" ), pageNumber );
|
||||
wxTextEntryDialog dlg( m_frame, msg, _( "Edit Sheet Page Number" ), pageNumber );
|
||||
|
||||
dlg.SetTextValidator( wxFILTER_ALPHANUMERIC ); // No white space.
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ bool SCH_MOVE_TOOL::Init()
|
|||
auto moveCondition =
|
||||
[]( const SELECTION& aSel )
|
||||
{
|
||||
if( aSel.Empty() )
|
||||
if( aSel.Empty() || SELECTION_CONDITIONS::OnlyType( SCH_MARKER_T )( aSel ) )
|
||||
return false;
|
||||
|
||||
if( SCH_LINE_WIRE_BUS_TOOL::IsDrawingLineWireOrBus( aSel ) )
|
||||
|
|
|
@ -41,7 +41,6 @@ SELECTION_CONDITION operator||( const SELECTION_CONDITION& aConditionA,
|
|||
SELECTION_CONDITION operator&&( const SELECTION_CONDITION& aConditionA,
|
||||
const SELECTION_CONDITION& aConditionB );
|
||||
|
||||
SELECTION_CONDITION operator!( const SELECTION_CONDITION& aCondition );
|
||||
|
||||
|
||||
/// Signature for a reference to a function that takes a SELECTION and returns
|
||||
|
|
Loading…
Reference in New Issue