mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-09-14 02:03:12 +02:00
Move to a fixed enum for page sizes as well as well as holding a list of types accessible in a vector.
Drops some hardcoded size names in places among other bits. Woooo committed pushed at 36000 feet.
This commit is contained in:
parent
ca7059b487
commit
1e9025a4dc
@ -51,33 +51,6 @@
|
||||
#define MAX_PAGE_EXAMPLE_SIZE 200
|
||||
|
||||
|
||||
// List of page formats.
|
||||
// they are prefixed by "_HKI" (already in use for hotkeys) instead of "_",
|
||||
// because we need both the translated and the not translated version.
|
||||
// when displayed in dialog we should explicitly call wxGetTranslation()
|
||||
// to show the translated version.
|
||||
// See hotkeys_basic.h for more info
|
||||
#define _HKI( x ) wxT( x )
|
||||
static const wxString pageFmts[] =
|
||||
{
|
||||
_HKI("A5 148x210mm"),
|
||||
_HKI("A4 210x297mm"),
|
||||
_HKI("A3 297x420mm"),
|
||||
_HKI("A2 420x594mm"),
|
||||
_HKI("A1 594x841mm"),
|
||||
_HKI("A0 841x1189mm"),
|
||||
_HKI("A 8.5x11in"),
|
||||
_HKI("B 11x17in"),
|
||||
_HKI("C 17x22in"),
|
||||
_HKI("D 22x34in"),
|
||||
_HKI("E 34x44in"),
|
||||
_HKI("USLetter 8.5x11in"), // USLetter without space is correct
|
||||
_HKI("USLegal 8.5x14in"), // USLegal without space is correct
|
||||
_HKI("USLedger 11x17in"), // USLedger without space is correct
|
||||
_HKI("User (Custom)"), // size defined by user. The string must contain "Custom"
|
||||
// to be recognized in code
|
||||
};
|
||||
|
||||
DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS( EDA_DRAW_FRAME* aParent, EMBEDDED_FILES* aEmbeddedFiles,
|
||||
double aIuPerMils, const VECTOR2D& aMaxUserSizeMils ) :
|
||||
DIALOG_PAGES_SETTINGS_BASE( aParent ),
|
||||
@ -141,17 +114,25 @@ bool DIALOG_PAGES_SETTINGS::TransferDataToWindow()
|
||||
// The first shows translated strings, the second contains not translated strings
|
||||
m_paperSizeComboBox->Clear();
|
||||
|
||||
for( const wxString& pageFmt : pageFmts )
|
||||
int selectedIdx = -1;
|
||||
m_pageInfo = m_parent->GetPageSettings();
|
||||
|
||||
for( const PAGE_INFO& pageFmt : PAGE_INFO::GetPageFormatsList() )
|
||||
{
|
||||
m_pageFmt.Add( pageFmt );
|
||||
m_paperSizeComboBox->Append( wxGetTranslation( pageFmt ) );
|
||||
int idx = m_paperSizeComboBox->Append( wxGetTranslation( pageFmt.GetPageFormatDescription() ),
|
||||
reinterpret_cast<void*>( static_cast<intptr_t>( pageFmt.GetType() ) ) );
|
||||
|
||||
if( pageFmt.GetType() == m_pageInfo.GetType() )
|
||||
{
|
||||
selectedIdx = idx;
|
||||
}
|
||||
}
|
||||
|
||||
m_paperSizeComboBox->SetSelection( selectedIdx );
|
||||
|
||||
// initialize the drawing sheet filename
|
||||
SetWksFileName( BASE_SCREEN::m_DrawingSheetFileName );
|
||||
|
||||
m_pageInfo = m_parent->GetPageSettings();
|
||||
SetCurrentPageSizeSelection( m_pageInfo.GetType() );
|
||||
m_orientationComboBox->SetSelection( m_pageInfo.IsPortrait() );
|
||||
|
||||
// only a click fires the "selection changed" event, so have to fabricate this check
|
||||
@ -217,9 +198,10 @@ bool DIALOG_PAGES_SETTINGS::TransferDataToWindow()
|
||||
bool DIALOG_PAGES_SETTINGS::TransferDataFromWindow()
|
||||
{
|
||||
int idx = std::max( m_paperSizeComboBox->GetSelection(), 0 );
|
||||
const wxString paperType = m_pageFmt[idx];
|
||||
void* clientData = m_paperSizeComboBox->GetClientData( idx );
|
||||
PAGE_SIZE_TYPE pageType = static_cast<PAGE_SIZE_TYPE>( reinterpret_cast<intptr_t>( clientData ) );
|
||||
|
||||
if( paperType.Contains( PAGE_INFO::Custom ) )
|
||||
if( pageType == PAGE_SIZE_TYPE::User )
|
||||
{
|
||||
if( !m_customSizeX.Validate( MIN_PAGE_SIZE_MILS, m_maxPageSizeMils.x, EDA_UNITS::MILS ) )
|
||||
return false;
|
||||
@ -250,9 +232,10 @@ void DIALOG_PAGES_SETTINGS::OnPaperSizeChoice( wxCommandEvent& event )
|
||||
if( idx < 0 )
|
||||
idx = 0;
|
||||
|
||||
const wxString paperType = m_pageFmt[idx];
|
||||
void* clientData = m_paperSizeComboBox->GetClientData( idx );
|
||||
PAGE_SIZE_TYPE pageType = static_cast<PAGE_SIZE_TYPE>( reinterpret_cast<intptr_t>( clientData ) );
|
||||
|
||||
if( paperType.Contains( PAGE_INFO::Custom ) )
|
||||
if( pageType == PAGE_SIZE_TYPE::User )
|
||||
{
|
||||
m_staticTextOrient->Enable( false );
|
||||
m_orientationComboBox->Enable( false );
|
||||
@ -483,13 +466,14 @@ bool DIALOG_PAGES_SETTINGS::SavePageSettings()
|
||||
m_localPrjConfigChanged = true;
|
||||
|
||||
int idx = std::max( m_paperSizeComboBox->GetSelection(), 0 );
|
||||
const wxString paperType = m_pageFmt[idx];
|
||||
void* clientData = m_paperSizeComboBox->GetClientData( idx );
|
||||
PAGE_SIZE_TYPE pageType = static_cast<PAGE_SIZE_TYPE>( reinterpret_cast<intptr_t>( clientData ) );
|
||||
|
||||
if( paperType.Contains( PAGE_INFO::Custom ) )
|
||||
if( pageType == PAGE_SIZE_TYPE::User )
|
||||
{
|
||||
GetCustomSizeMilsFromDialog();
|
||||
|
||||
success = m_pageInfo.SetType( PAGE_INFO::Custom );
|
||||
success = m_pageInfo.SetType( PAGE_SIZE_TYPE::User );
|
||||
|
||||
if( success )
|
||||
{
|
||||
@ -502,22 +486,7 @@ bool DIALOG_PAGES_SETTINGS::SavePageSettings()
|
||||
}
|
||||
else
|
||||
{
|
||||
// search for longest common string first, e.g. A4 before A
|
||||
if( paperType.Contains( PAGE_INFO::USLetter ) ) success = m_pageInfo.SetType( PAGE_INFO::USLetter );
|
||||
else if( paperType.Contains( PAGE_INFO::USLegal ) ) success = m_pageInfo.SetType( PAGE_INFO::USLegal );
|
||||
else if( paperType.Contains( PAGE_INFO::USLedger ) ) success = m_pageInfo.SetType( PAGE_INFO::USLedger );
|
||||
else if( paperType.Contains( PAGE_INFO::GERBER ) ) success = m_pageInfo.SetType( PAGE_INFO::GERBER );
|
||||
else if( paperType.Contains( PAGE_INFO::A5 ) ) success = m_pageInfo.SetType( PAGE_INFO::A5 );
|
||||
else if( paperType.Contains( PAGE_INFO::A4 ) ) success = m_pageInfo.SetType( PAGE_INFO::A4 );
|
||||
else if( paperType.Contains( PAGE_INFO::A3 ) ) success = m_pageInfo.SetType( PAGE_INFO::A3 );
|
||||
else if( paperType.Contains( PAGE_INFO::A2 ) ) success = m_pageInfo.SetType( PAGE_INFO::A2 );
|
||||
else if( paperType.Contains( PAGE_INFO::A1 ) ) success = m_pageInfo.SetType( PAGE_INFO::A1 );
|
||||
else if( paperType.Contains( PAGE_INFO::A0 ) ) success = m_pageInfo.SetType( PAGE_INFO::A0 );
|
||||
else if( paperType.Contains( PAGE_INFO::A ) ) success = m_pageInfo.SetType( PAGE_INFO::A );
|
||||
else if( paperType.Contains( PAGE_INFO::B ) ) success = m_pageInfo.SetType( PAGE_INFO::B );
|
||||
else if( paperType.Contains( PAGE_INFO::C ) ) success = m_pageInfo.SetType( PAGE_INFO::C );
|
||||
else if( paperType.Contains( PAGE_INFO::D ) ) success = m_pageInfo.SetType( PAGE_INFO::D );
|
||||
else if( paperType.Contains( PAGE_INFO::E ) ) success = m_pageInfo.SetType( PAGE_INFO::E );
|
||||
success = m_pageInfo.SetType( pageType );
|
||||
|
||||
if( success )
|
||||
{
|
||||
@ -529,7 +498,7 @@ bool DIALOG_PAGES_SETTINGS::SavePageSettings()
|
||||
if( !success )
|
||||
{
|
||||
wxFAIL_MSG( "The translation for paper size must preserve original spellings" );
|
||||
m_pageInfo.SetType( PAGE_INFO::A4 );
|
||||
m_pageInfo.SetType( PAGE_SIZE_TYPE::A4 );
|
||||
}
|
||||
|
||||
m_parent->SetPageSettings( m_pageInfo );
|
||||
@ -554,26 +523,6 @@ bool DIALOG_PAGES_SETTINGS::SavePageSettings()
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_PAGES_SETTINGS::SetCurrentPageSizeSelection( const wxString& aPaperSize )
|
||||
{
|
||||
// search all the not translated label list containing our paper type
|
||||
for( unsigned i = 0; i < m_pageFmt.GetCount(); ++i )
|
||||
{
|
||||
// parse each label looking for aPaperSize within it
|
||||
wxStringTokenizer st( m_pageFmt[i] );
|
||||
|
||||
while( st.HasMoreTokens() )
|
||||
{
|
||||
if( st.GetNextToken() == aPaperSize )
|
||||
{
|
||||
m_paperSizeComboBox->SetSelection( i );
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_PAGES_SETTINGS::UpdateDrawingSheetExample()
|
||||
{
|
||||
int lyWidth, lyHeight;
|
||||
@ -629,9 +578,11 @@ void DIALOG_PAGES_SETTINGS::UpdateDrawingSheetExample()
|
||||
if( idx < 0 )
|
||||
idx = 0;
|
||||
|
||||
wxString pageFmtName = m_pageFmt[idx].BeforeFirst( ' ' );
|
||||
void* clientData = m_paperSizeComboBox->GetClientData( idx );
|
||||
PAGE_SIZE_TYPE pageType = static_cast<PAGE_SIZE_TYPE>( reinterpret_cast<intptr_t>( clientData ) );
|
||||
|
||||
bool portrait = clamped_layout_size.x < clamped_layout_size.y;
|
||||
pageDUMMY.SetType( pageFmtName, portrait );
|
||||
pageDUMMY.SetType( pageType, portrait );
|
||||
|
||||
if( m_customFmt )
|
||||
{
|
||||
@ -682,10 +633,10 @@ void DIALOG_PAGES_SETTINGS::UpdateDrawingSheetExample()
|
||||
void DIALOG_PAGES_SETTINGS::GetPageLayoutInfoFromDialog()
|
||||
{
|
||||
int idx = std::max( m_paperSizeComboBox->GetSelection(), 0 );
|
||||
const wxString paperType = m_pageFmt[idx];
|
||||
void* clientData = m_paperSizeComboBox->GetClientData( idx );
|
||||
PAGE_SIZE_TYPE pageType = static_cast<PAGE_SIZE_TYPE>( reinterpret_cast<intptr_t>( clientData ) );
|
||||
|
||||
// here we assume translators will keep original paper size spellings
|
||||
if( paperType.Contains( PAGE_INFO::Custom ) )
|
||||
if( pageType == PAGE_SIZE_TYPE::User )
|
||||
{
|
||||
GetCustomSizeMilsFromDialog();
|
||||
|
||||
@ -701,36 +652,7 @@ void DIALOG_PAGES_SETTINGS::GetPageLayoutInfoFromDialog()
|
||||
{
|
||||
PAGE_INFO pageInfo; // SetType() later to lookup size
|
||||
|
||||
static const wxChar* papers[] = {
|
||||
// longest common string first, since sequential search below
|
||||
PAGE_INFO::A5,
|
||||
PAGE_INFO::A4,
|
||||
PAGE_INFO::A3,
|
||||
PAGE_INFO::A2,
|
||||
PAGE_INFO::A1,
|
||||
PAGE_INFO::A0,
|
||||
PAGE_INFO::A,
|
||||
PAGE_INFO::B,
|
||||
PAGE_INFO::C,
|
||||
PAGE_INFO::D,
|
||||
PAGE_INFO::E,
|
||||
PAGE_INFO::USLetter,
|
||||
PAGE_INFO::USLegal,
|
||||
PAGE_INFO::USLedger,
|
||||
};
|
||||
|
||||
unsigned i;
|
||||
|
||||
for( i=0; i < arrayDim( papers ); ++i )
|
||||
{
|
||||
if( paperType.Contains( papers[i] ) )
|
||||
{
|
||||
pageInfo.SetType( papers[i] );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
wxASSERT( i != arrayDim(papers) ); // dialog UI match the above list?
|
||||
pageInfo.SetType( pageType );
|
||||
|
||||
VECTOR2D sz = pageInfo.GetSizeMils();
|
||||
m_layout_size = VECTOR2D( sz.x, sz.y );
|
||||
|
@ -549,7 +549,7 @@ void DS_DRAW_ITEM_LIST::BuildDrawItemsList( const PAGE_INFO& aPageInfo,
|
||||
DS_DATA_MODEL& model = DS_DATA_MODEL::GetTheInstance();
|
||||
|
||||
m_titleBlock = &aTitleBlock;
|
||||
m_paperFormat = aPageInfo.GetType();
|
||||
m_paperFormat = aPageInfo.GetTypeAsString();
|
||||
|
||||
// Build the basic layout shape, if the layout list is empty
|
||||
if( model.GetCount() == 0 && !model.VoidListAllowed() )
|
||||
|
@ -27,36 +27,7 @@
|
||||
#include <eda_units.h>
|
||||
#include <richio.h> // for OUTPUTFORMATTER and IO_ERROR
|
||||
#include <string_utils.h>
|
||||
|
||||
|
||||
// late arriving wxPAPER_A0, wxPAPER_A1
|
||||
#if wxABI_VERSION >= 20999
|
||||
#define PAPER_A0 wxPAPER_A0
|
||||
#define PAPER_A1 wxPAPER_A1
|
||||
#else
|
||||
#define PAPER_A0 wxPAPER_A2
|
||||
#define PAPER_A1 wxPAPER_A2
|
||||
#endif
|
||||
|
||||
|
||||
// Standard paper sizes nicknames.
|
||||
const wxChar PAGE_INFO::A5[] = wxT( "A5" );
|
||||
const wxChar PAGE_INFO::A4[] = wxT( "A4" );
|
||||
const wxChar PAGE_INFO::A3[] = wxT( "A3" );
|
||||
const wxChar PAGE_INFO::A2[] = wxT( "A2" );
|
||||
const wxChar PAGE_INFO::A1[] = wxT( "A1" );
|
||||
const wxChar PAGE_INFO::A0[] = wxT( "A0" );
|
||||
const wxChar PAGE_INFO::A[] = wxT( "A" );
|
||||
const wxChar PAGE_INFO::B[] = wxT( "B" );
|
||||
const wxChar PAGE_INFO::C[] = wxT( "C" );
|
||||
const wxChar PAGE_INFO::D[] = wxT( "D" );
|
||||
const wxChar PAGE_INFO::E[] = wxT( "E" );
|
||||
|
||||
const wxChar PAGE_INFO::GERBER[] = wxT( "GERBER" );
|
||||
const wxChar PAGE_INFO::USLetter[] = wxT( "USLetter" );
|
||||
const wxChar PAGE_INFO::USLegal[] = wxT( "USLegal" );
|
||||
const wxChar PAGE_INFO::USLedger[] = wxT( "USLedger" );
|
||||
const wxChar PAGE_INFO::Custom[] = wxT( "User" );
|
||||
#include <magic_enum.hpp>
|
||||
|
||||
|
||||
// Standard page sizes in mils, all constants
|
||||
@ -66,29 +37,34 @@ const wxChar PAGE_INFO::Custom[] = wxT( "User" );
|
||||
// local readability macro for millimeter wxSize
|
||||
#define MMsize( x, y ) VECTOR2D( EDA_UNIT_UTILS::Mm2mils( x ), EDA_UNIT_UTILS::Mm2mils( y ) )
|
||||
|
||||
// List of page formats.
|
||||
// they are prefixed by "_HKI" (already in use for hotkeys) instead of "_",
|
||||
// because we need both the translated and the not translated version.
|
||||
// when displayed in dialog we should explicitly call wxGetTranslation()
|
||||
#define _HKI( x ) wxT( x )
|
||||
|
||||
std::vector<PAGE_INFO> PAGE_INFO::standardPageSizes = {
|
||||
// All MUST be defined as landscape.
|
||||
const PAGE_INFO PAGE_INFO::pageA5( MMsize( 210, 148 ), wxT( "A5" ), wxPAPER_A5 );
|
||||
const PAGE_INFO PAGE_INFO::pageA4( MMsize( 297, 210 ), wxT( "A4" ), wxPAPER_A4 );
|
||||
const PAGE_INFO PAGE_INFO::pageA3( MMsize( 420, 297 ), wxT( "A3" ), wxPAPER_A3 );
|
||||
const PAGE_INFO PAGE_INFO::pageA2( MMsize( 594, 420 ), wxT( "A2" ), wxPAPER_A2 );
|
||||
const PAGE_INFO PAGE_INFO::pageA1( MMsize( 841, 594 ), wxT( "A1" ), PAPER_A1 );
|
||||
const PAGE_INFO PAGE_INFO::pageA0( MMsize( 1189, 841 ), wxT( "A0" ), PAPER_A0 );
|
||||
|
||||
const PAGE_INFO PAGE_INFO::pageA( VECTOR2D( 11000, 8500 ), wxT( "A" ), wxPAPER_LETTER );
|
||||
const PAGE_INFO PAGE_INFO::pageB( VECTOR2D( 17000, 11000 ), wxT( "B" ), wxPAPER_TABLOID );
|
||||
const PAGE_INFO PAGE_INFO::pageC( VECTOR2D( 22000, 17000 ), wxT( "C" ), wxPAPER_CSHEET );
|
||||
const PAGE_INFO PAGE_INFO::pageD( VECTOR2D( 34000, 22000 ), wxT( "D" ), wxPAPER_DSHEET );
|
||||
const PAGE_INFO PAGE_INFO::pageE( VECTOR2D( 44000, 34000 ), wxT( "E" ), wxPAPER_ESHEET );
|
||||
|
||||
const PAGE_INFO PAGE_INFO::pageGERBER( VECTOR2D( 32000, 32000 ), wxT( "GERBER" ), wxPAPER_NONE );
|
||||
const PAGE_INFO PAGE_INFO::pageUser( VECTOR2D( 17000, 11000 ), Custom, wxPAPER_NONE );
|
||||
PAGE_INFO( MMsize( 210, 148 ), PAGE_SIZE_TYPE::A5, wxPAPER_A5, _HKI( "A5 148 x 210mm" ) ),
|
||||
PAGE_INFO( MMsize( 297, 210 ), PAGE_SIZE_TYPE::A4, wxPAPER_A4, _HKI( "A4 210 x 297mm" ) ),
|
||||
PAGE_INFO( MMsize( 420, 297 ), PAGE_SIZE_TYPE::A3, wxPAPER_A3, _HKI( "A3 297 x 420mm" ) ),
|
||||
PAGE_INFO( MMsize( 594, 420 ), PAGE_SIZE_TYPE::A2, wxPAPER_A2, _HKI( "A2 420 x 594mm" ) ),
|
||||
PAGE_INFO( MMsize( 841, 594 ), PAGE_SIZE_TYPE::A1, wxPAPER_A1, _HKI( "A1 594 x 841mm" ) ),
|
||||
PAGE_INFO( MMsize( 1189, 841 ), PAGE_SIZE_TYPE::A0, wxPAPER_A0, _HKI( "A0 841 x 1189mm" ) ),
|
||||
PAGE_INFO( VECTOR2D( 11000, 8500 ), PAGE_SIZE_TYPE::A, wxPAPER_LETTER, _HKI( "A 8.5 x 11in" ) ),
|
||||
PAGE_INFO( VECTOR2D( 17000, 11000 ), PAGE_SIZE_TYPE::B, wxPAPER_TABLOID, _HKI( "B 11 x 17in" ) ),
|
||||
PAGE_INFO( VECTOR2D( 22000, 17000 ), PAGE_SIZE_TYPE::C, wxPAPER_CSHEET, _HKI( "C 17 x 22in" ) ),
|
||||
PAGE_INFO( VECTOR2D( 34000, 22000 ), PAGE_SIZE_TYPE::D, wxPAPER_DSHEET, _HKI( "D 22 x 34in" ) ),
|
||||
PAGE_INFO( VECTOR2D( 44000, 34000 ), PAGE_SIZE_TYPE::E, wxPAPER_ESHEET, _HKI( "E 34 x 44in" ) ),
|
||||
|
||||
// US paper sizes
|
||||
const PAGE_INFO PAGE_INFO::pageUSLetter( VECTOR2D( 11000, 8500 ), wxT( "USLetter" ),
|
||||
wxPAPER_LETTER );
|
||||
const PAGE_INFO PAGE_INFO::pageUSLegal( VECTOR2D( 14000, 8500 ), wxT( "USLegal" ), wxPAPER_LEGAL );
|
||||
const PAGE_INFO PAGE_INFO::pageUSLedger( VECTOR2D( 17000, 11000 ), wxT( "USLedger" ),
|
||||
wxPAPER_TABLOID );
|
||||
PAGE_INFO( VECTOR2D( 32000, 32000 ), PAGE_SIZE_TYPE::GERBER, wxPAPER_NONE ),
|
||||
PAGE_INFO( VECTOR2D( 17000, 11000 ), PAGE_SIZE_TYPE::User, wxPAPER_NONE, _HKI( "User (Custom)" ) ),
|
||||
|
||||
PAGE_INFO( VECTOR2D( 11000, 8500 ), PAGE_SIZE_TYPE::USLetter, wxPAPER_LETTER, _HKI("US Letter 8.5 x 11in") ),
|
||||
PAGE_INFO( VECTOR2D( 14000, 8500 ), PAGE_SIZE_TYPE::USLegal, wxPAPER_LEGAL, _HKI("US Legal 8.5 x 14in") ),
|
||||
PAGE_INFO( VECTOR2D( 17000, 11000 ), PAGE_SIZE_TYPE::USLedger, wxPAPER_TABLOID, _HKI("US Ledger 11 x 17in") )
|
||||
};
|
||||
|
||||
// Custom paper size for next instantiation of type "User"
|
||||
double PAGE_INFO::s_user_width = 17000;
|
||||
@ -102,8 +78,12 @@ inline void PAGE_INFO::updatePortrait()
|
||||
}
|
||||
|
||||
|
||||
PAGE_INFO::PAGE_INFO( const VECTOR2D& aSizeMils, const wxString& aType, wxPaperSize aPaperId ) :
|
||||
m_type( aType ), m_size( aSizeMils ), m_paper_id( aPaperId )
|
||||
PAGE_INFO::PAGE_INFO( const VECTOR2D& aSizeMils, PAGE_SIZE_TYPE aType, wxPaperSize aPaperId,
|
||||
const wxString& aDescription ) :
|
||||
m_type( aType ),
|
||||
m_size( aSizeMils ),
|
||||
m_paper_id( aPaperId ),
|
||||
m_description( aDescription )
|
||||
{
|
||||
updatePortrait();
|
||||
|
||||
@ -113,61 +93,52 @@ PAGE_INFO::PAGE_INFO( const VECTOR2D& aSizeMils, const wxString& aType, wxPaperS
|
||||
}
|
||||
|
||||
|
||||
PAGE_INFO::PAGE_INFO( const wxString& aType, bool aIsPortrait )
|
||||
PAGE_INFO::PAGE_INFO( PAGE_SIZE_TYPE aType, bool aIsPortrait )
|
||||
{
|
||||
SetType( aType, aIsPortrait );
|
||||
}
|
||||
|
||||
|
||||
bool PAGE_INFO::SetType( const wxString& aType, bool aIsPortrait )
|
||||
bool PAGE_INFO::SetType( const wxString& aPageSize, bool aIsPortrait )
|
||||
{
|
||||
auto type =
|
||||
magic_enum::enum_cast<PAGE_SIZE_TYPE>( aPageSize.ToStdString(), magic_enum::case_insensitive );
|
||||
|
||||
if( !type.has_value() )
|
||||
return false;
|
||||
|
||||
return SetType( type.value(), aIsPortrait );
|
||||
}
|
||||
|
||||
|
||||
bool PAGE_INFO::SetType( PAGE_SIZE_TYPE aType, bool aIsPortrait )
|
||||
{
|
||||
bool rc = true;
|
||||
|
||||
// all are landscape initially
|
||||
if( aType == pageA5.GetType() )
|
||||
*this = pageA5;
|
||||
else if( aType == pageA4.GetType() )
|
||||
*this = pageA4;
|
||||
else if( aType == pageA3.GetType() )
|
||||
*this = pageA3;
|
||||
else if( aType == pageA2.GetType() )
|
||||
*this = pageA2;
|
||||
else if( aType == pageA1.GetType() )
|
||||
*this = pageA1;
|
||||
else if( aType == pageA0.GetType() )
|
||||
*this = pageA0;
|
||||
else if( aType == pageA.GetType() )
|
||||
*this = pageA;
|
||||
else if( aType == pageB.GetType() )
|
||||
*this = pageB;
|
||||
else if( aType == pageC.GetType() )
|
||||
*this = pageC;
|
||||
else if( aType == pageD.GetType() )
|
||||
*this = pageD;
|
||||
else if( aType == pageE.GetType() )
|
||||
*this = pageE;
|
||||
else if( aType == pageGERBER.GetType() )
|
||||
*this = pageGERBER;
|
||||
else if( aType == pageUSLetter.GetType() )
|
||||
*this = pageUSLetter;
|
||||
else if( aType == pageUSLegal.GetType() )
|
||||
*this = pageUSLegal;
|
||||
else if( aType == pageUSLedger.GetType() )
|
||||
*this = pageUSLedger;
|
||||
else if( aType == pageUser.GetType() )
|
||||
auto result = std::find_if( standardPageSizes.begin(), standardPageSizes.end(),
|
||||
[aType]( const PAGE_INFO& p )
|
||||
{
|
||||
// pageUser is const, and may not and does not hold the custom size,
|
||||
// so customize *this later
|
||||
*this = pageUser;
|
||||
return p.m_type == aType;
|
||||
} );
|
||||
|
||||
// customize:
|
||||
if( result != standardPageSizes.end() )
|
||||
{
|
||||
*this = *result;
|
||||
}
|
||||
else
|
||||
{
|
||||
rc = false;
|
||||
}
|
||||
|
||||
if( aType == PAGE_SIZE_TYPE::User )
|
||||
{
|
||||
m_type = PAGE_SIZE_TYPE::User;
|
||||
m_paper_id = wxPAPER_NONE;
|
||||
m_size.x = s_user_width;
|
||||
m_size.y = s_user_height;
|
||||
|
||||
updatePortrait();
|
||||
}
|
||||
else
|
||||
rc = false;
|
||||
|
||||
if( aIsPortrait )
|
||||
{
|
||||
@ -180,9 +151,16 @@ bool PAGE_INFO::SetType( const wxString& aType, bool aIsPortrait )
|
||||
}
|
||||
|
||||
|
||||
wxString PAGE_INFO::GetTypeAsString() const
|
||||
{
|
||||
std::string typeStr( magic_enum::enum_name( m_type ) );
|
||||
return wxString( typeStr );
|
||||
}
|
||||
|
||||
|
||||
bool PAGE_INFO::IsCustom() const
|
||||
{
|
||||
return m_type == Custom;
|
||||
return m_type == PAGE_SIZE_TYPE::User;
|
||||
}
|
||||
|
||||
|
||||
@ -251,7 +229,7 @@ void PAGE_INFO::SetWidthMils( double aWidthInMils )
|
||||
{
|
||||
m_size.x = clampWidth( aWidthInMils );
|
||||
|
||||
m_type = Custom;
|
||||
m_type = PAGE_SIZE_TYPE::User;
|
||||
m_paper_id = wxPAPER_NONE;
|
||||
|
||||
updatePortrait();
|
||||
@ -265,7 +243,7 @@ void PAGE_INFO::SetHeightMils( double aHeightInMils )
|
||||
{
|
||||
m_size.y = clampHeight( aHeightInMils );
|
||||
|
||||
m_type = Custom;
|
||||
m_type = PAGE_SIZE_TYPE::User;
|
||||
m_paper_id = wxPAPER_NONE;
|
||||
|
||||
updatePortrait();
|
||||
@ -275,11 +253,12 @@ void PAGE_INFO::SetHeightMils( double aHeightInMils )
|
||||
|
||||
void PAGE_INFO::Format( OUTPUTFORMATTER* aFormatter ) const
|
||||
{
|
||||
aFormatter->Print( "(paper %s", aFormatter->Quotew( GetType() ).c_str() );
|
||||
std::string typeStr( magic_enum::enum_name( GetType() ) );
|
||||
aFormatter->Print( "(paper %s", aFormatter->Quotew( typeStr ).c_str() );
|
||||
|
||||
// The page dimensions are only required for user defined page sizes.
|
||||
// Internally, the page size is in mils
|
||||
if( GetType() == PAGE_INFO::Custom )
|
||||
if( GetType() == PAGE_SIZE_TYPE::User )
|
||||
{
|
||||
aFormatter->Print( " %s %s",
|
||||
FormatDouble2Str( GetWidthMils() * 25.4 / 1000.0 ).c_str(),
|
||||
@ -291,3 +270,9 @@ void PAGE_INFO::Format( OUTPUTFORMATTER* aFormatter ) const
|
||||
|
||||
aFormatter->Print( ")" );
|
||||
}
|
||||
|
||||
|
||||
const std::vector<PAGE_INFO>& PAGE_INFO::GetPageFormatsList()
|
||||
{
|
||||
return PAGE_INFO::standardPageSizes;
|
||||
}
|
@ -828,7 +828,7 @@ bool PS_PLOTTER::StartPlot( const wxString& aPageNumber )
|
||||
// Also note pageSize is given in mils, not in internal units and must be
|
||||
// converted to internal units.
|
||||
|
||||
wxString pageType = m_pageInfo.GetType();
|
||||
wxString pageType = m_pageInfo.GetTypeAsString();
|
||||
if( m_pageInfo.IsCustom() )
|
||||
pageType = "Custom";
|
||||
|
||||
|
@ -247,7 +247,7 @@ void PANEL_EESCHEMA_COLOR_SETTINGS::createPreviewItems()
|
||||
|
||||
std::vector<DANGLING_END_ITEM> endPointsByType;
|
||||
|
||||
m_page = new PAGE_INFO( PAGE_INFO::Custom );
|
||||
m_page = new PAGE_INFO( PAGE_SIZE_TYPE::User );
|
||||
m_titleBlock = new TITLE_BLOCK;
|
||||
m_titleBlock->SetTitle( _( "Color Preview" ) );
|
||||
m_titleBlock->SetDate( wxDateTime::Now().FormatDate() );
|
||||
|
@ -888,7 +888,7 @@ int EESCHEMA_JOBS_HANDLER::doSymExportSvg( JOB_SYM_EXPORT_SVG* aSvgJob, SCH_REND
|
||||
// Get the symbol bounding box to fit the plot page to it
|
||||
BOX2I symbolBB = symbol->Flatten()->GetUnitBoundingBox( unit, bodyStyle,
|
||||
!aSvgJob->m_includeHiddenFields );
|
||||
PAGE_INFO pageInfo( PAGE_INFO::Custom );
|
||||
PAGE_INFO pageInfo( PAGE_SIZE_TYPE::User );
|
||||
pageInfo.SetHeightMils( schIUScale.IUToMils( symbolBB.GetHeight() * 1.2 ) );
|
||||
pageInfo.SetWidthMils( schIUScale.IUToMils( symbolBB.GetWidth() * 1.2 ) );
|
||||
|
||||
|
@ -4040,7 +4040,7 @@ void SCH_IO_ALTIUM::ParseSheet( const std::map<wxString, wxString>& aProperties
|
||||
{
|
||||
PAGE_INFO::SetCustomWidthMils( schIUScale.IUToMils( m_altiumSheet->customSize.x ) );
|
||||
PAGE_INFO::SetCustomHeightMils( schIUScale.IUToMils( m_altiumSheet->customSize.y ) );
|
||||
pageInfo.SetType( PAGE_INFO::Custom, isPortrait );
|
||||
pageInfo.SetType( PAGE_SIZE_TYPE::User, isPortrait );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -424,7 +424,7 @@ void SCH_IO_KICAD_LEGACY::loadPageSettings( LINE_READER& aReader, SCH_SCREEN* aS
|
||||
int pagew = parseInt( aReader, line, &line );
|
||||
int pageh = parseInt( aReader, line, &line );
|
||||
|
||||
if( buf == PAGE_INFO::Custom )
|
||||
if( pageInfo.GetType() == PAGE_SIZE_TYPE::User )
|
||||
{
|
||||
pageInfo.SetWidthMils( pagew );
|
||||
pageInfo.SetHeightMils( pageh );
|
||||
@ -1541,7 +1541,7 @@ void SCH_IO_KICAD_LEGACY::Format( SCH_SHEET* aSheet )
|
||||
const TITLE_BLOCK& tb = screen->GetTitleBlock();
|
||||
const PAGE_INFO& page = screen->GetPageSettings();
|
||||
|
||||
m_out->Print( 0, "$Descr %s %d %d%s\n", TO_UTF8( page.GetType() ),
|
||||
m_out->Print( 0, "$Descr %s %d %d%s\n", TO_UTF8( page.GetTypeAsString() ),
|
||||
(int)page.GetWidthMils(),
|
||||
(int)page.GetHeightMils(),
|
||||
!page.IsCustom() && page.IsPortrait() ? " portrait" : "" );
|
||||
|
@ -2120,7 +2120,7 @@ void SCH_IO_KICAD_SEXPR_PARSER::parsePAGE_INFO( PAGE_INFO& aPageInfo )
|
||||
CurOffset() );
|
||||
}
|
||||
|
||||
if( pageType == PAGE_INFO::Custom )
|
||||
if( aPageInfo.GetType() == PAGE_SIZE_TYPE::User )
|
||||
{
|
||||
double width = parseDouble( "width" );
|
||||
|
||||
|
@ -80,7 +80,7 @@ static const wxChar DanglingProfileMask[] = wxT( "DANGLING_PROFILE" );
|
||||
SCH_SCREEN::SCH_SCREEN( EDA_ITEM* aParent ) :
|
||||
BASE_SCREEN( aParent, SCH_SCREEN_T ),
|
||||
m_fileFormatVersionAtLoad( 0 ),
|
||||
m_paper( wxT( "A4" ) ),
|
||||
m_paper( PAGE_SIZE_TYPE::A4 ),
|
||||
m_isReadOnly( false ),
|
||||
m_fileExists( false )
|
||||
{
|
||||
|
@ -130,7 +130,7 @@ GERBVIEW_FRAME::GERBVIEW_FRAME( KIWAY* aKiway, wxWindow* aParent ) :
|
||||
SetIcons( icon_bundle );
|
||||
|
||||
// Be sure a page info is set. this default value will be overwritten later.
|
||||
PAGE_INFO pageInfo( wxT( "GERBER" ) );
|
||||
PAGE_INFO pageInfo( PAGE_SIZE_TYPE::GERBER );
|
||||
SetLayout( new GBR_LAYOUT() );
|
||||
SetPageSettings( pageInfo );
|
||||
|
||||
@ -327,7 +327,7 @@ void GERBVIEW_FRAME::LoadSettings( APP_SETTINGS_BASE* aCfg )
|
||||
SetElementVisibility( LAYER_GERBVIEW_DRAWINGSHEET, cfg->m_Appearance.show_border_and_titleblock );
|
||||
SetElementVisibility( LAYER_GERBVIEW_PAGE_LIMITS, cfg->m_Display.m_DisplayPageLimits );
|
||||
|
||||
PAGE_INFO pageInfo( wxT( "GERBER" ) );
|
||||
PAGE_INFO pageInfo( PAGE_SIZE_TYPE::GERBER );
|
||||
pageInfo.SetType( cfg->m_Appearance.page_type );
|
||||
SetPageSettings( pageInfo );
|
||||
|
||||
@ -346,7 +346,7 @@ void GERBVIEW_FRAME::SaveSettings( APP_SETTINGS_BASE* aCfg )
|
||||
|
||||
if( GERBVIEW_SETTINGS* cfg = dynamic_cast<GERBVIEW_SETTINGS*>( aCfg ) )
|
||||
{
|
||||
cfg->m_Appearance.page_type = GetPageSettings().GetType();
|
||||
cfg->m_Appearance.page_type = GetPageSettings().GetTypeAsString();
|
||||
|
||||
m_drillFileHistory.Save( &cfg->m_DrillFileHistory );
|
||||
m_zipFileHistory.Save( &cfg->m_ZipFileHistory );
|
||||
@ -1196,7 +1196,10 @@ void GERBVIEW_FRAME::CommonSettingsChanged( int aFlags )
|
||||
{
|
||||
GetGalDisplayOptions().ReadWindowSettings( cfg->m_Window );
|
||||
|
||||
SetPageSettings( PAGE_INFO( cfg->m_Appearance.page_type ) );
|
||||
PAGE_INFO pgInfo;
|
||||
pgInfo.SetType( cfg->m_Appearance.page_type );
|
||||
|
||||
SetPageSettings( pgInfo );
|
||||
SetElementVisibility( LAYER_DCODES, cfg->m_Appearance.show_dcodes );
|
||||
}
|
||||
|
||||
|
@ -102,8 +102,6 @@ private:
|
||||
// return true if changes are made, or false if not
|
||||
bool SavePageSettings();
|
||||
|
||||
void SetCurrentPageSizeSelection( const wxString& aPaperSize );
|
||||
|
||||
// Update drawing sheet example
|
||||
void UpdateDrawingSheetExample();
|
||||
|
||||
@ -121,7 +119,6 @@ protected:
|
||||
EDA_DRAW_FRAME* m_parent;
|
||||
BASE_SCREEN* m_screen;
|
||||
wxString m_projectPath; // the curr project path
|
||||
wxArrayString m_pageFmt; /// list of page sizes (not translated)
|
||||
bool m_initialized;
|
||||
bool m_localPrjConfigChanged; /// the page layuout filename was changed
|
||||
wxBitmap* m_pageBitmap; /// Temporary bitmap for the drawing sheet example.
|
||||
|
@ -30,6 +30,7 @@
|
||||
#ifndef PAGE_INFO_H
|
||||
#define PAGE_INFO_H
|
||||
|
||||
#include <map>
|
||||
#include <kicommon.h>
|
||||
#include <wx/string.h>
|
||||
#include <math/vector2d.h>
|
||||
@ -46,6 +47,30 @@
|
||||
|
||||
class OUTPUTFORMATTER;
|
||||
|
||||
/*
|
||||
* @brief Standard paper sizes nicknames
|
||||
* Do not rename entires as these names are saved to file and parsed back
|
||||
*/
|
||||
enum class PAGE_SIZE_TYPE
|
||||
{
|
||||
A5,
|
||||
A4,
|
||||
A3,
|
||||
A2,
|
||||
A1,
|
||||
A0,
|
||||
A,
|
||||
B,
|
||||
C,
|
||||
D,
|
||||
E,
|
||||
GERBER,
|
||||
USLetter,
|
||||
USLegal,
|
||||
USLedger,
|
||||
User
|
||||
};
|
||||
|
||||
/**
|
||||
* Describe the page size and margins of a paper page on which to eventually print or plot.
|
||||
*
|
||||
@ -58,29 +83,11 @@ class OUTPUTFORMATTER;
|
||||
class KICOMMON_API PAGE_INFO
|
||||
{
|
||||
public:
|
||||
PAGE_INFO( const wxString& aType = PAGE_INFO::A3, bool IsPortrait = false );
|
||||
PAGE_INFO( PAGE_SIZE_TYPE aType = PAGE_SIZE_TYPE::A3, bool IsPortrait = false );
|
||||
|
||||
// paper size names which are part of the public API, pass to SetType() or
|
||||
// above constructor.
|
||||
|
||||
// these were once wxStrings, but it caused static construction sequence problems:
|
||||
static const wxChar A5[];
|
||||
static const wxChar A4[];
|
||||
static const wxChar A3[];
|
||||
static const wxChar A2[];
|
||||
static const wxChar A1[];
|
||||
static const wxChar A0[];
|
||||
static const wxChar A[];
|
||||
static const wxChar B[];
|
||||
static const wxChar C[];
|
||||
static const wxChar D[];
|
||||
static const wxChar E[];
|
||||
static const wxChar GERBER[];
|
||||
static const wxChar USLetter[];
|
||||
static const wxChar USLegal[];
|
||||
static const wxChar USLedger[];
|
||||
static const wxChar Custom[]; ///< "User" defined page type
|
||||
|
||||
|
||||
/**
|
||||
* Set the name of the page type and also the sizes and margins commonly associated with
|
||||
@ -95,13 +102,17 @@ public:
|
||||
* @param aIsPortrait Set to true to set page orientation to portrait mode.
|
||||
* @return true if @a aStandarePageDescription was a recognized type.
|
||||
*/
|
||||
bool SetType( const wxString& aStandardPageDescriptionName, bool aIsPortrait = false );
|
||||
const wxString& GetType() const { return m_type; }
|
||||
bool SetType( PAGE_SIZE_TYPE aPageSize, bool aIsPortrait = false );
|
||||
bool SetType( const wxString& aPageSize, bool aIsPortrait = false );
|
||||
const PAGE_SIZE_TYPE& GetType() const { return m_type; }
|
||||
wxString GetTypeAsString() const;
|
||||
|
||||
const wxString& GetPageFormatDescription() const { return m_description; }
|
||||
|
||||
/**
|
||||
* @return True if the object has the default page settings which are A3, landscape.
|
||||
*/
|
||||
bool IsDefault() const { return m_type == PAGE_INFO::A3 && !m_portrait; }
|
||||
bool IsDefault() const { return m_type == PAGE_SIZE_TYPE::A3 && !m_portrait; }
|
||||
|
||||
/**
|
||||
* @return true if the type is Custom.
|
||||
@ -203,39 +214,25 @@ public:
|
||||
*/
|
||||
void Format( OUTPUTFORMATTER* aFormatter ) const;
|
||||
|
||||
static const std::vector<PAGE_INFO>& GetPageFormatsList();
|
||||
|
||||
protected:
|
||||
// only the class implementation(s) may use this constructor
|
||||
PAGE_INFO( const VECTOR2D& aSizeMils, const wxString& aName, wxPaperSize aPaperId );
|
||||
PAGE_INFO( const VECTOR2D& aSizeMils, const PAGE_SIZE_TYPE aType, wxPaperSize aPaperId,
|
||||
const wxString& aDescription = wxEmptyString );
|
||||
|
||||
private:
|
||||
// standard pre-defined sizes
|
||||
static const PAGE_INFO pageA5;
|
||||
static const PAGE_INFO pageA4;
|
||||
static const PAGE_INFO pageA3;
|
||||
static const PAGE_INFO pageA2;
|
||||
static const PAGE_INFO pageA1;
|
||||
static const PAGE_INFO pageA0;
|
||||
static const PAGE_INFO pageA;
|
||||
static const PAGE_INFO pageB;
|
||||
static const PAGE_INFO pageC;
|
||||
static const PAGE_INFO pageD;
|
||||
static const PAGE_INFO pageE;
|
||||
static const PAGE_INFO pageGERBER;
|
||||
|
||||
static const PAGE_INFO pageUSLetter;
|
||||
static const PAGE_INFO pageUSLegal;
|
||||
static const PAGE_INFO pageUSLedger;
|
||||
|
||||
static const PAGE_INFO pageUser;
|
||||
static std::vector<PAGE_INFO> standardPageSizes;
|
||||
|
||||
// all dimensions here are in mils
|
||||
|
||||
wxString m_type; ///< paper type: A4, A3, etc.
|
||||
PAGE_SIZE_TYPE m_type; ///< paper type: A4, A3, etc.
|
||||
VECTOR2D m_size; ///< mils
|
||||
|
||||
bool m_portrait; ///< true if portrait, false if landscape
|
||||
|
||||
wxPaperSize m_paper_id; ///< wx' style paper id.
|
||||
wxString m_description; ///< more human friendly description of page size
|
||||
|
||||
static double s_user_height;
|
||||
static double s_user_width;
|
||||
|
@ -226,7 +226,7 @@ void DIALOG_INSPECTOR::ReCreateDesignList()
|
||||
GetGridList()->SetCellValue( row, COL_TYPENAME, _( "Layout" ) );
|
||||
|
||||
// Display page format name.
|
||||
GetGridList()->SetCellValue( row, COL_COMMENT, page_info.GetType() );
|
||||
GetGridList()->SetCellValue( row, COL_COMMENT, page_info.GetTypeAsString() );
|
||||
GetGridList()->SetCellValue( row, COL_REPEAT_NUMBER, "-" );
|
||||
VECTOR2I page_sizeIU = m_editorFrame->GetPageSizeIU();
|
||||
GetGridList()->SetCellValue( row, COL_TEXTSTRING,
|
||||
|
@ -98,7 +98,7 @@ void PL_DRAW_PANEL_GAL::DisplayDrawingSheet()
|
||||
// To show the formatted texts instead of raw texts in drawing sheet editor, we need
|
||||
// a dummy DS_DRAW_ITEM_LIST.
|
||||
DS_DRAW_ITEM_LIST dummy( drawSheetIUScale );
|
||||
dummy.SetPaperFormat( m_edaFrame->GetPageSettings().GetType() );
|
||||
dummy.SetPaperFormat( m_edaFrame->GetPageSettings().GetTypeAsString() );
|
||||
dummy.SetTitleBlock( &m_edaFrame->GetTitleBlock() );
|
||||
dummy.SetProject( &m_edaFrame->Prj() );
|
||||
|
||||
|
@ -559,7 +559,7 @@ void PL_EDITOR_FRAME::SaveSettings( APP_SETTINGS_BASE* aCfg )
|
||||
cfg->m_PropertiesFrameWidth = m_propertiesFrameWidth;
|
||||
cfg->m_CornerOrigin = m_originSelectChoice;
|
||||
cfg->m_BlackBackground = GetDrawBgColor() == BLACK;
|
||||
cfg->m_LastPaperSize = GetPageSettings().GetType();
|
||||
cfg->m_LastPaperSize = GetPageSettings().GetTypeAsString();
|
||||
cfg->m_LastWasPortrait = GetPageSettings().IsPortrait();
|
||||
cfg->m_LastCustomWidth = PAGE_INFO::GetCustomWidthMils();
|
||||
cfg->m_LastCustomHeight = PAGE_INFO::GetCustomHeightMils();
|
||||
|
@ -29,7 +29,7 @@
|
||||
PL_EDITOR_LAYOUT::PL_EDITOR_LAYOUT() :
|
||||
m_drawItemList( drawSheetIUScale )
|
||||
{
|
||||
PAGE_INFO pageInfo( wxT( "A4" ) );
|
||||
PAGE_INFO pageInfo( PAGE_SIZE_TYPE::A4 );
|
||||
SetPageSettings( pageInfo );
|
||||
}
|
||||
|
||||
|
@ -84,7 +84,7 @@ BOARD::BOARD() :
|
||||
m_LegacyNetclassesLoaded( false ),
|
||||
m_boardUse( BOARD_USE::NORMAL ),
|
||||
m_timeStamp( 1 ),
|
||||
m_paper( PAGE_INFO::A4 ),
|
||||
m_paper( PAGE_SIZE_TYPE::A4 ),
|
||||
m_project( nullptr ),
|
||||
m_userUnits( EDA_UNITS::MM ),
|
||||
m_designSettings( new BOARD_DESIGN_SETTINGS( nullptr, "board.design_settings" ) ),
|
||||
|
@ -796,7 +796,7 @@ void PANEL_PCBNEW_COLOR_SETTINGS::onNewThemeSelected()
|
||||
|
||||
void PANEL_PCBNEW_COLOR_SETTINGS::createPreviewItems()
|
||||
{
|
||||
m_page = new PAGE_INFO( PAGE_INFO::Custom );
|
||||
m_page = new PAGE_INFO( PAGE_SIZE_TYPE::User );
|
||||
m_titleBlock = new TITLE_BLOCK;
|
||||
m_titleBlock->SetTitle( _( "Color Preview" ) );
|
||||
m_titleBlock->SetDate( wxDateTime::Now().FormatDate() );
|
||||
|
@ -94,7 +94,7 @@ bool GENDRILL_WRITER_BASE::genDrillMapFile( const wxString& aFullFileName, PLOT_
|
||||
double scale = 1.0;
|
||||
VECTOR2I offset = GetOffset();
|
||||
PLOTTER* plotter = nullptr;
|
||||
PAGE_INFO dummy( PAGE_INFO::A4, false );
|
||||
PAGE_INFO dummy( PAGE_SIZE_TYPE::A4, false );
|
||||
int bottom_limit = 0; // Y coord limit of page. 0 mean do not use
|
||||
|
||||
PCB_PLOT_PARAMS plot_opts; // starts plotting with default options
|
||||
|
@ -156,7 +156,7 @@ FOOTPRINT_EDIT_FRAME::FOOTPRINT_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent ) :
|
||||
GetGalDisplayOptions().m_axesEnabled = true;
|
||||
|
||||
// In Footprint Editor, set the default paper size to A4 for plot/print
|
||||
SetPageSettings( PAGE_INFO( PAGE_INFO::A4 ) );
|
||||
SetPageSettings( PAGE_INFO( PAGE_SIZE_TYPE::A4 ) );
|
||||
SetScreen( new PCB_SCREEN( GetPageSettings().GetSizeIU( pcbIUScale.IU_PER_MILS ) ) );
|
||||
|
||||
// Create the manager and dispatcher & route draw panel events to the dispatcher
|
||||
|
@ -801,7 +801,7 @@ void PCB_IO_KICAD_LEGACY::loadSHEET()
|
||||
char* orient = strtok_r( nullptr, delims, &data );
|
||||
|
||||
// only parse the width and height if page size is custom ("User")
|
||||
if( wname == PAGE_INFO::Custom )
|
||||
if( page.GetType() == PAGE_SIZE_TYPE::User )
|
||||
{
|
||||
if( width && height )
|
||||
{
|
||||
|
@ -1445,7 +1445,7 @@ void PCB_IO_KICAD_SEXPR_PARSER::parsePAGE_INFO()
|
||||
THROW_PARSE_ERROR( err, CurSource(), CurLine(), CurLineNumber(), CurOffset() );
|
||||
}
|
||||
|
||||
if( pageType == PAGE_INFO::Custom )
|
||||
if( pageInfo.GetType() == PAGE_SIZE_TYPE::User )
|
||||
{
|
||||
double width = parseDouble( "width" ); // width in mm
|
||||
|
||||
|
@ -1088,7 +1088,7 @@ void GenerateLayerPoly( SHAPE_POLY_SET* aResult, BOARD *aBoard, PCB_LAYER_ID aLa
|
||||
*/
|
||||
static void initializePlotter( PLOTTER* aPlotter, const BOARD* aBoard, const PCB_PLOT_PARAMS* aPlotOpts )
|
||||
{
|
||||
PAGE_INFO pageA4( wxT( "A4" ) );
|
||||
PAGE_INFO pageA4( PAGE_SIZE_TYPE::A4 );
|
||||
const PAGE_INFO& pageInfo = aBoard->GetPageSettings();
|
||||
const PAGE_INFO* sheet_info;
|
||||
double paperscale; // Page-to-paper ratio
|
||||
|
Loading…
x
Reference in New Issue
Block a user