POINT_EDITOR: migrate to ZONE_FILLER class

This commit is contained in:
Tomasz Włostowski 2017-11-30 17:21:51 +01:00
parent 83b020d4da
commit 56336fdafe
2 changed files with 10 additions and 9 deletions

View File

@ -45,6 +45,8 @@ using namespace std::placeholders;
#include <class_module.h>
#include <connectivity_data.h>
#include "zone_filler.h"
// Point editor
TOOL_ACTION PCB_ACTIONS::pointEditorAddCorner( "pcbnew.PointEditor.addCorner",
AS_GLOBAL, 0,
@ -215,7 +217,7 @@ private:
POINT_EDITOR::POINT_EDITOR() :
TOOL_INTERACTIVE( "pcbnew.PointEditor" ), m_selectionTool( NULL ), m_editedPoint( NULL ),
PCB_TOOL( "pcbnew.PointEditor" ), m_selectionTool( NULL ), m_editedPoint( NULL ),
m_original( VECTOR2I( 0, 0 ) ), m_altConstrainer( VECTOR2I( 0, 0 ) )
{
}
@ -559,21 +561,20 @@ void POINT_EDITOR::updateItem() const
}
void POINT_EDITOR::finishItem() const
void POINT_EDITOR::finishItem()
{
EDA_ITEM* item = m_editPoints->GetParent();
auto item = m_editPoints->GetParent();
if( !item )
return;
if( item->Type() == PCB_ZONE_AREA_T )
{
ZONE_CONTAINER* zone = static_cast<ZONE_CONTAINER*>( item );
auto zone = static_cast<ZONE_CONTAINER*>( item );
if( zone->IsFilled() )
{
getEditFrame<PCB_EDIT_FRAME>()->Fill_Zone( zone );
// zone->GetBoard()->GetRatsnest()->Recalculate( zone->GetNetCode() );
ZONE_FILLER filler( board() );
filler.Fill( { zone } );
}
}
}

View File

@ -38,7 +38,7 @@ class SELECTION_TOOL;
*
* Tool that displays edit points allowing to modify items by dragging the points.
*/
class POINT_EDITOR : public TOOL_INTERACTIVE
class POINT_EDITOR : public PCB_TOOL
{
public:
POINT_EDITOR();
@ -82,7 +82,7 @@ private:
void updateItem() const;
///> Applies the last changes to the edited item.
void finishItem() const;
void finishItem();
///> Updates edit points with item's points.
void updatePoints();