From 95fd58b25ad876bcf036fbaa20c850d84817b870 Mon Sep 17 00:00:00 2001 From: Maciej Suminski Date: Sun, 2 Feb 2020 19:40:14 +0100 Subject: [PATCH] Properties meta-data for pcbnew classes --- common/eda_shape.cpp | 32 ++++++++++++++++++++++---------- common/eda_text.cpp | 6 +++--- include/property.h | 28 ++++++++++++++-------------- pcbnew/board_item.cpp | 4 ++-- pcbnew/footprint.cpp | 4 ++-- pcbnew/pad.cpp | 20 ++++++++++---------- pcbnew/pcb_dimension.cpp | 4 +--- pcbnew/pcb_shape.cpp | 2 +- pcbnew/pcb_target.cpp | 4 ++-- pcbnew/pcb_track.cpp | 24 ++++++++++++------------ pcbnew/zone.cpp | 8 ++++---- 11 files changed, 73 insertions(+), 63 deletions(-) diff --git a/common/eda_shape.cpp b/common/eda_shape.cpp index 44b5176641..eb8f4bd7fb 100644 --- a/common/eda_shape.cpp +++ b/common/eda_shape.cpp @@ -1620,6 +1620,10 @@ void EDA_SHAPE::TransformShapeWithClearanceToPolygon( SHAPE_POLY_SET& aCornerBuf } +ENUM_TO_WXANY( SHAPE_T ) +ENUM_TO_WXANY( PLOT_DASH_TYPE ) + + static struct EDA_SHAPE_DESC { EDA_SHAPE_DESC() @@ -1641,21 +1645,29 @@ static struct EDA_SHAPE_DESC PROPERTY_MANAGER& propMgr = PROPERTY_MANAGER::Instance(); REGISTER_TYPE( EDA_SHAPE ); - propMgr.AddProperty( new PROPERTY_ENUM( _HKI( "Shape" ), - &EDA_SHAPE::SetShape, &EDA_SHAPE::GetShape ) ); + auto shape = new PROPERTY_ENUM( _HKI( "Shape" ), + NO_SETTER( EDA_SHAPE, SHAPE_T ), &EDA_SHAPE::GetShape ); + propMgr.AddProperty( shape ); propMgr.AddProperty( new PROPERTY( _HKI( "Start X" ), - &EDA_SHAPE::SetStartX, &EDA_SHAPE::GetStartX ) ); + &EDA_SHAPE::SetStartX, &EDA_SHAPE::GetStartX, PROPERTY_DISPLAY::COORD ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Start Y" ), - &EDA_SHAPE::SetStartY, &EDA_SHAPE::GetStartY ) ); + &EDA_SHAPE::SetStartY, &EDA_SHAPE::GetStartY, PROPERTY_DISPLAY::COORD ) ); propMgr.AddProperty( new PROPERTY( _HKI( "End X" ), - &EDA_SHAPE::SetEndX, &EDA_SHAPE::GetEndX ) ); + &EDA_SHAPE::SetEndX, &EDA_SHAPE::GetEndX, PROPERTY_DISPLAY::COORD ) ); propMgr.AddProperty( new PROPERTY( _HKI( "End Y" ), - &EDA_SHAPE::SetEndY, &EDA_SHAPE::GetEndY ) ); + &EDA_SHAPE::SetEndY, &EDA_SHAPE::GetEndY, PROPERTY_DISPLAY::COORD ) ); // TODO: m_arcCenter, m_bezierC1, m_bezierC2, m_poly propMgr.AddProperty( new PROPERTY( _HKI( "Line Width" ), - &EDA_SHAPE::SetWidth, &EDA_SHAPE::GetWidth ) ); + &EDA_SHAPE::SetWidth, &EDA_SHAPE::GetWidth, PROPERTY_DISPLAY::SIZE ) ); + + auto angle = new PROPERTY( _HKI( "Angle" ), + NO_SETTER( EDA_SHAPE, EDA_ANGLE ), &EDA_SHAPE::GetArcAngle, + PROPERTY_DISPLAY::DECIDEGREE ); + angle->SetAvailableFunc( + [=]( INSPECTABLE* aItem ) -> bool + { + return aItem->Get( shape ).As() == SHAPE_T::ARC; + } ); + propMgr.AddProperty( angle ); } } _EDA_SHAPE_DESC; - -ENUM_TO_WXANY( SHAPE_T ) -ENUM_TO_WXANY( PLOT_DASH_TYPE ) diff --git a/common/eda_text.cpp b/common/eda_text.cpp index 6f5f06b433..8a1a36c3c2 100644 --- a/common/eda_text.cpp +++ b/common/eda_text.cpp @@ -995,7 +995,7 @@ static struct EDA_TEXT_DESC propMgr.AddProperty( new PROPERTY( _HKI( "Thickness" ), &EDA_TEXT::SetTextThickness, &EDA_TEXT::GetTextThickness, - PROPERTY_DISPLAY::DISTANCE ) ); + PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Italic" ), &EDA_TEXT::SetItalic, &EDA_TEXT::IsItalic ) ); @@ -1010,11 +1010,11 @@ static struct EDA_TEXT_DESC propMgr.AddProperty( new PROPERTY( _HKI( "Width" ), &EDA_TEXT::SetTextWidth, &EDA_TEXT::GetTextWidth, - PROPERTY_DISPLAY::DISTANCE ) ); + PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Height" ), &EDA_TEXT::SetTextHeight, &EDA_TEXT::GetTextHeight, - PROPERTY_DISPLAY::DISTANCE ) ); + PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY_ENUM( _HKI( "Horizontal Justification" ), &EDA_TEXT::SetHorizJustify, diff --git a/include/property.h b/include/property.h index a1a843f8c3..3964de90aa 100644 --- a/include/property.h +++ b/include/property.h @@ -177,9 +177,9 @@ private: public: PROPERTY_BASE( const wxString& aName, PROPERTY_DISPLAY aDisplay = DEFAULT ) : - m_id( nextId ), + m_id( 0 ), m_name( aName ), - m_type( aType ), + m_display( aDisplay ), m_availFunc( [](INSPECTABLE*)->bool { return true; } ) { } @@ -253,9 +253,9 @@ public: virtual bool IsReadOnly() const = 0; - PROPERTY_TYPE Type() const + PROPERTY_DISPLAY Display() const { - return m_type; + return m_display; } protected: @@ -301,18 +301,18 @@ public: template PROPERTY( const wxString& aName, void ( Base::*aSetter )( SetType ), GetType( Base::*aGetter )(), - PROPERTY_TYPE aType = DEFAULT ) + PROPERTY_DISPLAY aDisplay = DEFAULT ) : PROPERTY( aName, METHOD::Wrap( aSetter ), - METHOD::Wrap( aGetter ), aType ) + METHOD::Wrap( aGetter ), aDisplay ) { } template PROPERTY( const wxString& aName, void ( Base::*aSetter )( SetType ), GetType( Base::*aGetter )() const, - PROPERTY_TYPE aType = DEFAULT ) + PROPERTY_DISPLAY aDisplay = DEFAULT ) : PROPERTY( aName, METHOD::Wrap( aSetter ), - METHOD::Wrap( aGetter ), aType ) + METHOD::Wrap( aGetter ), aDisplay ) { } @@ -338,8 +338,8 @@ public: protected: PROPERTY( const wxString& aName, SETTER_BASE* s, GETTER_BASE* g, - PROPERTY_TYPE aType ) - : PROPERTY_BASE( aName, aType ), m_setter( s ), m_getter( g ), + PROPERTY_DISPLAY aDisplay ) + : PROPERTY_BASE( aName, aDisplay ), m_setter( s ), m_getter( g ), m_ownerHash( TYPE_HASH( Owner ) ), m_baseHash( TYPE_HASH( Base ) ), m_typeHash( TYPE_HASH( BASE_TYPE ) ) { @@ -390,9 +390,9 @@ public: template PROPERTY_ENUM( const wxString& aName, void ( Base::*aSetter )( SetType ), GetType( Base::*aGetter )(), - PROPERTY_TYPE aType = PROPERTY_TYPE::DEFAULT ) + PROPERTY_DISPLAY aDisplay = DEFAULT ) : PROPERTY( aName, METHOD::Wrap( aSetter ), - METHOD::Wrap( aGetter ), aType ) + METHOD::Wrap( aGetter ), aDisplay ) { if ( std::is_enum::value ) { @@ -404,9 +404,9 @@ public: template PROPERTY_ENUM( const wxString& aName, void ( Base::*aSetter )( SetType ), GetType( Base::*aGetter )() const, - PROPERTY_TYPE aType = PROPERTY_TYPE::DEFAULT ) + PROPERTY_DISPLAY aDisplay = DEFAULT ) : PROPERTY( aName, METHOD::Wrap( aSetter ), - METHOD::Wrap( aGetter ), aType ) + METHOD::Wrap( aGetter ), aDisplay ) { if ( std::is_enum::value ) { diff --git a/pcbnew/board_item.cpp b/pcbnew/board_item.cpp index 2ab0739e39..3d01534955 100644 --- a/pcbnew/board_item.cpp +++ b/pcbnew/board_item.cpp @@ -256,9 +256,9 @@ static struct BOARD_ITEM_DESC propMgr.InheritsAfter( TYPE_HASH( BOARD_ITEM ), TYPE_HASH( EDA_ITEM ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Position X" ), - &BOARD_ITEM::SetX, &BOARD_ITEM::GetX, PROPERTY_TYPE::COORD ) ); + &BOARD_ITEM::SetX, &BOARD_ITEM::GetX, PROPERTY_DISPLAY::COORD ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Position Y" ), - &BOARD_ITEM::SetY, &BOARD_ITEM::GetY, PROPERTY_TYPE::COORD ) ); + &BOARD_ITEM::SetY, &BOARD_ITEM::GetY, PROPERTY_DISPLAY::COORD ) ); propMgr.AddProperty( new PROPERTY_ENUM( _HKI( "Layer" ), &BOARD_ITEM::SetLayer, &BOARD_ITEM::GetLayer ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Locked" ), diff --git a/pcbnew/footprint.cpp b/pcbnew/footprint.cpp index e5529a4d7e..c915bf6d4c 100644 --- a/pcbnew/footprint.cpp +++ b/pcbnew/footprint.cpp @@ -2821,10 +2821,10 @@ static struct FOOTPRINT_DESC PROPERTY_DISPLAY::DEGREE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Clearance Override" ), &FOOTPRINT::SetLocalClearance, &FOOTPRINT::GetLocalClearance, - PROPERTY_DISPLAY::DISTANCE ) ); + PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Solderpaste Margin Override" ), &FOOTPRINT::SetLocalSolderPasteMargin, &FOOTPRINT::GetLocalSolderPasteMargin, - PROPERTY_DISPLAY::DISTANCE ) ); + PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Solderpaste Margin Ratio Override" ), &FOOTPRINT::SetLocalSolderPasteMarginRatio, &FOOTPRINT::GetLocalSolderPasteMarginRatio ) ); diff --git a/pcbnew/pad.cpp b/pcbnew/pad.cpp index e28286b938..b4c6cd6119 100644 --- a/pcbnew/pad.cpp +++ b/pcbnew/pad.cpp @@ -1702,36 +1702,36 @@ static struct PAD_DESC PROPERTY_DISPLAY::DEGREE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Size X" ), &PAD::SetSizeX, &PAD::GetSizeX, - PROPERTY_DISPLAY::DISTANCE ) ); + PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Size Y" ), &PAD::SetSizeY, &PAD::GetSizeY, - PROPERTY_DISPLAY::DISTANCE ) ); + PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Hole Size X" ), &PAD::SetDrillSizeX, &PAD::GetDrillSizeX, - PROPERTY_DISPLAY::DISTANCE ) ); + PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Hole Size Y" ), &PAD::SetDrillSizeY, &PAD::GetDrillSizeY, - PROPERTY_DISPLAY::DISTANCE ) ); + PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Pad To Die Length" ), &PAD::SetPadToDieLength, &PAD::GetPadToDieLength, - PROPERTY_DISPLAY::DISTANCE ) ); + PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Soldermask Margin Override" ), &PAD::SetLocalSolderMaskMargin, &PAD::GetLocalSolderMaskMargin, - PROPERTY_DISPLAY::DISTANCE ) ); + PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Solderpaste Margin Override" ), &PAD::SetLocalSolderPasteMargin, &PAD::GetLocalSolderPasteMargin, - PROPERTY_DISPLAY::DISTANCE ) ); + PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Solderpaste Margin Ratio Override" ), &PAD::SetLocalSolderPasteMarginRatio, &PAD::GetLocalSolderPasteMarginRatio ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Thermal Relief Spoke Width" ), &PAD::SetThermalSpokeWidth, &PAD::GetThermalSpokeWidth, - PROPERTY_DISPLAY::DISTANCE ) ); + PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Thermal Relief Spoke Angle" ), &PAD::SetThermalSpokeAngleDegrees, &PAD::GetThermalSpokeAngleDegrees, PROPERTY_DISPLAY::DEGREE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Thermal Relief Gap" ), &PAD::SetThermalGap, &PAD::GetThermalGap, - PROPERTY_DISPLAY::DISTANCE ) ); + PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY_ENUM( _HKI( "Fabrication Property" ), &PAD::SetProperty, &PAD::GetProperty ) ); @@ -1746,7 +1746,7 @@ static struct PAD_DESC propMgr.AddProperty( new PROPERTY( _HKI( "Clearance Override" ), &PAD::SetLocalClearance, &PAD::GetLocalClearance, - PROPERTY_DISPLAY::DISTANCE ) ); + PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Parent" ), NO_SETTER( PAD, wxString ), &PAD::GetParentAsString ) ); diff --git a/pcbnew/pcb_dimension.cpp b/pcbnew/pcb_dimension.cpp index c048e91a90..af3112ff3f 100644 --- a/pcbnew/pcb_dimension.cpp +++ b/pcbnew/pcb_dimension.cpp @@ -1308,8 +1308,6 @@ static struct DIMENSION_DESC propMgr.InheritsAfter( TYPE_HASH( PCB_DIMENSION_BASE ), TYPE_HASH( BOARD_ITEM ) ); // TODO: add dimension properties: //propMgr.AddProperty( new PROPERTY( _HKI( "Height" ), - //&DIMENSION::SetHeight, &DIMENSION::GetHeight, PROPERTY_DISPLAY::DISTANCE ) ); + //&DIMENSION::SetHeight, &DIMENSION::GetHeight, PROPERTY_DISPLAY::SIZE ) ); } } _DIMENSION_DESC; - - diff --git a/pcbnew/pcb_shape.cpp b/pcbnew/pcb_shape.cpp index c280e35129..5dbe2b203f 100644 --- a/pcbnew/pcb_shape.cpp +++ b/pcbnew/pcb_shape.cpp @@ -318,7 +318,7 @@ static struct PCB_SHAPE_DESC REGISTER_TYPE( PCB_SHAPE ); propMgr.AddTypeCast( new TYPE_CAST ); propMgr.AddTypeCast( new TYPE_CAST ); - propMgr.InheritsAfter( TYPE_HASH( PCB_SHAPE ), TYPE_HASH( BOARD_ITEM ) ); propMgr.InheritsAfter( TYPE_HASH( PCB_SHAPE ), TYPE_HASH( EDA_SHAPE ) ); } } _PCB_SHAPE_DESC; + diff --git a/pcbnew/pcb_target.cpp b/pcbnew/pcb_target.cpp index afa77abfe8..cde7fc2e72 100644 --- a/pcbnew/pcb_target.cpp +++ b/pcbnew/pcb_target.cpp @@ -200,9 +200,9 @@ static struct PCB_TARGET_DESC REGISTER_TYPE( PCB_TARGET ); propMgr.InheritsAfter( TYPE_HASH( PCB_TARGET ), TYPE_HASH( BOARD_ITEM ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Size" ), - &PCB_TARGET::SetSize, &PCB_TARGET::GetSize, PROPERTY_TYPE::SIZE ) ); + &PCB_TARGET::SetSize, &PCB_TARGET::GetSize, PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Width" ), - &PCB_TARGET::SetWidth, &PCB_TARGET::GetWidth, PROPERTY_TYPE::SIZE ) ); + &PCB_TARGET::SetWidth, &PCB_TARGET::GetWidth, PROPERTY_DISPLAY::SIZE ) ); auto shape = new PROPERTY( _HKI( "Shape" ), &PCB_TARGET::SetShape, &PCB_TARGET::GetShape ); diff --git a/pcbnew/pcb_track.cpp b/pcbnew/pcb_track.cpp index 43eb648ea4..8889983b51 100644 --- a/pcbnew/pcb_track.cpp +++ b/pcbnew/pcb_track.cpp @@ -1242,34 +1242,34 @@ static struct TRACK_VIA_DESC propMgr.InheritsAfter( TYPE_HASH( PCB_TRACK ), TYPE_HASH( BOARD_CONNECTED_ITEM ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Width" ), - &PCB_TRACK::SetWidth, &PCB_TRACK::GetWidth, PROPERTY_DISPLAY::DISTANCE ) ); + &PCB_TRACK::SetWidth, &PCB_TRACK::GetWidth, PROPERTY_DISPLAY::SIZE ) ); propMgr.ReplaceProperty( TYPE_HASH( BOARD_ITEM ), _HKI( "Position X" ), new PROPERTY( _HKI( "Origin X" ), - &PCB_TRACK::SetX, &PCB_TRACK::GetX, PROPERTY_DISPLAY::DISTANCE ) ); + &PCB_TRACK::SetX, &PCB_TRACK::GetX, PROPERTY_DISPLAY::SIZE ) ); propMgr.ReplaceProperty( TYPE_HASH( BOARD_ITEM ), _HKI( "Position Y" ), new PROPERTY( _HKI( "Origin Y" ), - &PCB_TRACK::SetY, &PCB_TRACK::GetY, PROPERTY_DISPLAY::DISTANCE ) ); + &PCB_TRACK::SetY, &PCB_TRACK::GetY, PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "End X" ), - &PCB_TRACK::SetEndX, &PCB_TRACK::GetEndX, PROPERTY_DISPLAY::DISTANCE ) ); + &PCB_TRACK::SetEndX, &PCB_TRACK::GetEndX, PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "End Y" ), - &PCB_TRACK::SetEndY, &PCB_TRACK::GetEndY, PROPERTY_DISPLAY::DISTANCE ) ); + &PCB_TRACK::SetEndY, &PCB_TRACK::GetEndY, PROPERTY_DISPLAY::SIZE ) ); // Arc REGISTER_TYPE( PCB_ARC ); propMgr.InheritsAfter( TYPE_HASH( PCB_ARC ), TYPE_HASH( BOARD_CONNECTED_ITEM ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Width" ), - &PCB_ARC::SetWidth, &PCB_ARC::GetWidth, PROPERTY_DISPLAY::DISTANCE ) ); + &PCB_ARC::SetWidth, &PCB_ARC::GetWidth, PROPERTY_DISPLAY::SIZE ) ); propMgr.ReplaceProperty( TYPE_HASH( BOARD_ITEM ), _HKI( "Position X" ), new PROPERTY( _HKI( "Origin X" ), - &PCB_TRACK::SetX, &PCB_ARC::GetX, PROPERTY_DISPLAY::DISTANCE ) ); + &PCB_TRACK::SetX, &PCB_ARC::GetX, PROPERTY_DISPLAY::SIZE ) ); propMgr.ReplaceProperty( TYPE_HASH( BOARD_ITEM ), _HKI( "Position Y" ), new PROPERTY( _HKI( "Origin Y" ), - &PCB_TRACK::SetY, &PCB_ARC::GetY, PROPERTY_DISPLAY::DISTANCE ) ); + &PCB_TRACK::SetY, &PCB_ARC::GetY, PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "End X" ), - &PCB_TRACK::SetEndX, &PCB_ARC::GetEndX, PROPERTY_DISPLAY::DISTANCE ) ); + &PCB_TRACK::SetEndX, &PCB_ARC::GetEndX, PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "End Y" ), - &PCB_TRACK::SetEndY, &PCB_ARC::GetEndY, PROPERTY_DISPLAY::DISTANCE ) ); + &PCB_TRACK::SetEndY, &PCB_ARC::GetEndY, PROPERTY_DISPLAY::SIZE ) ); // Via REGISTER_TYPE( PCB_VIA ); @@ -1279,9 +1279,9 @@ static struct TRACK_VIA_DESC // TODO test drill, use getdrillvalue? propMgr.ReplaceProperty( TYPE_HASH( PCB_TRACK ), _HKI( "Width" ), new PROPERTY( _HKI( "Diameter" ), - &PCB_VIA::SetWidth, &PCB_VIA::GetWidth, PROPERTY_DISPLAY::DISTANCE ) ); + &PCB_VIA::SetWidth, &PCB_VIA::GetWidth, PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Hole" ), - &PCB_VIA::SetDrill, &PCB_VIA::GetDrillValue, PROPERTY_DISPLAY::DISTANCE ) ); + &PCB_VIA::SetDrill, &PCB_VIA::GetDrillValue, PROPERTY_DISPLAY::SIZE ) ); propMgr.ReplaceProperty( TYPE_HASH( BOARD_ITEM ), _HKI( "Layer" ), new PROPERTY_ENUM( _HKI( "Layer Top" ), &PCB_VIA::SetLayer, &PCB_VIA::GetLayer ) ); diff --git a/pcbnew/zone.cpp b/pcbnew/zone.cpp index 1eb510c838..2799c41fbc 100644 --- a/pcbnew/zone.cpp +++ b/pcbnew/zone.cpp @@ -1299,18 +1299,18 @@ static struct ZONE_DESC &ZONE::SetZoneName, &ZONE::GetZoneName ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Clearance Override" ), &ZONE::SetLocalClearance, &ZONE::GetLocalClearance, - PROPERTY_DISPLAY::DISTANCE ) ); + PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Min Width" ), &ZONE::SetMinThickness, &ZONE::GetMinThickness, - PROPERTY_DISPLAY::DISTANCE ) ); + PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY_ENUM( _HKI( "Pad Connections" ), &ZONE::SetPadConnection, &ZONE::GetPadConnection ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Thermal Relief Gap" ), &ZONE::SetThermalReliefGap, &ZONE::GetThermalReliefGap, - PROPERTY_DISPLAY::DISTANCE ) ); + PROPERTY_DISPLAY::SIZE ) ); propMgr.AddProperty( new PROPERTY( _HKI( "Thermal Relief Spoke Width" ), &ZONE::SetThermalReliefSpokeWidth, &ZONE::GetThermalReliefSpokeWidth, - PROPERTY_DISPLAY::DISTANCE ) ); + PROPERTY_DISPLAY::SIZE ) ); } } _ZONE_DESC;