Added selection box for DIMENSION.
This commit is contained in:
parent
fb9a4c2bfc
commit
01d4080e47
|
@ -489,6 +489,18 @@ wxString DIMENSION::GetSelectMenuText() const
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void DIMENSION::ViewGetLayers( int aLayers[], int& aCount ) const
|
||||||
|
{
|
||||||
|
// Layer that simply displays the text
|
||||||
|
aLayers[0] = m_Layer;
|
||||||
|
|
||||||
|
// On the general purpose overlay there is a selection box displayed
|
||||||
|
aLayers[1] = ITEM_GAL_LAYER( GP_OVERLAY );
|
||||||
|
|
||||||
|
aCount = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
EDA_ITEM* DIMENSION::Clone() const
|
EDA_ITEM* DIMENSION::Clone() const
|
||||||
{
|
{
|
||||||
return new DIMENSION( *this );
|
return new DIMENSION( *this );
|
||||||
|
|
|
@ -144,6 +144,9 @@ public:
|
||||||
|
|
||||||
EDA_ITEM* Clone() const;
|
EDA_ITEM* Clone() const;
|
||||||
|
|
||||||
|
/// @copydoc VIEW_ITEM::ViewGetLayers()
|
||||||
|
virtual void ViewGetLayers( int aLayers[], int& aCount ) const;
|
||||||
|
|
||||||
#if defined(DEBUG)
|
#if defined(DEBUG)
|
||||||
virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); } // override
|
virtual void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); } // override
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -236,7 +236,7 @@ bool PCB_PAINTER::Draw( const VIEW_ITEM* aItem, int aLayer )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PCB_DIMENSION_T:
|
case PCB_DIMENSION_T:
|
||||||
draw( (DIMENSION*) aItem );
|
draw( (DIMENSION*) aItem, aLayer );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PCB_TARGET_T:
|
case PCB_TARGET_T:
|
||||||
|
@ -784,29 +784,37 @@ void PCB_PAINTER::draw( const ZONE_CONTAINER* aZone )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void PCB_PAINTER::draw( const DIMENSION* aDimension )
|
void PCB_PAINTER::draw( const DIMENSION* aDimension, int aLayer )
|
||||||
{
|
{
|
||||||
int layer = aDimension->GetLayer();
|
if( aLayer == ITEM_GAL_LAYER( GP_OVERLAY ) )
|
||||||
COLOR4D strokeColor = GetColor( NULL, layer );
|
{
|
||||||
|
if( aDimension->IsSelected() )
|
||||||
|
drawSelectionBox( aDimension );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int layer = aDimension->GetLayer();
|
||||||
|
COLOR4D strokeColor = GetColor( NULL, layer );
|
||||||
|
|
||||||
m_gal->SetStrokeColor( strokeColor );
|
m_gal->SetStrokeColor( strokeColor );
|
||||||
m_gal->SetIsFill( false );
|
m_gal->SetIsFill( false );
|
||||||
m_gal->SetIsStroke( true );
|
m_gal->SetIsStroke( true );
|
||||||
m_gal->SetLineWidth( aDimension->GetWidth() );
|
m_gal->SetLineWidth( aDimension->GetWidth() );
|
||||||
|
|
||||||
// Draw an arrow
|
// Draw an arrow
|
||||||
m_gal->DrawLine( VECTOR2D( aDimension->m_crossBarO ), VECTOR2D( aDimension->m_crossBarF ) );
|
m_gal->DrawLine( VECTOR2D( aDimension->m_crossBarO ), VECTOR2D( aDimension->m_crossBarF ) );
|
||||||
m_gal->DrawLine( VECTOR2D( aDimension->m_featureLineGO ),
|
m_gal->DrawLine( VECTOR2D( aDimension->m_featureLineGO ),
|
||||||
VECTOR2D( aDimension->m_featureLineGF ) );
|
VECTOR2D( aDimension->m_featureLineGF ) );
|
||||||
m_gal->DrawLine( VECTOR2D( aDimension->m_featureLineDO ),
|
m_gal->DrawLine( VECTOR2D( aDimension->m_featureLineDO ),
|
||||||
VECTOR2D( aDimension->m_featureLineDF ) );
|
VECTOR2D( aDimension->m_featureLineDF ) );
|
||||||
m_gal->DrawLine( VECTOR2D( aDimension->m_arrowD1O ), VECTOR2D( aDimension->m_arrowD1F ) );
|
m_gal->DrawLine( VECTOR2D( aDimension->m_arrowD1O ), VECTOR2D( aDimension->m_arrowD1F ) );
|
||||||
m_gal->DrawLine( VECTOR2D( aDimension->m_arrowD2O ), VECTOR2D( aDimension->m_arrowD2F ) );
|
m_gal->DrawLine( VECTOR2D( aDimension->m_arrowD2O ), VECTOR2D( aDimension->m_arrowD2F ) );
|
||||||
m_gal->DrawLine( VECTOR2D( aDimension->m_arrowG1O ), VECTOR2D( aDimension->m_arrowG1F ) );
|
m_gal->DrawLine( VECTOR2D( aDimension->m_arrowG1O ), VECTOR2D( aDimension->m_arrowG1F ) );
|
||||||
m_gal->DrawLine( VECTOR2D( aDimension->m_arrowG2O ), VECTOR2D( aDimension->m_arrowG2F ) );
|
m_gal->DrawLine( VECTOR2D( aDimension->m_arrowG2O ), VECTOR2D( aDimension->m_arrowG2F ) );
|
||||||
|
|
||||||
// Draw text
|
// Draw text
|
||||||
draw( &aDimension->Text(), layer );
|
draw( &aDimension->Text(), layer );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -145,7 +145,7 @@ protected:
|
||||||
void draw( const TEXTE_PCB*, int );
|
void draw( const TEXTE_PCB*, int );
|
||||||
void draw( const TEXTE_MODULE*, int );
|
void draw( const TEXTE_MODULE*, int );
|
||||||
void draw( const ZONE_CONTAINER* );
|
void draw( const ZONE_CONTAINER* );
|
||||||
void draw( const DIMENSION* );
|
void draw( const DIMENSION*, int );
|
||||||
void draw( const PCB_TARGET* );
|
void draw( const PCB_TARGET* );
|
||||||
|
|
||||||
/// Draws a white semitransparent box indicating an item as selected
|
/// Draws a white semitransparent box indicating an item as selected
|
||||||
|
|
Loading…
Reference in New Issue