fix syntax error in kicad_plugin.cpp, carve out class_page_info.cpp, and add PAGE_INFO::Custom
This commit is contained in:
@@ -174,198 +174,6 @@ bool EnsureTextCtrlWidth( wxTextCtrl* aCtrl, const wxString* aString )
|
||||
}
|
||||
|
||||
|
||||
//-----<PAGE_INFO>-------------------------------------------------------------
|
||||
|
||||
// Standard page sizes in mils, all constants
|
||||
#if defined(KICAD_GOST)
|
||||
const PAGE_INFO PAGE_INFO::pageA4( wxSize( 8283, 11700 ), wxT( "A4" ) );
|
||||
#else
|
||||
const PAGE_INFO PAGE_INFO::pageA4( wxSize( 11700, 8267 ), wxT( "A4" ) );
|
||||
#endif
|
||||
const PAGE_INFO PAGE_INFO::pageA3( wxSize( 16535, 11700 ), wxT( "A3" ) );
|
||||
const PAGE_INFO PAGE_INFO::pageA2( wxSize( 23400, 16535 ), wxT( "A2" ) );
|
||||
const PAGE_INFO PAGE_INFO::pageA1( wxSize( 33070, 23400 ), wxT( "A1" ) );
|
||||
const PAGE_INFO PAGE_INFO::pageA0( wxSize( 46800, 33070 ), wxT( "A0" ) );
|
||||
const PAGE_INFO PAGE_INFO::pageA( wxSize( 11000, 8500 ), wxT( "A" ) );
|
||||
const PAGE_INFO PAGE_INFO::pageB( wxSize( 17000, 11000 ), wxT( "B" ) );
|
||||
const PAGE_INFO PAGE_INFO::pageC( wxSize( 22000, 17000 ), wxT( "C" ) );
|
||||
const PAGE_INFO PAGE_INFO::pageD( wxSize( 34000, 22000 ), wxT( "D" ) );
|
||||
const PAGE_INFO PAGE_INFO::pageE( wxSize( 44000, 34000 ), wxT( "E" ) );
|
||||
const PAGE_INFO PAGE_INFO::pageGERBER(wxSize( 32000, 32000 ), wxT( "GERBER" ) );
|
||||
const PAGE_INFO PAGE_INFO::pageUser( wxSize( 17000, 11000 ), wxT( "User" ) );
|
||||
|
||||
int PAGE_INFO::s_user_width = 17000;
|
||||
int PAGE_INFO::s_user_height = 11000;
|
||||
|
||||
/*
|
||||
wxArrayString PAGE_INFO::GetStandardSizes()
|
||||
{
|
||||
wxArrayString ret;
|
||||
|
||||
static const PAGE_INFO* stdPageSizes[] = {
|
||||
&pageA4,
|
||||
&pageA3,
|
||||
&pageA2,
|
||||
&pageA1,
|
||||
&pageA0,
|
||||
&pageA,
|
||||
&pageB,
|
||||
&pageC,
|
||||
&pageD,
|
||||
&pageE,
|
||||
// &pageGERBER, // standard?
|
||||
&pageUser,
|
||||
};
|
||||
|
||||
for( unsigned i=0; i < DIM( stdPageSizes ); ++i )
|
||||
ret.Add( stdPageSizes[i]->GetType() );
|
||||
|
||||
return ret;
|
||||
}
|
||||
*/
|
||||
|
||||
PAGE_INFO::PAGE_INFO( const wxSize& aSizeMils, const wxString& aType ) :
|
||||
m_type( aType ),
|
||||
m_size( aSizeMils ),
|
||||
m_portrait( false )
|
||||
{
|
||||
#if defined(KICAD_GOST)
|
||||
m_left_margin = GOST_LEFTMARGIN;
|
||||
m_right_margin = GOST_RIGHTMARGIN;
|
||||
m_top_margin = GOST_TOPMARGIN;
|
||||
m_bottom_margin = GOST_BOTTOMMARGIN;
|
||||
#else
|
||||
m_left_margin = m_right_margin = m_top_margin = m_bottom_margin = 400;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
PAGE_INFO::PAGE_INFO( const wxString& aType )
|
||||
{
|
||||
SetType( aType );
|
||||
}
|
||||
|
||||
bool PAGE_INFO::SetType( const wxString& aType )
|
||||
{
|
||||
bool rc = true;
|
||||
|
||||
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 == pageUser.GetType() )
|
||||
{
|
||||
// pageUser is const, and may not and does not hold the custom size,
|
||||
// so customize *this later
|
||||
*this = pageUser;
|
||||
|
||||
// customize:
|
||||
m_size.x = s_user_width;
|
||||
m_size.y = s_user_height;
|
||||
}
|
||||
else
|
||||
rc = false;
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
||||
void PAGE_INFO::SetPortrait( bool isPortrait )
|
||||
{
|
||||
if( m_portrait != isPortrait )
|
||||
{
|
||||
// swap x and y in m_size
|
||||
m_size = wxSize( m_size.y, m_size.x );
|
||||
|
||||
m_portrait = isPortrait;
|
||||
|
||||
// margins are not touched.
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static int clampWidth( int aWidthInMils )
|
||||
{
|
||||
if( aWidthInMils < 4000 ) // 4" is about a baseball card
|
||||
aWidthInMils = 4000;
|
||||
else if( aWidthInMils > 44000 ) //44" is plotter size
|
||||
aWidthInMils = 44000;
|
||||
return aWidthInMils;
|
||||
}
|
||||
|
||||
|
||||
static int clampHeight( int aHeightInMils )
|
||||
{
|
||||
if( aHeightInMils < 4000 )
|
||||
aHeightInMils = 4000;
|
||||
else if( aHeightInMils > 44000 )
|
||||
aHeightInMils = 44000;
|
||||
return aHeightInMils;
|
||||
}
|
||||
|
||||
|
||||
void PAGE_INFO::SetUserWidthMils( int aWidthInMils )
|
||||
{
|
||||
s_user_width = clampWidth( aWidthInMils );
|
||||
}
|
||||
|
||||
|
||||
void PAGE_INFO::SetUserHeightMils( int aHeightInMils )
|
||||
{
|
||||
s_user_height = clampHeight( aHeightInMils );
|
||||
}
|
||||
|
||||
|
||||
void PAGE_INFO::SetWidthMils( int aWidthInMils )
|
||||
{
|
||||
m_size.x = clampWidth( aWidthInMils );
|
||||
}
|
||||
|
||||
|
||||
int PAGE_INFO::GetWidthMils() const
|
||||
{
|
||||
return m_size.x;
|
||||
}
|
||||
|
||||
|
||||
void PAGE_INFO::SetHeightMils( int aHeightInMils )
|
||||
{
|
||||
m_size.y = clampHeight( aHeightInMils );
|
||||
}
|
||||
|
||||
|
||||
int PAGE_INFO::GetHeightMils() const
|
||||
{
|
||||
return m_size.y;
|
||||
}
|
||||
|
||||
|
||||
const wxSize& PAGE_INFO::GetSizeMils() const
|
||||
{
|
||||
return m_size;
|
||||
}
|
||||
|
||||
//-----</PAGE_INFO>------------------------------------------------------------
|
||||
|
||||
|
||||
wxString ReturnUnitSymbol( EDA_UNITS_T aUnit, const wxString& formatString )
|
||||
{
|
||||
wxString tmp;
|
||||
|
||||
Reference in New Issue
Block a user