Loading pcbnew/tools/drawing_tool.cpp +26 −0 Original line number Original line Diff line number Diff line Loading @@ -197,6 +197,9 @@ int DRAWING_TOOL::DrawArc( TOOL_EVENT& aEvent ) m_view->Add( arc ); m_view->Add( arc ); m_board->Add( arc ); m_board->Add( arc ); arc->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); arc->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); m_frame->OnModify(); m_frame->SaveCopyInUndoList( arc, UR_NEW ); } } else else --step; // one another chance to draw a proper arc --step; // one another chance to draw a proper arc Loading Loading @@ -309,6 +312,10 @@ int DRAWING_TOOL::DrawText( TOOL_EVENT& aEvent ) m_view->Add( text ); m_view->Add( text ); // m_board->Add( text ); // it is already added by CreateTextePcb() // m_board->Add( text ); // it is already added by CreateTextePcb() text->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); text->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); m_frame->OnModify(); m_frame->SaveCopyInUndoList( text, UR_NEW ); break; break; } } Loading Loading @@ -431,6 +438,9 @@ int DRAWING_TOOL::DrawDimension( TOOL_EVENT& aEvent ) m_view->Add( dimension ); m_view->Add( dimension ); m_board->Add( dimension ); m_board->Add( dimension ); dimension->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); dimension->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); m_frame->OnModify(); m_frame->SaveCopyInUndoList( dimension, UR_NEW ); } } } } break; break; Loading Loading @@ -507,6 +517,7 @@ int DRAWING_TOOL::PlaceTarget( TOOL_EVENT& aEvent ) preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); m_controls->SetSnapping( true ); m_controls->SetSnapping( true ); m_controls->SetAutoPan( true ); Activate(); Activate(); Loading Loading @@ -542,6 +553,10 @@ int DRAWING_TOOL::PlaceTarget( TOOL_EVENT& aEvent ) m_view->Add( target ); m_view->Add( target ); m_board->Add( target ); m_board->Add( target ); target->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); target->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); m_frame->OnModify(); m_frame->SaveCopyInUndoList( target, UR_NEW ); break; break; } } Loading Loading @@ -584,6 +599,7 @@ int DRAWING_TOOL::PlaceModule( TOOL_EVENT& aEvent ) preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); m_controls->SetSnapping( true ); m_controls->SetSnapping( true ); m_controls->SetAutoPan( true ); Activate(); Activate(); Loading Loading @@ -617,6 +633,10 @@ int DRAWING_TOOL::PlaceModule( TOOL_EVENT& aEvent ) module->RunOnChildren( std::bind1st( std::mem_fun( &KIGFX::VIEW::Add ), m_view ) ); module->RunOnChildren( std::bind1st( std::mem_fun( &KIGFX::VIEW::Add ), m_view ) ); m_view->Add( module ); m_view->Add( module ); module->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); module->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); m_frame->OnModify(); m_frame->SaveCopyInUndoList( module, UR_NEW ); break; break; } } Loading Loading @@ -748,6 +768,9 @@ int DRAWING_TOOL::drawSegment( int aShape, bool aContinous ) preview.Remove( graphic ); preview.Remove( graphic ); ++addedSegments; ++addedSegments; m_frame->OnModify(); m_frame->SaveCopyInUndoList( graphic, UR_NEW ); if( aContinous ) if( aContinous ) { { graphic = new DRAWSEGMENT( *graphic ); graphic = new DRAWSEGMENT( *graphic ); Loading Loading @@ -902,6 +925,9 @@ int DRAWING_TOOL::drawZone( bool aKeepout ) m_frame->Fill_Zone( zone ); m_frame->Fill_Zone( zone ); zone->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); zone->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); m_frame->OnModify(); m_frame->SaveCopyInUndoList( zone, UR_NEW ); } } else else { { Loading Loading
pcbnew/tools/drawing_tool.cpp +26 −0 Original line number Original line Diff line number Diff line Loading @@ -197,6 +197,9 @@ int DRAWING_TOOL::DrawArc( TOOL_EVENT& aEvent ) m_view->Add( arc ); m_view->Add( arc ); m_board->Add( arc ); m_board->Add( arc ); arc->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); arc->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); m_frame->OnModify(); m_frame->SaveCopyInUndoList( arc, UR_NEW ); } } else else --step; // one another chance to draw a proper arc --step; // one another chance to draw a proper arc Loading Loading @@ -309,6 +312,10 @@ int DRAWING_TOOL::DrawText( TOOL_EVENT& aEvent ) m_view->Add( text ); m_view->Add( text ); // m_board->Add( text ); // it is already added by CreateTextePcb() // m_board->Add( text ); // it is already added by CreateTextePcb() text->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); text->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); m_frame->OnModify(); m_frame->SaveCopyInUndoList( text, UR_NEW ); break; break; } } Loading Loading @@ -431,6 +438,9 @@ int DRAWING_TOOL::DrawDimension( TOOL_EVENT& aEvent ) m_view->Add( dimension ); m_view->Add( dimension ); m_board->Add( dimension ); m_board->Add( dimension ); dimension->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); dimension->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); m_frame->OnModify(); m_frame->SaveCopyInUndoList( dimension, UR_NEW ); } } } } break; break; Loading Loading @@ -507,6 +517,7 @@ int DRAWING_TOOL::PlaceTarget( TOOL_EVENT& aEvent ) preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); m_controls->SetSnapping( true ); m_controls->SetSnapping( true ); m_controls->SetAutoPan( true ); Activate(); Activate(); Loading Loading @@ -542,6 +553,10 @@ int DRAWING_TOOL::PlaceTarget( TOOL_EVENT& aEvent ) m_view->Add( target ); m_view->Add( target ); m_board->Add( target ); m_board->Add( target ); target->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); target->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); m_frame->OnModify(); m_frame->SaveCopyInUndoList( target, UR_NEW ); break; break; } } Loading Loading @@ -584,6 +599,7 @@ int DRAWING_TOOL::PlaceModule( TOOL_EVENT& aEvent ) preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); preview.ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); m_controls->SetSnapping( true ); m_controls->SetSnapping( true ); m_controls->SetAutoPan( true ); Activate(); Activate(); Loading Loading @@ -617,6 +633,10 @@ int DRAWING_TOOL::PlaceModule( TOOL_EVENT& aEvent ) module->RunOnChildren( std::bind1st( std::mem_fun( &KIGFX::VIEW::Add ), m_view ) ); module->RunOnChildren( std::bind1st( std::mem_fun( &KIGFX::VIEW::Add ), m_view ) ); m_view->Add( module ); m_view->Add( module ); module->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); module->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); m_frame->OnModify(); m_frame->SaveCopyInUndoList( module, UR_NEW ); break; break; } } Loading Loading @@ -748,6 +768,9 @@ int DRAWING_TOOL::drawSegment( int aShape, bool aContinous ) preview.Remove( graphic ); preview.Remove( graphic ); ++addedSegments; ++addedSegments; m_frame->OnModify(); m_frame->SaveCopyInUndoList( graphic, UR_NEW ); if( aContinous ) if( aContinous ) { { graphic = new DRAWSEGMENT( *graphic ); graphic = new DRAWSEGMENT( *graphic ); Loading Loading @@ -902,6 +925,9 @@ int DRAWING_TOOL::drawZone( bool aKeepout ) m_frame->Fill_Zone( zone ); m_frame->Fill_Zone( zone ); zone->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); zone->ViewUpdate( KIGFX::VIEW_ITEM::GEOMETRY ); m_frame->OnModify(); m_frame->SaveCopyInUndoList( zone, UR_NEW ); } } else else { { Loading