|
|
|
@ -1687,21 +1687,36 @@ static struct EDA_SHAPE_DESC |
|
|
|
|
|
|
|
PROPERTY_MANAGER& propMgr = PROPERTY_MANAGER::Instance(); |
|
|
|
REGISTER_TYPE( EDA_SHAPE ); |
|
|
|
|
|
|
|
auto isNotPolygon = |
|
|
|
[]( INSPECTABLE* aItem ) -> bool |
|
|
|
{ |
|
|
|
// Polygons, unlike other shapes, have no meaningful start or end coordinates
|
|
|
|
if( EDA_SHAPE* shape = dynamic_cast<EDA_SHAPE*>( aItem ) ) |
|
|
|
return shape->GetShape() != SHAPE_T::POLY; |
|
|
|
|
|
|
|
return false; |
|
|
|
}; |
|
|
|
|
|
|
|
auto shape = new PROPERTY_ENUM<EDA_SHAPE, SHAPE_T>( _HKI( "Shape" ), |
|
|
|
NO_SETTER( EDA_SHAPE, SHAPE_T ), &EDA_SHAPE::GetShape ); |
|
|
|
propMgr.AddProperty( shape ); |
|
|
|
propMgr.AddProperty( new PROPERTY<EDA_SHAPE, int>( _HKI( "Start X" ), |
|
|
|
&EDA_SHAPE::SetStartX, &EDA_SHAPE::GetStartX, PROPERTY_DISPLAY::PT_COORD, |
|
|
|
ORIGIN_TRANSFORMS::ABS_X_COORD ) ); |
|
|
|
ORIGIN_TRANSFORMS::ABS_X_COORD ) ) |
|
|
|
.SetAvailableFunc( isNotPolygon ); |
|
|
|
propMgr.AddProperty( new PROPERTY<EDA_SHAPE, int>( _HKI( "Start Y" ), |
|
|
|
&EDA_SHAPE::SetStartY, &EDA_SHAPE::GetStartY, PROPERTY_DISPLAY::PT_COORD, |
|
|
|
ORIGIN_TRANSFORMS::ABS_Y_COORD ) ); |
|
|
|
ORIGIN_TRANSFORMS::ABS_Y_COORD ) ) |
|
|
|
.SetAvailableFunc( isNotPolygon ); |
|
|
|
propMgr.AddProperty( new PROPERTY<EDA_SHAPE, int>( _HKI( "End X" ), |
|
|
|
&EDA_SHAPE::SetEndX, &EDA_SHAPE::GetEndX, PROPERTY_DISPLAY::PT_COORD, |
|
|
|
ORIGIN_TRANSFORMS::ABS_X_COORD ) ); |
|
|
|
ORIGIN_TRANSFORMS::ABS_X_COORD ) ) |
|
|
|
.SetAvailableFunc( isNotPolygon ); |
|
|
|
propMgr.AddProperty( new PROPERTY<EDA_SHAPE, int>( _HKI( "End Y" ), |
|
|
|
&EDA_SHAPE::SetEndY, &EDA_SHAPE::GetEndY, PROPERTY_DISPLAY::PT_COORD, |
|
|
|
ORIGIN_TRANSFORMS::ABS_Y_COORD ) ); |
|
|
|
ORIGIN_TRANSFORMS::ABS_Y_COORD ) ) |
|
|
|
.SetAvailableFunc( isNotPolygon ); |
|
|
|
// TODO: m_arcCenter, m_bezierC1, m_bezierC2, m_poly
|
|
|
|
propMgr.AddProperty( new PROPERTY<EDA_SHAPE, int>( _HKI( "Line Width" ), |
|
|
|
&EDA_SHAPE::SetWidth, &EDA_SHAPE::GetWidth, PROPERTY_DISPLAY::PT_SIZE ) ); |
|
|
|
|