diff --git a/pcbnew/dialogs/dialog_global_edit_text_and_graphics.cpp b/pcbnew/dialogs/dialog_global_edit_text_and_graphics.cpp index 7be2c8bf32..64f6500d4c 100644 --- a/pcbnew/dialogs/dialog_global_edit_text_and_graphics.cpp +++ b/pcbnew/dialogs/dialog_global_edit_text_and_graphics.cpp @@ -309,7 +309,7 @@ void DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem( BOARD_COMMIT& aCommit, B aCommit.Modify( aItem ); PCB_FIELD* field = dynamic_cast( aItem ); - PCB_TEXT* text = dynamic_cast( aItem ); + EDA_TEXT* text = dynamic_cast( aItem ); PCB_SHAPE* shape = dynamic_cast( aItem ); PCB_DIMENSION_BASE* dimension = dynamic_cast( aItem ); PCB_BARCODE* barcode = dynamic_cast( aItem ); @@ -360,7 +360,7 @@ void DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem( BOARD_COMMIT& aCommit, B text->SetKeepUpright( m_keepUpright->GetValue() ); if( m_centerOnFP->GetValue() == wxCHK_CHECKED ) - text->SetTextPos( text->GetParent()->GetCenter() ); + text->SetTextPos( aItem->GetParent()->GetCenter() ); } } @@ -393,7 +393,6 @@ void DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem( BOARD_COMMIT& aCommit, B } else { - PCB_LAYER_ID layer = aItem->GetLayer(); aItem->StyleFromSettings( *m_brdSettings, false ); } } @@ -508,6 +507,16 @@ bool DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::TransferDataFromWindow() else if( m_values->GetValue() && textItem->GetText() == wxT( "${VALUE}" ) ) visitItem( commit, boardItem ); } + else if( itemType == PCB_TABLE_T ) + { + boardItem->RunOnChildren( + [&]( BOARD_ITEM* child ) + { + if( child->Type() == PCB_TABLECELL_T && m_footprintTexts->GetValue() ) + visitItem( commit, child ); + }, + RECURSE_MODE::NO_RECURSE ); + } else if( BaseType( itemType ) == PCB_DIMENSION_T ) { if( m_footprintDimensions->GetValue() ) @@ -533,6 +542,16 @@ bool DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::TransferDataFromWindow() if( m_boardText->GetValue() ) visitItem( commit, boardItem ); } + else if( itemType == PCB_TABLE_T ) + { + boardItem->RunOnChildren( + [&]( BOARD_ITEM* child ) + { + if( child->Type() == PCB_TABLECELL_T && m_boardText->GetValue() ) + visitItem( commit, child ); + }, + RECURSE_MODE::NO_RECURSE ); + } else if( BaseType( itemType ) == PCB_DIMENSION_T ) { if( m_boardDimensions->GetValue() ) diff --git a/pcbnew/pcb_tablecell.cpp b/pcbnew/pcb_tablecell.cpp index cb920f06c6..c3f4f5defc 100644 --- a/pcbnew/pcb_tablecell.cpp +++ b/pcbnew/pcb_tablecell.cpp @@ -244,9 +244,6 @@ static struct PCB_TABLECELL_DESC propMgr.Mask( TYPE_HASH( PCB_TABLECELL ), TYPE_HASH( EDA_SHAPE ), _HKI( "Line Style" ) ); propMgr.Mask( TYPE_HASH( PCB_TABLECELL ), TYPE_HASH( EDA_SHAPE ), _HKI( "Line Color" ) ); - propMgr.Mask( TYPE_HASH( PCB_TABLECELL ), TYPE_HASH( EDA_TEXT ), _HKI( "Width" ) ); - propMgr.Mask( TYPE_HASH( PCB_TABLECELL ), TYPE_HASH( EDA_TEXT ), _HKI( "Height" ) ); - propMgr.Mask( TYPE_HASH( PCB_TABLECELL ), TYPE_HASH( EDA_TEXT ), _HKI( "Thickness" ) ); propMgr.Mask( TYPE_HASH( PCB_TABLECELL ), TYPE_HASH( EDA_TEXT ), _HKI( "Orientation" ) ); propMgr.Mask( TYPE_HASH( PCB_TABLECELL ), TYPE_HASH( EDA_TEXT ), _HKI( "Hyperlink" ) ); propMgr.Mask( TYPE_HASH( PCB_TABLECELL ), TYPE_HASH( EDA_TEXT ), _HKI( "Color" ) );