Commit 69c73b0e authored by Maciej Suminski's avatar Maciej Suminski

Updated POINT_EDITOR to handle module edges.

parent 26323007
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
#include "point_editor.h" #include "point_editor.h"
#include <wxPcbStruct.h> #include <wxPcbStruct.h>
#include <class_drawsegment.h> #include <class_edge_mod.h>
#include <class_dimension.h> #include <class_dimension.h>
#include <class_zone.h> #include <class_zone.h>
#include <class_board.h> #include <class_board.h>
...@@ -77,6 +77,7 @@ public: ...@@ -77,6 +77,7 @@ public:
switch( aItem->Type() ) switch( aItem->Type() )
{ {
case PCB_LINE_T: case PCB_LINE_T:
case PCB_MODULE_EDGE_T:
{ {
const DRAWSEGMENT* segment = static_cast<const DRAWSEGMENT*>( aItem ); const DRAWSEGMENT* segment = static_cast<const DRAWSEGMENT*>( aItem );
...@@ -354,6 +355,7 @@ void POINT_EDITOR::updateItem() const ...@@ -354,6 +355,7 @@ void POINT_EDITOR::updateItem() const
switch( item->Type() ) switch( item->Type() )
{ {
case PCB_LINE_T: case PCB_LINE_T:
case PCB_MODULE_EDGE_T:
{ {
DRAWSEGMENT* segment = static_cast<DRAWSEGMENT*>( item ); DRAWSEGMENT* segment = static_cast<DRAWSEGMENT*>( item );
switch( segment->GetShape() ) switch( segment->GetShape() )
...@@ -428,6 +430,10 @@ void POINT_EDITOR::updateItem() const ...@@ -428,6 +430,10 @@ void POINT_EDITOR::updateItem() const
break; break;
} }
// Update relative coordinates for module edges
if( EDGE_MODULE* edge = dyn_cast<EDGE_MODULE*>( item ) )
edge->SetLocalCoord();
break; break;
} }
...@@ -521,6 +527,7 @@ void POINT_EDITOR::updatePoints() const ...@@ -521,6 +527,7 @@ void POINT_EDITOR::updatePoints() const
switch( item->Type() ) switch( item->Type() )
{ {
case PCB_LINE_T: case PCB_LINE_T:
case PCB_MODULE_EDGE_T:
{ {
const DRAWSEGMENT* segment = static_cast<const DRAWSEGMENT*>( item ); const DRAWSEGMENT* segment = static_cast<const DRAWSEGMENT*>( item );
{ {
...@@ -610,6 +617,7 @@ EDIT_POINT POINT_EDITOR::get45DegConstrainer() const ...@@ -610,6 +617,7 @@ EDIT_POINT POINT_EDITOR::get45DegConstrainer() const
switch( item->Type() ) switch( item->Type() )
{ {
case PCB_LINE_T: case PCB_LINE_T:
case PCB_MODULE_EDGE_T:
{ {
const DRAWSEGMENT* segment = static_cast<const DRAWSEGMENT*>( item ); const DRAWSEGMENT* segment = static_cast<const DRAWSEGMENT*>( item );
{ {
...@@ -700,7 +708,7 @@ void POINT_EDITOR::breakOutline( const VECTOR2I& aBreakPoint ) ...@@ -700,7 +708,7 @@ void POINT_EDITOR::breakOutline( const VECTOR2I& aBreakPoint )
outline->InsertCorner( nearestIdx, nearestPoint.x, nearestPoint.y ); outline->InsertCorner( nearestIdx, nearestPoint.x, nearestPoint.y );
} }
else if( item->Type() == PCB_LINE_T ) else if( item->Type() == PCB_LINE_T || item->Type() == PCB_MODULE_EDGE_T )
{ {
getEditFrame<PCB_BASE_FRAME>()->OnModify(); getEditFrame<PCB_BASE_FRAME>()->OnModify();
getEditFrame<PCB_BASE_FRAME>()->SaveCopyInUndoList( selection.items, UR_CHANGED ); getEditFrame<PCB_BASE_FRAME>()->SaveCopyInUndoList( selection.items, UR_CHANGED );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment