diff --git a/common/drawing_sheet/ds_draw_item.cpp b/common/drawing_sheet/ds_draw_item.cpp index 1f6fb53799..700011b62a 100644 --- a/common/drawing_sheet/ds_draw_item.cpp +++ b/common/drawing_sheet/ds_draw_item.cpp @@ -199,6 +199,9 @@ const BOX2I DS_DRAW_ITEM_TEXT::GetApproxBBox() case GR_TEXT_H_ALIGN_LEFT: break; case GR_TEXT_H_ALIGN_CENTER: bbox.Offset( -bbox.GetWidth() / 2, 0 ); break; case GR_TEXT_H_ALIGN_RIGHT: bbox.Offset( -bbox.GetWidth(), 0 ); break; + case GR_TEXT_H_ALIGN_INDETERMINATE: + wxFAIL_MSG( wxT( "Indeterminate state legal only in dialogs." ) ); + break; } switch( GetAttributes().m_Valign ) @@ -206,6 +209,9 @@ const BOX2I DS_DRAW_ITEM_TEXT::GetApproxBBox() case GR_TEXT_V_ALIGN_TOP: break; case GR_TEXT_V_ALIGN_CENTER: bbox.Offset( 0, -bbox.GetHeight() / 2 ); break; case GR_TEXT_V_ALIGN_BOTTOM: bbox.Offset( 0, -bbox.GetHeight() ); break; + case GR_TEXT_V_ALIGN_INDETERMINATE: + wxFAIL_MSG( wxT( "Indeterminate state legal only in dialogs." ) ); + break; } bbox.Inflate( attrs.m_Size.x, attrs.m_Size.y / 2 ); diff --git a/common/eda_text.cpp b/common/eda_text.cpp index 766066cedf..19b4a9d5db 100644 --- a/common/eda_text.cpp +++ b/common/eda_text.cpp @@ -649,6 +649,10 @@ BOX2I EDA_TEXT::GetTextBox( int aLine, bool aInvertY ) const if( !IsMirrored() ) bbox.SetX( bbox.GetX() - ( bbox.GetWidth() - italicOffset ) ); break; + + case GR_TEXT_H_ALIGN_INDETERMINATE: + wxFAIL_MSG( wxT( "Indeterminate state legal only in dialogs." ) ); + break; } switch( GetVertJustify() ) @@ -665,6 +669,10 @@ BOX2I EDA_TEXT::GetTextBox( int aLine, bool aInvertY ) const bbox.SetY( bbox.GetY() - bbox.GetHeight() ); bbox.Offset( 0, fudgeFactor ); break; + + case GR_TEXT_V_ALIGN_INDETERMINATE: + wxFAIL_MSG( wxT( "Indeterminate state legal only in dialogs." ) ); + break; } bbox.Normalize(); // Make h and v sizes always >= 0 @@ -751,6 +759,10 @@ void EDA_TEXT::GetLinePositions( std::vector& aPositions, int aLineCou case GR_TEXT_V_ALIGN_BOTTOM: pos.y -= ( aLineCount - 1 ) * offset.y; break; + + case GR_TEXT_V_ALIGN_INDETERMINATE: + wxFAIL_MSG( wxT( "Indeterminate state legal only in dialogs." ) ); + break; } } diff --git a/common/font/font.cpp b/common/font/font.cpp index 810b797368..a4012399e0 100644 --- a/common/font/font.cpp +++ b/common/font/font.cpp @@ -217,6 +217,9 @@ void FONT::getLinePositions( const wxString& aText, const VECTOR2I& aPosition, case GR_TEXT_V_ALIGN_TOP: break; case GR_TEXT_V_ALIGN_CENTER: offset.y -= height / 2; break; case GR_TEXT_V_ALIGN_BOTTOM: offset.y -= height; break; + case GR_TEXT_V_ALIGN_INDETERMINATE: + wxFAIL_MSG( wxT( "Indeterminate state legal only in dialogs." ) ); + break; } for( int i = 0; i < lineCount; i++ ) @@ -228,9 +231,12 @@ void FONT::getLinePositions( const wxString& aText, const VECTOR2I& aPosition, switch( aAttrs.m_Halign ) { - case GR_TEXT_H_ALIGN_LEFT: break; - case GR_TEXT_H_ALIGN_CENTER: lineOffset.x = -lineSize.x / 2; break; - case GR_TEXT_H_ALIGN_RIGHT: lineOffset.x = -( lineSize.x + offset.x ); break; + case GR_TEXT_H_ALIGN_LEFT: break; + case GR_TEXT_H_ALIGN_CENTER: lineOffset.x = -lineSize.x / 2; break; + case GR_TEXT_H_ALIGN_RIGHT: lineOffset.x = -( lineSize.x + offset.x ); break; + case GR_TEXT_H_ALIGN_INDETERMINATE: + wxFAIL_MSG( wxT( "Indeterminate state legal only in dialogs." ) ); + break; } aPositions.push_back( aPosition + lineOffset ); diff --git a/common/gal/opengl/opengl_gal.cpp b/common/gal/opengl/opengl_gal.cpp index 4ae2241c2c..1de70b0465 100644 --- a/common/gal/opengl/opengl_gal.cpp +++ b/common/gal/opengl/opengl_gal.cpp @@ -1598,6 +1598,10 @@ void OPENGL_GAL::BitmapText( const wxString& aText, const VECTOR2I& aPosition, //if( IsTextMirrored() ) //Translate( VECTOR2D( -textSize.x, 0 ) ); break; + + case GR_TEXT_H_ALIGN_INDETERMINATE: + wxFAIL_MSG( wxT( "Indeterminate state legal only in dialogs." ) ); + break; } switch( GetVerticalJustify() ) @@ -1614,6 +1618,10 @@ void OPENGL_GAL::BitmapText( const wxString& aText, const VECTOR2I& aPosition, Translate( VECTOR2D( 0, -textSize.y ) ); overbarHeight = -textSize.y / 2.0; break; + + case GR_TEXT_V_ALIGN_INDETERMINATE: + wxFAIL_MSG( wxT( "Indeterminate state legal only in dialogs." ) ); + break; } int overbarLength = 0; diff --git a/common/plotters/DXF_plotter.cpp b/common/plotters/DXF_plotter.cpp index 69a8921f21..8f76970361 100644 --- a/common/plotters/DXF_plotter.cpp +++ b/common/plotters/DXF_plotter.cpp @@ -975,6 +975,9 @@ void DXF_PLOTTER::plotOneLineOfText( const VECTOR2I& aPos, const COLOR4D& aColor case GR_TEXT_H_ALIGN_LEFT: h_code = 0; break; case GR_TEXT_H_ALIGN_CENTER: h_code = 1; break; case GR_TEXT_H_ALIGN_RIGHT: h_code = 2; break; + case GR_TEXT_H_ALIGN_INDETERMINATE: + wxFAIL_MSG( wxT( "Indeterminate state legal only in dialogs." ) ); + break; } switch( aAttributes.m_Valign ) @@ -982,6 +985,9 @@ void DXF_PLOTTER::plotOneLineOfText( const VECTOR2I& aPos, const COLOR4D& aColor case GR_TEXT_V_ALIGN_TOP: v_code = 3; break; case GR_TEXT_V_ALIGN_CENTER: v_code = 2; break; case GR_TEXT_V_ALIGN_BOTTOM: v_code = 1; break; + case GR_TEXT_V_ALIGN_INDETERMINATE: + wxFAIL_MSG( wxT( "Indeterminate state legal only in dialogs." ) ); + break; } // Position, size, rotation and alignment diff --git a/common/plotters/PS_plotter.cpp b/common/plotters/PS_plotter.cpp index ffe4a205eb..624acd84de 100644 --- a/common/plotters/PS_plotter.cpp +++ b/common/plotters/PS_plotter.cpp @@ -381,6 +381,9 @@ void PSLIKE_PLOTTER::computeTextParameters( const VECTOR2I& aPos, case GR_TEXT_H_ALIGN_CENTER: dx = -tw / 2; break; case GR_TEXT_H_ALIGN_RIGHT: dx = -tw; break; case GR_TEXT_H_ALIGN_LEFT: dx = 0; break; + case GR_TEXT_H_ALIGN_INDETERMINATE: + wxFAIL_MSG( wxT( "Indeterminate state legal only in dialogs." ) ); + break; } switch( aV_justify ) @@ -388,6 +391,9 @@ void PSLIKE_PLOTTER::computeTextParameters( const VECTOR2I& aPos, case GR_TEXT_V_ALIGN_CENTER: dy = th / 2; break; case GR_TEXT_V_ALIGN_TOP: dy = th; break; case GR_TEXT_V_ALIGN_BOTTOM: dy = 0; break; + case GR_TEXT_V_ALIGN_INDETERMINATE: + wxFAIL_MSG( wxT( "Indeterminate state legal only in dialogs." ) ); + break; } RotatePoint( &dx, &dy, aOrient ); diff --git a/common/plotters/SVG_plotter.cpp b/common/plotters/SVG_plotter.cpp index 045070c7a7..99fb594208 100644 --- a/common/plotters/SVG_plotter.cpp +++ b/common/plotters/SVG_plotter.cpp @@ -816,6 +816,9 @@ void SVG_PLOTTER::Text( const VECTOR2I& aPos, case GR_TEXT_H_ALIGN_CENTER: hjust = "middle"; break; case GR_TEXT_H_ALIGN_RIGHT: hjust = "end"; break; case GR_TEXT_H_ALIGN_LEFT: hjust = "start"; break; + case GR_TEXT_H_ALIGN_INDETERMINATE: + wxFAIL_MSG( wxT( "Indeterminate state legal only in dialogs." ) ); + break; } switch( aV_justify ) @@ -823,6 +826,9 @@ void SVG_PLOTTER::Text( const VECTOR2I& aPos, case GR_TEXT_V_ALIGN_CENTER: text_pos.y += aSize.y / 2; break; case GR_TEXT_V_ALIGN_TOP: text_pos.y += aSize.y; break; case GR_TEXT_V_ALIGN_BOTTOM: break; + case GR_TEXT_V_ALIGN_INDETERMINATE: + wxFAIL_MSG( wxT( "Indeterminate state legal only in dialogs." ) ); + break; } VECTOR2I text_size; diff --git a/eeschema/dialogs/dialog_lib_text_properties.cpp b/eeschema/dialogs/dialog_lib_text_properties.cpp index 457a3cb978..e0d399fe5d 100644 --- a/eeschema/dialogs/dialog_lib_text_properties.cpp +++ b/eeschema/dialogs/dialog_lib_text_properties.cpp @@ -154,16 +154,18 @@ bool DIALOG_LIB_TEXT_PROPERTIES::TransferDataToWindow() switch ( m_graphicText->GetHorizJustify() ) { - case GR_TEXT_H_ALIGN_LEFT: m_hAlignLeft->Check( true ); break; - case GR_TEXT_H_ALIGN_CENTER: m_hAlignCenter->Check( true ); break; - case GR_TEXT_H_ALIGN_RIGHT: m_hAlignRight->Check( true ); break; + case GR_TEXT_H_ALIGN_LEFT: m_hAlignLeft->Check( true ); break; + case GR_TEXT_H_ALIGN_CENTER: m_hAlignCenter->Check( true ); break; + case GR_TEXT_H_ALIGN_RIGHT: m_hAlignRight->Check( true ); break; + case GR_TEXT_H_ALIGN_INDETERMINATE: break; } switch ( m_graphicText->GetVertJustify() ) { - case GR_TEXT_V_ALIGN_TOP: m_vAlignTop->Check( true ); break; - case GR_TEXT_V_ALIGN_CENTER: m_vAlignCenter->Check( true ); break; - case GR_TEXT_V_ALIGN_BOTTOM: m_vAlignBottom->Check( true ); break; + case GR_TEXT_V_ALIGN_TOP: m_vAlignTop->Check( true ); break; + case GR_TEXT_V_ALIGN_CENTER: m_vAlignCenter->Check( true ); break; + case GR_TEXT_V_ALIGN_BOTTOM: m_vAlignBottom->Check( true ); break; + case GR_TEXT_V_ALIGN_INDETERMINATE: break; } } else diff --git a/eeschema/dialogs/dialog_lib_textbox_properties.cpp b/eeschema/dialogs/dialog_lib_textbox_properties.cpp index ac1bc80b76..8990ffa299 100644 --- a/eeschema/dialogs/dialog_lib_textbox_properties.cpp +++ b/eeschema/dialogs/dialog_lib_textbox_properties.cpp @@ -162,16 +162,18 @@ bool DIALOG_LIB_TEXTBOX_PROPERTIES::TransferDataToWindow() switch( m_currentText->GetHorizJustify() ) { - case GR_TEXT_H_ALIGN_LEFT: m_hAlignLeft->Check(); break; - case GR_TEXT_H_ALIGN_CENTER: m_hAlignCenter->Check(); break; - case GR_TEXT_H_ALIGN_RIGHT: m_hAlignRight->Check(); break; + case GR_TEXT_H_ALIGN_LEFT: m_hAlignLeft->Check(); break; + case GR_TEXT_H_ALIGN_CENTER: m_hAlignCenter->Check(); break; + case GR_TEXT_H_ALIGN_RIGHT: m_hAlignRight->Check(); break; + case GR_TEXT_H_ALIGN_INDETERMINATE: break; } switch( m_currentText->GetVertJustify() ) { - case GR_TEXT_V_ALIGN_TOP: m_vAlignTop->Check(); break; - case GR_TEXT_V_ALIGN_CENTER: m_vAlignCenter->Check(); break; - case GR_TEXT_V_ALIGN_BOTTOM: m_vAlignBottom->Check(); break; + case GR_TEXT_V_ALIGN_TOP: m_vAlignTop->Check(); break; + case GR_TEXT_V_ALIGN_CENTER: m_vAlignCenter->Check(); break; + case GR_TEXT_V_ALIGN_BOTTOM: m_vAlignBottom->Check(); break; + case GR_TEXT_V_ALIGN_INDETERMINATE: break; } if( m_currentText->GetTextAngle() == ANGLE_VERTICAL ) diff --git a/eeschema/fields_grid_table.cpp b/eeschema/fields_grid_table.cpp index 826af72877..d2f1acf89f 100644 --- a/eeschema/fields_grid_table.cpp +++ b/eeschema/fields_grid_table.cpp @@ -584,9 +584,10 @@ wxString FIELDS_GRID_TABLE::GetValue( int aRow, int aCol ) case FDC_H_ALIGN: switch ( field.GetEffectiveHorizJustify() ) { - case GR_TEXT_H_ALIGN_LEFT: return _( "Left" ); - case GR_TEXT_H_ALIGN_CENTER: return _( "Center" ); - case GR_TEXT_H_ALIGN_RIGHT: return _( "Right" ); + case GR_TEXT_H_ALIGN_LEFT: return _( "Left" ); + case GR_TEXT_H_ALIGN_CENTER: return _( "Center" ); + case GR_TEXT_H_ALIGN_RIGHT: return _( "Right" ); + case GR_TEXT_H_ALIGN_INDETERMINATE: return INDETERMINATE_STATE; } break; @@ -594,9 +595,10 @@ wxString FIELDS_GRID_TABLE::GetValue( int aRow, int aCol ) case FDC_V_ALIGN: switch ( field.GetEffectiveVertJustify() ) { - case GR_TEXT_V_ALIGN_TOP: return _( "Top" ); - case GR_TEXT_V_ALIGN_CENTER: return _( "Center" ); - case GR_TEXT_V_ALIGN_BOTTOM: return _( "Bottom" ); + case GR_TEXT_V_ALIGN_TOP: return _( "Top" ); + case GR_TEXT_V_ALIGN_CENTER: return _( "Center" ); + case GR_TEXT_V_ALIGN_BOTTOM: return _( "Bottom" ); + case GR_TEXT_V_ALIGN_INDETERMINATE: return INDETERMINATE_STATE; } break; diff --git a/eeschema/lib_field.cpp b/eeschema/lib_field.cpp index 4452d804ff..28111151b8 100644 --- a/eeschema/lib_field.cpp +++ b/eeschema/lib_field.cpp @@ -555,18 +555,20 @@ void LIB_FIELD::GetMsgPanelInfo( EDA_DRAW_FRAME* aFrame, std::vectorm_Hjustify ) { - case GR_TEXT_H_ALIGN_LEFT: m_alignLeft->Check(); break; - case GR_TEXT_H_ALIGN_CENTER: m_alignCenter->Check(); break; - case GR_TEXT_H_ALIGN_RIGHT: m_alignRight->Check(); break; + case GR_TEXT_H_ALIGN_LEFT: m_alignLeft->Check(); break; + case GR_TEXT_H_ALIGN_CENTER: m_alignCenter->Check(); break; + case GR_TEXT_H_ALIGN_RIGHT: m_alignRight->Check(); break; + case GR_TEXT_H_ALIGN_INDETERMINATE: break; } for( BITMAP_BUTTON* btn : { m_vAlignTop, m_vAlignMiddle, m_vAlignBottom } ) @@ -340,9 +341,10 @@ void PROPERTIES_FRAME::CopyPrmsFromItemToPanel( DS_DATA_ITEM* aItem ) switch( item->m_Vjustify ) { - case GR_TEXT_V_ALIGN_TOP: m_vAlignTop->Check(); break; - case GR_TEXT_V_ALIGN_CENTER: m_vAlignMiddle->Check(); break; - case GR_TEXT_V_ALIGN_BOTTOM: m_vAlignBottom->Check(); break; + case GR_TEXT_V_ALIGN_TOP: m_vAlignTop->Check(); break; + case GR_TEXT_V_ALIGN_CENTER: m_vAlignMiddle->Check(); break; + case GR_TEXT_V_ALIGN_BOTTOM: m_vAlignBottom->Check(); break; + case GR_TEXT_V_ALIGN_INDETERMINATE: break; } // Text size