Commit 001723e0 authored by jean-pierre charras's avatar jean-pierre charras

Worksheet code: cleanup and remove useless parameters.

parent 568ae2ec
...@@ -66,11 +66,16 @@ void PlotWorkSheet( PLOTTER* plotter, const TITLE_BLOCK& aTitleBlock, ...@@ -66,11 +66,16 @@ void PlotWorkSheet( PLOTTER* plotter, const TITLE_BLOCK& aTitleBlock,
plotter->SetCurrentLineWidth( PLOTTER::DEFAULT_LINE_WIDTH ); plotter->SetCurrentLineWidth( PLOTTER::DEFAULT_LINE_WIDTH );
WS_DRAW_ITEM_LIST drawList; WS_DRAW_ITEM_LIST drawList;
drawList.BuildWorkSheetGraphicList( pageSize, LTmargin, RBmargin, // Initialize plot parameters
drawList.SetMargins( LTmargin, RBmargin);
drawList.SetPenSize(PLOTTER::DEFAULT_LINE_WIDTH );
drawList.SetMilsToIUfactor( iusPerMil );
drawList.SetPageSize( pageSize );
drawList.BuildWorkSheetGraphicList(
aPageInfo.GetType(), aFilename, aPageInfo.GetType(), aFilename,
aSheetDesc, aSheetDesc,
aTitleBlock, aNumberOfSheets, aSheetNumber, aTitleBlock, aNumberOfSheets, aSheetNumber,
PLOTTER::DEFAULT_LINE_WIDTH, iusPerMil,
plotColor, plotColor ); plotColor, plotColor );
// Draw item list // Draw item list
......
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
#include <general.h> #include <general.h>
#endif #endif
#include <worksheet.h>
#include <dialog_page_settings.h> #include <dialog_page_settings.h>
...@@ -577,10 +578,6 @@ void DIALOG_PAGES_SETTINGS::UpdatePageLayoutExample() ...@@ -577,10 +578,6 @@ void DIALOG_PAGES_SETTINGS::UpdatePageLayoutExample()
if( m_page_bitmap->IsOk() ) if( m_page_bitmap->IsOk() )
{ {
// Save current clip box and temporary expand it.
EDA_RECT save_clip_box = *m_Parent->GetCanvas()->GetClipBox();
m_Parent->GetCanvas()->SetClipBox( EDA_RECT( wxPoint( 0, 0 ),
wxSize( INT_MAX / 2, INT_MAX / 2 ) ) );
// Calculate layout preview scale. // Calculate layout preview scale.
int appScale = m_Screen->MilsToIuScalar(); int appScale = m_Screen->MilsToIuScalar();
...@@ -601,10 +598,6 @@ void DIALOG_PAGES_SETTINGS::UpdatePageLayoutExample() ...@@ -601,10 +598,6 @@ void DIALOG_PAGES_SETTINGS::UpdatePageLayoutExample()
pageDUMMY.SetWidthMils( clamped_layout_size.x ); pageDUMMY.SetWidthMils( clamped_layout_size.x );
pageDUMMY.SetHeightMils( clamped_layout_size.y ); pageDUMMY.SetHeightMils( clamped_layout_size.y );
wxSize dummySize = pageDUMMY.GetSizeMils();
wxPoint pointLeftTop( pageDUMMY.GetLeftMarginMils(), pageDUMMY.GetTopMarginMils() );
wxPoint pointRightBottom( pageDUMMY.GetRightMarginMils(), pageDUMMY.GetBottomMarginMils() );
// Get page type // Get page type
int idx = m_paperSizeComboBox->GetSelection(); int idx = m_paperSizeComboBox->GetSelection();
...@@ -615,18 +608,16 @@ void DIALOG_PAGES_SETTINGS::UpdatePageLayoutExample() ...@@ -615,18 +608,16 @@ void DIALOG_PAGES_SETTINGS::UpdatePageLayoutExample()
// Draw layout preview. // Draw layout preview.
wxString emptyString; wxString emptyString;
GRResetPenAndBrush( ( wxDC* ) &memDC ); GRResetPenAndBrush( &memDC );
m_Parent->TraceWorkSheet( (wxDC*) &memDC, dummySize, pointLeftTop, pointRightBottom, DrawPageLayout( &memDC, NULL, pageDUMMY,
paperType, emptyString, m_tb, m_Screen->m_NumberOfScreens, paperType, emptyString, emptyString,
m_Screen->m_ScreenNumber, 1, appScale, LIGHTGRAY, RED ); m_tb, m_Screen->m_NumberOfScreens,
m_Screen->m_ScreenNumber, 1, appScale, DARKGRAY, RED );
memDC.SelectObject( wxNullBitmap ); memDC.SelectObject( wxNullBitmap );
m_PageLayoutExampleBitmap->SetBitmap( *m_page_bitmap ); m_PageLayoutExampleBitmap->SetBitmap( *m_page_bitmap );
// Restore current clip box.
m_Parent->GetCanvas()->SetClipBox( save_clip_box );
// Refresh the dialog. // Refresh the dialog.
Layout(); Layout();
Refresh(); Refresh();
......
...@@ -317,14 +317,12 @@ Ki_WorkSheetData WS_Segm7 = ...@@ -317,14 +317,12 @@ Ki_WorkSheetData WS_Segm7 =
#include <worksheet_shape_builder.h> #include <worksheet_shape_builder.h>
void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList(
wxPoint& aLTmargin, wxPoint& aRBmargin,
const wxString& aPaperFormat, const wxString& aPaperFormat,
const wxString& aFileName, const wxString& aFileName,
const wxString& aSheetPathHumanReadable, const wxString& aSheetPathHumanReadable,
const TITLE_BLOCK& aTitleBlock, const TITLE_BLOCK& aTitleBlock,
int aSheetCount, int aSheetNumber, int aSheetCount, int aSheetNumber,
int aPenWidth, double aScalar,
EDA_COLOR_T aLineColor, EDA_COLOR_T aTextColor ) EDA_COLOR_T aLineColor, EDA_COLOR_T aTextColor )
{ {
wxPoint pos; wxPoint pos;
...@@ -332,18 +330,18 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -332,18 +330,18 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
int refx, refy; int refx, refy;
wxString Line; wxString Line;
Ki_WorkSheetData* WsItem; Ki_WorkSheetData* WsItem;
wxSize size( SIZETEXT * aScalar, SIZETEXT * aScalar ); wxSize size( SIZETEXT * m_milsToIu, SIZETEXT * m_milsToIu );
wxSize size_ref( SIZETEXT_REF * aScalar, SIZETEXT_REF * aScalar ); wxSize size_ref( SIZETEXT_REF * m_milsToIu, SIZETEXT_REF * m_milsToIu );
wxString msg; wxString msg;
// Upper left corner // Upper left corner
refx = aLTmargin.x; refx = m_LTmargin.x;
refy = aLTmargin.y; refy = m_LTmargin.y;
// lower right corner // lower right corner
int xg, yg; wxPoint currpos;
xg = aPageSize.x - aRBmargin.x; currpos.x = m_pageSize.x - m_RBmargin.x;
yg = aPageSize.y - aRBmargin.y; currpos.y = m_pageSize.y - m_RBmargin.y;
// Draw the border. // Draw the border.
int ii, jj, ipas, gxpas, gypas; int ii, jj, ipas, gxpas, gypas;
...@@ -351,58 +349,60 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -351,58 +349,60 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
for( ii = 0; ii < 2; ii++ ) for( ii = 0; ii < 2; ii++ )
{ {
Append( new WS_DRAW_ITEM_RECT( Append( new WS_DRAW_ITEM_RECT(
wxPoint( refx * aScalar, refy * aScalar ), wxPoint( refx * m_milsToIu, refy * m_milsToIu ),
wxPoint( xg * aScalar, yg * aScalar ), wxPoint( currpos.x * m_milsToIu, currpos.y * m_milsToIu ),
aPenWidth, aLineColor ) ); m_penSize, aLineColor ) );
refx += GRID_REF_W; refy += GRID_REF_W; refx += GRID_REF_W;
xg -= GRID_REF_W; yg -= GRID_REF_W; refy += GRID_REF_W;
currpos.x -= GRID_REF_W;
currpos.y -= GRID_REF_W;
} }
// Upper left corner // Upper left corner
refx = aLTmargin.x; refx = m_LTmargin.x;
refy = aLTmargin.y; refy = m_LTmargin.y;
// lower right corner // lower right corner
xg = aPageSize.x - aRBmargin.x; currpos.x = m_pageSize.x - m_RBmargin.x;
yg = aPageSize.y - aRBmargin.y; currpos.y = m_pageSize.y - m_RBmargin.y;
ipas = ( xg - refx ) / PAS_REF; ipas = ( currpos.x - refx ) / PAS_REF;
gxpas = ( xg - refx ) / ipas; gxpas = ( currpos.x - refx ) / ipas;
for( ii = refx + gxpas, jj = 1; ipas > 0; ii += gxpas, jj++, ipas-- ) for( ii = refx + gxpas, jj = 1; ipas > 0; ii += gxpas, jj++, ipas-- )
{ {
Line.Printf( wxT( "%d" ), jj ); Line.Printf( wxT( "%d" ), jj );
if( ii < xg - PAS_REF / 2 ) if( ii < currpos.x - PAS_REF / 2 )
{ {
Append( new WS_DRAW_ITEM_LINE( Append( new WS_DRAW_ITEM_LINE(
wxPoint( ii * aScalar, refy * aScalar ), wxPoint( ii * m_milsToIu, refy * m_milsToIu ),
wxPoint( ii * aScalar, ( refy + GRID_REF_W ) * aScalar ), wxPoint( ii * m_milsToIu, ( refy + GRID_REF_W ) * m_milsToIu ),
aPenWidth, aLineColor ) ); m_penSize, aLineColor ) );
} }
Append( new WS_DRAW_ITEM_TEXT( Line, Append( new WS_DRAW_ITEM_TEXT( Line,
wxPoint( ( ii - gxpas / 2 ) * aScalar, wxPoint( ( ii - gxpas / 2 ) * m_milsToIu,
( refy + GRID_REF_W / 2 ) * aScalar ), ( refy + GRID_REF_W / 2 ) * m_milsToIu ),
size_ref, aPenWidth, aLineColor ) ); size_ref, m_penSize, aLineColor ) );
if( ii < xg - PAS_REF / 2 ) if( ii < currpos.x - PAS_REF / 2 )
{ {
Append( new WS_DRAW_ITEM_LINE( Append( new WS_DRAW_ITEM_LINE(
wxPoint( ii * aScalar, yg * aScalar ), wxPoint( ii * m_milsToIu, currpos.y * m_milsToIu ),
wxPoint( ii * aScalar, (yg - GRID_REF_W ) * aScalar ), wxPoint( ii * m_milsToIu, (currpos.y - GRID_REF_W ) * m_milsToIu ),
aPenWidth, aLineColor ) ); m_penSize, aLineColor ) );
} }
Append( new WS_DRAW_ITEM_TEXT( Line, Append( new WS_DRAW_ITEM_TEXT( Line,
wxPoint( ( ii - gxpas / 2 ) * aScalar, wxPoint( ( ii - gxpas / 2 ) * m_milsToIu,
( yg - GRID_REF_W / 2) * aScalar ), ( currpos.y - GRID_REF_W / 2) * m_milsToIu ),
size_ref, aPenWidth, aLineColor ) ); size_ref, m_penSize, aLineColor ) );
} }
ipas = ( yg - refy ) / PAS_REF; ipas = ( currpos.y - refy ) / PAS_REF;
gypas = ( yg - refy ) / ipas; gypas = ( currpos.y - refy ) / ipas;
for( ii = refy + gypas, jj = 0; ipas > 0; ii += gypas, jj++, ipas-- ) for( ii = refy + gypas, jj = 0; ipas > 0; ii += gypas, jj++, ipas-- )
{ {
...@@ -411,43 +411,43 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -411,43 +411,43 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
else // I hope 52 identifiers are enough... else // I hope 52 identifiers are enough...
Line.Printf( wxT( "%c" ), 'a' + jj - 26 ); Line.Printf( wxT( "%c" ), 'a' + jj - 26 );
if( ii < yg - PAS_REF / 2 ) if( ii < currpos.y - PAS_REF / 2 )
{ {
Append( new WS_DRAW_ITEM_LINE( Append( new WS_DRAW_ITEM_LINE(
wxPoint( refx * aScalar, ii * aScalar ), wxPoint( refx * m_milsToIu, ii * m_milsToIu ),
wxPoint( ( refx + GRID_REF_W ) * aScalar, ii * aScalar ), wxPoint( ( refx + GRID_REF_W ) * m_milsToIu, ii * m_milsToIu ),
aPenWidth, aLineColor ) ); m_penSize, aLineColor ) );
} }
Append( new WS_DRAW_ITEM_TEXT( Line, Append( new WS_DRAW_ITEM_TEXT( Line,
wxPoint( ( refx + GRID_REF_W / 2 ) * aScalar, wxPoint( ( refx + GRID_REF_W / 2 ) * m_milsToIu,
( ii - gypas / 2 ) * aScalar ), ( ii - gypas / 2 ) * m_milsToIu ),
size_ref, aPenWidth, aLineColor ) ); size_ref, m_penSize, aLineColor ) );
if( ii < yg - PAS_REF / 2 ) if( ii < currpos.y - PAS_REF / 2 )
{ {
Append( new WS_DRAW_ITEM_LINE( Append( new WS_DRAW_ITEM_LINE(
wxPoint( xg * aScalar, ii * aScalar ), wxPoint( currpos.x * m_milsToIu, ii * m_milsToIu ),
wxPoint( ( xg - GRID_REF_W ) * aScalar, ii * aScalar ), wxPoint( ( currpos.x - GRID_REF_W ) * m_milsToIu, ii * m_milsToIu ),
aPenWidth, aLineColor ) ); m_penSize, aLineColor ) );
} }
Append( new WS_DRAW_ITEM_TEXT( Line, Append( new WS_DRAW_ITEM_TEXT( Line,
wxPoint( ( xg - GRID_REF_W / 2 ) * aScalar, wxPoint( ( currpos.x - GRID_REF_W / 2 ) * m_milsToIu,
( ii - gxpas / 2 ) * aScalar ), ( ii - gxpas / 2 ) * m_milsToIu ),
size_ref, aPenWidth, aLineColor ) ); size_ref, m_penSize, aLineColor ) );
} }
int UpperLimit = VARIABLE_BLOCK_START_POSITION; int UpperLimit = VARIABLE_BLOCK_START_POSITION;
refx = aPageSize.x - aRBmargin.x - GRID_REF_W; refx = m_pageSize.x - m_RBmargin.x - GRID_REF_W;
refy = aPageSize.y - aRBmargin.y - GRID_REF_W; refy = m_pageSize.y - m_RBmargin.y - GRID_REF_W;
WS_DRAW_ITEM_TEXT* gtext; WS_DRAW_ITEM_TEXT* gtext;
for( WsItem = &WS_Date; WsItem != NULL; WsItem = WsItem->Pnext ) for( WsItem = &WS_Date; WsItem != NULL; WsItem = WsItem->Pnext )
{ {
pos.x = (refx - WsItem->m_Posx) * aScalar; pos.x = (refx - WsItem->m_Posx) * m_milsToIu;
pos.y = (refy - WsItem->m_Posy) * aScalar; pos.y = (refy - WsItem->m_Posy) * m_milsToIu;
msg.Empty(); msg.Empty();
switch( WsItem->m_Type ) switch( WsItem->m_Type )
...@@ -459,7 +459,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -459,7 +459,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
msg += aTitleBlock.GetDate(); msg += aTitleBlock.GetDate();
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos,
size, aPenWidth, aLineColor, false, size, m_penSize, aLineColor, false,
true ) ); true ) );
gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT ); gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT );
break; break;
...@@ -495,7 +495,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -495,7 +495,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
msg += g_ProductName + wxGetApp().GetAppName(); msg += g_ProductName + wxGetApp().GetAppName();
msg += wxT( " " ) + GetBuildVersion(); msg += wxT( " " ) + GetBuildVersion();
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, size, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, size,
aPenWidth, aLineColor ) ); m_penSize, aLineColor ) );
gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT ); gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT );
break; break;
...@@ -506,7 +506,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -506,7 +506,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
msg += aPaperFormat; msg += aPaperFormat;
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, size, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, size,
aPenWidth, aLineColor ) ); m_penSize, aLineColor ) );
gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT ); gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT );
break; break;
...@@ -518,7 +518,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -518,7 +518,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
msg << aSheetNumber << wxT( "/" ) << aSheetCount; msg << aSheetNumber << wxT( "/" ) << aSheetCount;
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, size, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, size,
aPenWidth, aLineColor ) ); m_penSize, aLineColor ) );
gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT ); gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT );
break; break;
...@@ -531,7 +531,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -531,7 +531,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
msg << fn.GetFullName(); msg << fn.GetFullName();
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, size, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, size,
aPenWidth, aLineColor ) ); m_penSize, aLineColor ) );
gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT ); gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT );
} }
break; break;
...@@ -543,7 +543,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -543,7 +543,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
msg += aSheetPathHumanReadable; msg += aSheetPathHumanReadable;
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, size, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, size,
aPenWidth, aLineColor ) ); m_penSize, aLineColor ) );
gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT ); gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT );
break; break;
...@@ -602,7 +602,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -602,7 +602,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
if( !msg.IsEmpty() ) if( !msg.IsEmpty() )
{ {
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, size, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, size,
aPenWidth, aTextColor ) ); m_penSize, aTextColor ) );
gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT ); gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT );
UpperLimit = std::max( UpperLimit, WsItem->m_Posy + SIZETEXT ); UpperLimit = std::max( UpperLimit, WsItem->m_Posy + SIZETEXT );
} }
...@@ -619,7 +619,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -619,7 +619,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
if( !msg.IsEmpty() ) if( !msg.IsEmpty() )
{ {
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, size, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, size,
aPenWidth, aTextColor ) ); m_penSize, aTextColor ) );
gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT ); gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT );
UpperLimit = std::max( UpperLimit, WsItem->m_Posy + SIZETEXT ); UpperLimit = std::max( UpperLimit, WsItem->m_Posy + SIZETEXT );
} }
...@@ -636,7 +636,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -636,7 +636,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
if( !msg.IsEmpty() ) if( !msg.IsEmpty() )
{ {
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, size, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, size,
aPenWidth, aTextColor ) ); m_penSize, aTextColor ) );
gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT ); gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT );
UpperLimit = std::max( UpperLimit, WsItem->m_Posy + SIZETEXT ); UpperLimit = std::max( UpperLimit, WsItem->m_Posy + SIZETEXT );
} }
...@@ -653,7 +653,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -653,7 +653,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
if( !msg.IsEmpty() ) if( !msg.IsEmpty() )
{ {
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, size, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, size,
aPenWidth, aTextColor ) ); m_penSize, aTextColor ) );
gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT ); gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT );
UpperLimit = std::max( UpperLimit, WsItem->m_Posy + SIZETEXT ); UpperLimit = std::max( UpperLimit, WsItem->m_Posy + SIZETEXT );
} }
...@@ -669,14 +669,14 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -669,14 +669,14 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
WS_MostUpperLine.m_Posy = WS_MostUpperLine.m_Posy =
WS_MostUpperLine.m_Endy = WS_MostUpperLine.m_Endy =
WS_MostLeftLine.m_Posy = UpperLimit; WS_MostLeftLine.m_Posy = UpperLimit;
pos.y = (refy - WsItem->m_Posy) * aScalar; pos.y = (refy - WsItem->m_Posy) * m_milsToIu;
case WS_SEGMENT: case WS_SEGMENT:
xg = aPageSize.x - GRID_REF_W - aRBmargin.x - WsItem->m_Endx; currpos.x = m_pageSize.x - GRID_REF_W - m_RBmargin.x - WsItem->m_Endx;
yg = aPageSize.y - GRID_REF_W - aRBmargin.y - WsItem->m_Endy; currpos.y = m_pageSize.y - GRID_REF_W - m_RBmargin.y - WsItem->m_Endy;
Append( new WS_DRAW_ITEM_LINE( pos, Append( new WS_DRAW_ITEM_LINE( pos,
wxPoint( xg * aScalar, yg * aScalar ), wxPoint( currpos.x * m_milsToIu, currpos.y * m_milsToIu ),
aPenWidth, aLineColor ) ); m_penSize, aLineColor ) );
break; break;
} }
} }
......
...@@ -963,14 +963,12 @@ Ki_WorkSheetData WS_DopTop_Line6 = ...@@ -963,14 +963,12 @@ Ki_WorkSheetData WS_DopTop_Line6 =
#include <worksheet_shape_builder.h> #include <worksheet_shape_builder.h>
void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList(
wxPoint& aLTmargin, wxPoint& aRBmargin,
const wxString& aPaperFormat, const wxString& aPaperFormat,
const wxString& aFileName, const wxString& aFileName,
const wxString& aSheetPathHumanReadable, const wxString& aSheetPathHumanReadable,
const TITLE_BLOCK& aTitleBlock, const TITLE_BLOCK& aTitleBlock,
int aSheetCount, int aSheetNumber, int aSheetCount, int aSheetNumber,
int aPenWidth, double aScalar,
EDA_COLOR_T aLineColor, EDA_COLOR_T aTextColor ) EDA_COLOR_T aLineColor, EDA_COLOR_T aTextColor )
{ {
wxPoint pos; wxPoint pos;
...@@ -978,48 +976,48 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -978,48 +976,48 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
int refx, refy; int refx, refy;
wxString Line; wxString Line;
Ki_WorkSheetData* WsItem; Ki_WorkSheetData* WsItem;
wxSize size( SIZETEXT * aScalar, SIZETEXT * aScalar ); wxSize size( SIZETEXT * m_milsToIu, SIZETEXT * m_milsToIu );
wxSize size_ref( SIZETEXT_REF * aScalar, SIZETEXT_REF * aScalar ); wxSize size_ref( SIZETEXT_REF * m_milsToIu, SIZETEXT_REF * m_milsToIu );
wxString msg; wxString msg;
WS_DRAW_ITEM_TEXT* gtext; WS_DRAW_ITEM_TEXT* gtext;
// Upper left corner // Upper left corner
refx = aLTmargin.x; refx = m_LTmargin.x;
refy = aLTmargin.y; refy = m_LTmargin.y;
// lower right corner // lower right corner
int xg, yg; int xg, yg;
xg = aPageSize.x - aRBmargin.x; xg = m_pageSize.x - m_RBmargin.x;
yg = aPageSize.y - aRBmargin.y; yg = m_pageSize.y - m_RBmargin.y;
int lnMsg, ln; int lnMsg, ln;
int lnWosn = aPenWidth * 2; int lnWosn = m_penSize * 2;
int lnWtonk = aPenWidth; int lnWtonk = m_penSize;
wxSize sz; wxSize sz;
wxSize size0_8( SIZETEXT * aScalar * 0.8, SIZETEXT * aScalar * 1 ); wxSize size0_8( SIZETEXT * m_milsToIu * 0.8, SIZETEXT * m_milsToIu * 1 );
wxSize size1_5( SIZETEXT * aScalar * 1.5, SIZETEXT * aScalar * 1.5 ); wxSize size1_5( SIZETEXT * m_milsToIu * 1.5, SIZETEXT * m_milsToIu * 1.5 );
wxSize size2( SIZETEXT * aScalar * 2, SIZETEXT * aScalar * 2 ); wxSize size2( SIZETEXT * m_milsToIu * 2, SIZETEXT * m_milsToIu * 2 );
wxSize size3( SIZETEXT * aScalar * 3, SIZETEXT * aScalar * 3 ); wxSize size3( SIZETEXT * m_milsToIu * 3, SIZETEXT * m_milsToIu * 3 );
// Draw the border. // Draw the border.
Append( new WS_DRAW_ITEM_RECT( Append( new WS_DRAW_ITEM_RECT(
wxPoint( refx * aScalar, refy * aScalar ), wxPoint( refx * m_milsToIu, refy * m_milsToIu ),
wxPoint( xg * aScalar, yg * aScalar ), wxPoint( xg * m_milsToIu, yg * m_milsToIu ),
lnWosn, aLineColor ) ); lnWosn, aLineColor ) );
// Center - right bottom corner // Center - right bottom corner
refx = aPageSize.x - aRBmargin.x; refx = m_pageSize.x - m_RBmargin.x;
refy = aPageSize.y - aRBmargin.y; refy = m_pageSize.y - m_RBmargin.y;
// First page // First page
if( aSheetNumber == 1 ) if( aSheetNumber == 1 )
{ {
for( WsItem = &WS_Osn1_Line1; WsItem != NULL; WsItem = WsItem->Pnext ) for( WsItem = &WS_Osn1_Line1; WsItem != NULL; WsItem = WsItem->Pnext )
{ {
pos.x = (refx - WsItem->m_Posx) * aScalar; pos.x = (refx - WsItem->m_Posx) * m_milsToIu;
pos.y = (refy - WsItem->m_Posy) * aScalar; pos.y = (refy - WsItem->m_Posy) * m_milsToIu;
end.x = (refx - WsItem->m_Endx) * aScalar; end.x = (refx - WsItem->m_Endx) * m_milsToIu;
end.y = (refy - WsItem->m_Endy) * aScalar; end.y = (refy - WsItem->m_Endy) * m_milsToIu;
msg = WsItem->m_Legende; msg = WsItem->m_Legende;
switch( WsItem->m_Type ) switch( WsItem->m_Type )
...@@ -1040,11 +1038,11 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1040,11 +1038,11 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
{ {
if( WsItem == &WS_Osn1_Text1 ) if( WsItem == &WS_Osn1_Text1 )
Append( new WS_DRAW_ITEM_TEXT( msg, pos, Append( new WS_DRAW_ITEM_TEXT( msg, pos,
size0_8, aPenWidth, size0_8, m_penSize,
aLineColor ) ); aLineColor ) );
else else
Append( new WS_DRAW_ITEM_TEXT( msg, pos, Append( new WS_DRAW_ITEM_TEXT( msg, pos,
size, aPenWidth, aLineColor ) ); size, m_penSize, aLineColor ) );
} }
break; break;
...@@ -1054,7 +1052,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1054,7 +1052,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
if( !msg.IsEmpty() ) if( !msg.IsEmpty() )
{ {
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos,
size, aPenWidth, aLineColor ) ); size, m_penSize, aLineColor ) );
gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT ); gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT );
} }
...@@ -1065,21 +1063,21 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1065,21 +1063,21 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
// Sheet number // Sheet number
if( aSheetCount > 1 ) if( aSheetCount > 1 )
{ {
pos.x = ( refx - Mm2mils( 36 ) ) * aScalar; pos.x = ( refx - Mm2mils( 36 ) ) * m_milsToIu;
pos.y = ( refy - Mm2mils( 17.5 ) ) * aScalar; pos.y = ( refy - Mm2mils( 17.5 ) ) * m_milsToIu;
msg.Empty(); msg.Empty();
msg << aSheetNumber; msg << aSheetNumber;
Append( new WS_DRAW_ITEM_TEXT( msg, pos, Append( new WS_DRAW_ITEM_TEXT( msg, pos,
size, aPenWidth, aLineColor ) ); size, m_penSize, aLineColor ) );
} }
// Count of sheets // Count of sheets
pos.x = ( refx - Mm2mils( 10 ) ) * aScalar; pos.x = ( refx - Mm2mils( 10 ) ) * m_milsToIu;
pos.y = ( refy - Mm2mils( 17.5 ) ) * aScalar; pos.y = ( refy - Mm2mils( 17.5 ) ) * m_milsToIu;
msg.Empty(); msg.Empty();
msg << aSheetCount; msg << aSheetCount;
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos,
size, aPenWidth, aLineColor ) ); size, m_penSize, aLineColor ) );
gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT ); gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT );
// Company name // Company name
...@@ -1088,16 +1086,16 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1088,16 +1086,16 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
if( !msg.IsEmpty() ) if( !msg.IsEmpty() )
{ {
sz = size1_5; sz = size1_5;
lnMsg = ReturnGraphicTextWidth( msg, sz.x, false, false ) / aScalar; lnMsg = ReturnGraphicTextWidth( msg, sz.x, false, false ) / m_milsToIu;
ln = Mm2mils( 49 ); ln = Mm2mils( 49 );
if( lnMsg > ln ) if( lnMsg > ln )
sz.x *= float(ln) / lnMsg; sz.x *= float(ln) / lnMsg;
pos.x = ( refx - Mm2mils( 25 ) ) * aScalar; pos.x = ( refx - Mm2mils( 25 ) ) * m_milsToIu;
pos.y = ( refy - Mm2mils( 7.5 ) ) * aScalar; pos.y = ( refy - Mm2mils( 7.5 ) ) * m_milsToIu;
Append( new WS_DRAW_ITEM_TEXT( msg, pos, Append( new WS_DRAW_ITEM_TEXT( msg, pos,
sz, aPenWidth, aLineColor ) ); sz, m_penSize, aLineColor ) );
} }
// Title // Title
...@@ -1108,7 +1106,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1108,7 +1106,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
sz = size1_5; sz = size1_5;
wxArrayString lines; wxArrayString lines;
int titleWidth = 0; int titleWidth = 0;
int titleHeight = (sz.y + sz.y * 0.5) / aScalar; int titleHeight = (sz.y + sz.y * 0.5) / m_milsToIu;
int titleFieldWidth = Mm2mils( 69 ); int titleFieldWidth = Mm2mils( 69 );
int titleFieldHeight = Mm2mils( 24 ); int titleFieldHeight = Mm2mils( 24 );
int index = 0; int index = 0;
...@@ -1118,7 +1116,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1118,7 +1116,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
{ {
do // Wrap the title do // Wrap the title
{ {
titleWidth = ReturnGraphicTextWidth( msg, sz.x, false, false ) / aScalar; titleWidth = ReturnGraphicTextWidth( msg, sz.x, false, false ) / m_milsToIu;
if( titleWidth > titleFieldWidth ) if( titleWidth > titleFieldWidth )
{ {
...@@ -1132,14 +1130,14 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1132,14 +1130,14 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
{ {
lines.Clear(); lines.Clear();
msg = fullMsg; msg = fullMsg;
sz.x -= aScalar; sz.x -= m_milsToIu;
break; break;
} }
else else
{ {
index++; index++;
titleWidth = titleWidth =
ReturnGraphicTextWidth( msg, sz.x, false, false ) / aScalar; ReturnGraphicTextWidth( msg, sz.x, false, false ) / m_milsToIu;
wxString ch = wxString( msg.Last() ); wxString ch = wxString( msg.Last() );
...@@ -1186,8 +1184,8 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1186,8 +1184,8 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
if( titleFieldHeight < (int) ( titleHeight * lines.Count() ) ) if( titleFieldHeight < (int) ( titleHeight * lines.Count() ) )
{ {
sz.y -= aScalar; sz.y -= m_milsToIu;
sz.x -= aScalar; sz.x -= m_milsToIu;
msg = fullMsg; msg = fullMsg;
lines.Clear(); lines.Clear();
} }
...@@ -1195,16 +1193,16 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1195,16 +1193,16 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
break; break;
} while( 1 ); } while( 1 );
pos.x = ( refx - Mm2mils( 85 ) ) * aScalar; pos.x = ( refx - Mm2mils( 85 ) ) * m_milsToIu;
pos.y = pos.y =
( refy - Mm2mils( 27.5 ) - (titleHeight * (lines.Count() - 1) / 2) ) * aScalar; ( refy - Mm2mils( 27.5 ) - (titleHeight * (lines.Count() - 1) / 2) ) * m_milsToIu;
for( unsigned curLn = 0; curLn < lines.Count(); curLn++ ) for( unsigned curLn = 0; curLn < lines.Count(); curLn++ )
{ {
msg = lines[curLn]; msg = lines[curLn];
Append( new WS_DRAW_ITEM_TEXT( msg, pos, Append( new WS_DRAW_ITEM_TEXT( msg, pos,
sz, aPenWidth, aTextColor ) ); sz, m_penSize, aTextColor ) );
pos.y += titleHeight * aScalar; pos.y += titleHeight * m_milsToIu;
} }
} }
...@@ -1214,16 +1212,16 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1214,16 +1212,16 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
if( !msg.IsEmpty() ) if( !msg.IsEmpty() )
{ {
sz = size3; sz = size3;
lnMsg = ReturnGraphicTextWidth( msg, sz.x, false, false ) / aScalar; lnMsg = ReturnGraphicTextWidth( msg, sz.x, false, false ) / m_milsToIu;
ln = Mm2mils( 119 ); ln = Mm2mils( 119 );
if( lnMsg > ln ) if( lnMsg > ln )
sz.x *= float(ln) / lnMsg; sz.x *= float(ln) / lnMsg;
pos.x = ( refx - Mm2mils( 60 ) ) * aScalar; pos.x = ( refx - Mm2mils( 60 ) ) * m_milsToIu;
pos.y = ( refy - Mm2mils( 47.5 ) ) * aScalar; pos.y = ( refy - Mm2mils( 47.5 ) ) * m_milsToIu;
Append( new WS_DRAW_ITEM_TEXT( msg, pos, Append( new WS_DRAW_ITEM_TEXT( msg, pos,
sz, aPenWidth, aTextColor ) ); sz, m_penSize, aTextColor ) );
} }
// Developer // Developer
...@@ -1232,16 +1230,16 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1232,16 +1230,16 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
if( !msg.IsEmpty() ) if( !msg.IsEmpty() )
{ {
sz = size; sz = size;
lnMsg = ReturnGraphicTextWidth( msg, sz.x, false, false ) / aScalar; lnMsg = ReturnGraphicTextWidth( msg, sz.x, false, false ) / m_milsToIu;
ln = Mm2mils( 22 ); ln = Mm2mils( 22 );
if( lnMsg > ln ) if( lnMsg > ln )
sz.x *= float(ln) / lnMsg; sz.x *= float(ln) / lnMsg;
pos.x = ( refx - Mm2mils( 167.5 ) ) * aScalar; pos.x = ( refx - Mm2mils( 167.5 ) ) * m_milsToIu;
pos.y = ( refy - Mm2mils( 27.5 ) ) * aScalar; pos.y = ( refy - Mm2mils( 27.5 ) ) * m_milsToIu;
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos,
sz, aPenWidth, aTextColor ) ); sz, m_penSize, aTextColor ) );
gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT ); gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT );
} }
...@@ -1251,16 +1249,16 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1251,16 +1249,16 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
if( !msg.IsEmpty() ) if( !msg.IsEmpty() )
{ {
sz = size; sz = size;
lnMsg = ReturnGraphicTextWidth( msg, sz.x, false, false ) / aScalar; lnMsg = ReturnGraphicTextWidth( msg, sz.x, false, false ) / m_milsToIu;
ln = Mm2mils( 22 ); ln = Mm2mils( 22 );
if( lnMsg > ln ) if( lnMsg > ln )
sz.x *= float(ln) / lnMsg; sz.x *= float(ln) / lnMsg;
pos.x = ( refx - Mm2mils( 167 ) ) * aScalar; pos.x = ( refx - Mm2mils( 167 ) ) * m_milsToIu;
pos.y = ( refy - Mm2mils( 22.5 ) ) * aScalar; pos.y = ( refy - Mm2mils( 22.5 ) ) * m_milsToIu;
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos,
sz, aPenWidth, aTextColor ) ); sz, m_penSize, aTextColor ) );
gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT ); gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT );
} }
...@@ -1270,16 +1268,16 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1270,16 +1268,16 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
if( !msg.IsEmpty() ) if( !msg.IsEmpty() )
{ {
sz = size; sz = size;
lnMsg = ReturnGraphicTextWidth( msg, sz.x, false, false ) / aScalar; lnMsg = ReturnGraphicTextWidth( msg, sz.x, false, false ) / m_milsToIu;
ln = Mm2mils( 22 ); ln = Mm2mils( 22 );
if( lnMsg > ln ) if( lnMsg > ln )
sz.x *= float(ln) / lnMsg; sz.x *= float(ln) / lnMsg;
pos.x = ( refx - Mm2mils( 167 ) ) * aScalar; pos.x = ( refx - Mm2mils( 167 ) ) * m_milsToIu;
pos.y = ( refy - Mm2mils( 2.5 ) ) * aScalar; pos.y = ( refy - Mm2mils( 2.5 ) ) * m_milsToIu;
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos,
sz, aPenWidth, aTextColor ) ); sz, m_penSize, aTextColor ) );
gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT ); gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT );
} }
} }
...@@ -1287,10 +1285,10 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1287,10 +1285,10 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
{ {
for( WsItem = &WS_Osn2a_Line1; WsItem != NULL; WsItem = WsItem->Pnext ) for( WsItem = &WS_Osn2a_Line1; WsItem != NULL; WsItem = WsItem->Pnext )
{ {
pos.x = (refx - WsItem->m_Posx) * aScalar; pos.x = (refx - WsItem->m_Posx) * m_milsToIu;
pos.y = (refy - WsItem->m_Posy) * aScalar; pos.y = (refy - WsItem->m_Posy) * m_milsToIu;
end.x = (refx - WsItem->m_Endx) * aScalar; end.x = (refx - WsItem->m_Endx) * m_milsToIu;
end.y = (refy - WsItem->m_Endy) * aScalar; end.y = (refy - WsItem->m_Endy) * m_milsToIu;
msg = WsItem->m_Legende; msg = WsItem->m_Legende;
switch( WsItem->m_Type ) switch( WsItem->m_Type )
...@@ -1311,11 +1309,11 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1311,11 +1309,11 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
{ {
if( WsItem == &WS_Osn2a_Text1 ) if( WsItem == &WS_Osn2a_Text1 )
Append( new WS_DRAW_ITEM_TEXT( msg, pos, Append( new WS_DRAW_ITEM_TEXT( msg, pos,
size0_8, aPenWidth, size0_8, m_penSize,
aLineColor ) ); aLineColor ) );
else else
Append( new WS_DRAW_ITEM_TEXT( msg, pos, Append( new WS_DRAW_ITEM_TEXT( msg, pos,
size, aPenWidth, aLineColor ) ); size, m_penSize, aLineColor ) );
} }
break; break;
...@@ -1325,7 +1323,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1325,7 +1323,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
if( !msg.IsEmpty() ) if( !msg.IsEmpty() )
{ {
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos,
size, aPenWidth, size, m_penSize,
aLineColor ) ); aLineColor ) );
gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT ); gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT );
} }
...@@ -1335,12 +1333,12 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1335,12 +1333,12 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
} }
// Sheet number // Sheet number
pos.x = ( refx - Mm2mils( 5 ) ) * aScalar; pos.x = ( refx - Mm2mils( 5 ) ) * m_milsToIu;
pos.y = ( refy - Mm2mils( 4 ) ) * aScalar; pos.y = ( refy - Mm2mils( 4 ) ) * m_milsToIu;
msg.Empty(); msg.Empty();
msg << aSheetNumber; msg << aSheetNumber;
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos,
size, aPenWidth, aLineColor ) ); size, m_penSize, aLineColor ) );
// Decimal number // Decimal number
msg = aTitleBlock.GetComment1(); msg = aTitleBlock.GetComment1();
...@@ -1348,41 +1346,41 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1348,41 +1346,41 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
if( !msg.IsEmpty() ) if( !msg.IsEmpty() )
{ {
sz = size3; sz = size3;
lnMsg = ReturnGraphicTextWidth( msg, sz.x, false, false ) / aScalar; lnMsg = ReturnGraphicTextWidth( msg, sz.x, false, false ) / m_milsToIu;
ln = Mm2mils( 109 ); ln = Mm2mils( 109 );
if( lnMsg > ln ) if( lnMsg > ln )
sz.x *= float(ln) / lnMsg; sz.x *= float(ln) / lnMsg;
pos.x = ( refx - Mm2mils( 65 ) ) * aScalar; pos.x = ( refx - Mm2mils( 65 ) ) * m_milsToIu;
pos.y = ( refy - Mm2mils( 7.5 ) ) * aScalar; pos.y = ( refy - Mm2mils( 7.5 ) ) * m_milsToIu;
Append( new WS_DRAW_ITEM_TEXT( msg, pos, Append( new WS_DRAW_ITEM_TEXT( msg, pos,
sz, aPenWidth, aTextColor ) ); sz, m_penSize, aTextColor ) );
} }
} }
// Format // Format
pos.x = ( refx - Mm2mils( 23 ) ) * aScalar; pos.x = ( refx - Mm2mils( 23 ) ) * m_milsToIu;
pos.y = ( refy + Mm2mils( 2.5 ) ) * aScalar; pos.y = ( refy + Mm2mils( 2.5 ) ) * m_milsToIu;
msg.Empty(); msg.Empty();
msg << aPaperFormat; msg << aPaperFormat;
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos,
size, aPenWidth, aLineColor ) ); size, m_penSize, aLineColor ) );
gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT ); gtext->SetHorizJustify( GR_TEXT_HJUSTIFY_LEFT );
// Center - left bottom corner // Center - left bottom corner
refx = aLTmargin.x; refx = m_LTmargin.x;
refy = aPageSize.y - aRBmargin.y; refy = m_pageSize.y - m_RBmargin.y;
for( WsItem = &WS_DopLeft_Line1; WsItem != NULL; WsItem = WsItem->Pnext ) for( WsItem = &WS_DopLeft_Line1; WsItem != NULL; WsItem = WsItem->Pnext )
{ {
if( aSheetNumber > 1 && WsItem == &WS_DopLeft_Line9 ) // Some fields for first page only if( aSheetNumber > 1 && WsItem == &WS_DopLeft_Line9 ) // Some fields for first page only
break; break;
pos.x = (refx - WsItem->m_Posx) * aScalar; pos.x = (refx - WsItem->m_Posx) * m_milsToIu;
pos.y = (refy - WsItem->m_Posy) * aScalar; pos.y = (refy - WsItem->m_Posy) * m_milsToIu;
end.x = (refx - WsItem->m_Endx) * aScalar; end.x = (refx - WsItem->m_Endx) * m_milsToIu;
end.y = (refy - WsItem->m_Endy) * aScalar; end.y = (refy - WsItem->m_Endy) * m_milsToIu;
msg = WsItem->m_Legende; msg = WsItem->m_Legende;
switch( WsItem->m_Type ) switch( WsItem->m_Type )
...@@ -1397,7 +1395,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1397,7 +1395,7 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
if( !msg.IsEmpty() ) if( !msg.IsEmpty() )
{ {
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos,
size, aPenWidth, aLineColor ) ); size, m_penSize, aLineColor ) );
gtext->SetOrientation( TEXT_ORIENT_VERT ); gtext->SetOrientation( TEXT_ORIENT_VERT );
} }
...@@ -1405,21 +1403,21 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1405,21 +1403,21 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
} }
} }
if( aPaperFormat == PAGE_INFO::A4 || aPageSize.x > aPageSize.y ) // A4 or Landscape if( aPaperFormat == PAGE_INFO::A4 || m_pageSize.x > m_pageSize.y ) // A4 or Landscape
{ {
// Center - left top corner // Center - left top corner
refx = aLTmargin.x; refx = m_LTmargin.x;
refy = aLTmargin.y; refy = m_LTmargin.y;
for( WsItem = &WS_DopTop_Line1; WsItem != NULL; WsItem = WsItem->Pnext ) for( WsItem = &WS_DopTop_Line1; WsItem != NULL; WsItem = WsItem->Pnext )
{ {
if( aSheetNumber > 1 && WsItem == &WS_DopTop_Line3 ) // Some fields for first page only if( aSheetNumber > 1 && WsItem == &WS_DopTop_Line3 ) // Some fields for first page only
break; break;
pos.x = (refx + WsItem->m_Posx) * aScalar; pos.x = (refx + WsItem->m_Posx) * m_milsToIu;
pos.y = (refy + WsItem->m_Posy) * aScalar; pos.y = (refy + WsItem->m_Posy) * m_milsToIu;
end.x = (refx + WsItem->m_Endx) * aScalar; end.x = (refx + WsItem->m_Endx) * m_milsToIu;
end.y = (refy + WsItem->m_Endy) * aScalar; end.y = (refy + WsItem->m_Endy) * m_milsToIu;
msg = WsItem->m_Legende; msg = WsItem->m_Legende;
switch( WsItem->m_Type ) switch( WsItem->m_Type )
...@@ -1442,16 +1440,16 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1442,16 +1440,16 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
if( !msg.IsEmpty() ) if( !msg.IsEmpty() )
{ {
sz = size2; sz = size2;
lnMsg = ReturnGraphicTextWidth( msg, sz.x, false, false ) / aScalar; lnMsg = ReturnGraphicTextWidth( msg, sz.x, false, false ) / m_milsToIu;
ln = Mm2mils( 69 ); ln = Mm2mils( 69 );
if( lnMsg > ln ) if( lnMsg > ln )
sz.x *= float(ln) / lnMsg; sz.x *= float(ln) / lnMsg;
pos.x = ( refx + Mm2mils( 35 ) ) * aScalar; pos.x = ( refx + Mm2mils( 35 ) ) * m_milsToIu;
pos.y = ( refy + Mm2mils( 7 ) ) * aScalar; pos.y = ( refy + Mm2mils( 7 ) ) * m_milsToIu;
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos,
sz, aPenWidth, aTextColor ) ); sz, m_penSize, aTextColor ) );
gtext->SetOrientation( 1800.0 ); gtext->SetOrientation( 1800.0 );
} }
} }
...@@ -1459,18 +1457,18 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1459,18 +1457,18 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
{ {
// Center - right top corner // Center - right top corner
// Lines are used from the upper left corner by the change of coordinates // Lines are used from the upper left corner by the change of coordinates
refx = aPageSize.x - aRBmargin.x; refx = m_pageSize.x - m_RBmargin.x;
refy = aLTmargin.y; refy = m_LTmargin.y;
for( WsItem = &WS_DopTop_Line1; WsItem != NULL; WsItem = WsItem->Pnext ) for( WsItem = &WS_DopTop_Line1; WsItem != NULL; WsItem = WsItem->Pnext )
{ {
if( aSheetNumber > 1 && WsItem == &WS_DopTop_Line3 ) // Some fields for first page only if( aSheetNumber > 1 && WsItem == &WS_DopTop_Line3 ) // Some fields for first page only
break; break;
pos.x = (refx - WsItem->m_Posy) * aScalar; pos.x = (refx - WsItem->m_Posy) * m_milsToIu;
pos.y = (refy + WsItem->m_Posx) * aScalar; pos.y = (refy + WsItem->m_Posx) * m_milsToIu;
end.x = (refx - WsItem->m_Endy) * aScalar; end.x = (refx - WsItem->m_Endy) * m_milsToIu;
end.y = (refy + WsItem->m_Endx) * aScalar; end.y = (refy + WsItem->m_Endx) * m_milsToIu;
msg = WsItem->m_Legende; msg = WsItem->m_Legende;
switch( WsItem->m_Type ) switch( WsItem->m_Type )
...@@ -1493,16 +1491,16 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize, ...@@ -1493,16 +1491,16 @@ void WS_DRAW_ITEM_LIST::BuildWorkSheetGraphicList( wxSize& aPageSize,
if( !msg.IsEmpty() ) if( !msg.IsEmpty() )
{ {
sz = size2; sz = size2;
lnMsg = ReturnGraphicTextWidth( msg, sz.x, false, false ) / aScalar; lnMsg = ReturnGraphicTextWidth( msg, sz.x, false, false ) / m_milsToIu;
ln = Mm2mils( 69 ); ln = Mm2mils( 69 );
if( lnMsg > ln ) if( lnMsg > ln )
sz.x *= float(ln) / lnMsg; sz.x *= float(ln) / lnMsg;
pos.x = ( refx - Mm2mils( 7 ) ) * aScalar; pos.x = ( refx - Mm2mils( 7 ) ) * m_milsToIu;
pos.y = ( refy + Mm2mils( 35 ) ) * aScalar; pos.y = ( refy + Mm2mils( 35 ) ) * m_milsToIu;
Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos, Append( gtext = new WS_DRAW_ITEM_TEXT( msg, pos,
sz, aPenWidth, aTextColor ) ); sz, m_penSize, aTextColor ) );
gtext->SetOrientation( TEXT_ORIENT_VERT ); gtext->SetOrientation( TEXT_ORIENT_VERT );
} }
} }
......
...@@ -55,8 +55,84 @@ ...@@ -55,8 +55,84 @@
#include "title_block_shapes.h" #include "title_block_shapes.h"
#endif #endif
void DrawPageLayout( wxDC* aDC, EDA_DRAW_PANEL * aCanvas,
const PAGE_INFO& aPageInfo,
const wxString& aPaperFormat,
const wxString &aFullSheetName,
const wxString& aFileName,
TITLE_BLOCK& aTitleBlock,
int aSheetCount, int aSheetNumber,
int aPenWidth, double aScalar,
EDA_COLOR_T aLineColor, EDA_COLOR_T aTextColor )
{
GRSetDrawMode( aDC, GR_COPY );
WS_DRAW_ITEM_LIST drawList;
wxPoint LTmargin( aPageInfo.GetLeftMarginMils(), aPageInfo.GetTopMarginMils() );
wxPoint RBmargin( aPageInfo.GetRightMarginMils(), aPageInfo.GetBottomMarginMils() );
wxSize pagesize = aPageInfo.GetSizeMils();
drawList.SetMargins( LTmargin, RBmargin );
drawList.SetPenSize( aPenWidth );
drawList.SetMilsToIUfactor( aScalar );
drawList.SetPageSize( pagesize );
drawList.BuildWorkSheetGraphicList(
aPaperFormat, aFullSheetName, aFileName,
aTitleBlock, aSheetCount, aSheetNumber,
aLineColor, aTextColor );
// Draw item list
for( WS_DRAW_ITEM_BASE* item = drawList.GetFirst(); item;
item = drawList.GetNext() )
{
switch( item->GetType() )
{
case WS_DRAW_ITEM_BASE::wsg_line:
{
WS_DRAW_ITEM_LINE* line = (WS_DRAW_ITEM_LINE*) item;
GRLine( aCanvas ? aCanvas->GetClipBox() : NULL, aDC,
line->GetStart(), line->GetEnd(),
line->GetPenWidth(), line->GetColor() );
}
break;
case WS_DRAW_ITEM_BASE::wsg_rect:
{
WS_DRAW_ITEM_RECT* rect = (WS_DRAW_ITEM_RECT*) item;
GRRect( aCanvas ? aCanvas->GetClipBox() : NULL, aDC,
rect->GetStart().x, rect->GetStart().y,
rect->GetEnd().x, rect->GetEnd().y,
rect->GetPenWidth(), rect->GetColor() );
}
break;
case WS_DRAW_ITEM_BASE::wsg_text:
{
WS_DRAW_ITEM_TEXT* text = (WS_DRAW_ITEM_TEXT*) item;
DrawGraphicText( aCanvas, aDC, text->GetTextPosition(),
text->GetColor(), text->GetText(),
text->GetOrientation(), text->GetSize(),
text->GetHorizJustify(), text->GetVertJustify(),
text->GetPenWidth(), text->IsItalic(), text->IsBold() );
}
break;
case WS_DRAW_ITEM_BASE::wsg_poly:
{
WS_DRAW_ITEM_POLYGON* poly = (WS_DRAW_ITEM_POLYGON*) item;
GRPoly( aCanvas ? aCanvas->GetClipBox() : NULL, aDC,
poly->m_Corners.size(), &poly->m_Corners[0],
true, poly->GetPenWidth(),
poly->GetColor(), poly->GetColor() );
}
break;
}
}
}
void EDA_DRAW_FRAME::TraceWorkSheet( wxDC* aDC, BASE_SCREEN* aScreen, int aLineWidth, void EDA_DRAW_FRAME::DrawWorkSheet( wxDC* aDC, BASE_SCREEN* aScreen, int aLineWidth,
double aScalar, const wxString &aFilename ) double aScalar, const wxString &aFilename )
{ {
if( !m_showBorderAndTitleBlock ) if( !m_showBorderAndTitleBlock )
...@@ -74,17 +150,14 @@ void EDA_DRAW_FRAME::TraceWorkSheet( wxDC* aDC, BASE_SCREEN* aScreen, int aLineW ...@@ -74,17 +150,14 @@ void EDA_DRAW_FRAME::TraceWorkSheet( wxDC* aDC, BASE_SCREEN* aScreen, int aLineW
g_DrawBgColor == WHITE ? LIGHTGRAY : DARKDARKGRAY ); g_DrawBgColor == WHITE ? LIGHTGRAY : DARKDARKGRAY );
} }
wxPoint margin_left_top( pageInfo.GetLeftMarginMils(), pageInfo.GetTopMarginMils() );
wxPoint margin_right_bottom( pageInfo.GetRightMarginMils(), pageInfo.GetBottomMarginMils() );
wxString paper = pageInfo.GetType(); wxString paper = pageInfo.GetType();
wxString file = aFilename;
TITLE_BLOCK t_block = GetTitleBlock(); TITLE_BLOCK t_block = GetTitleBlock();
int number_of_screens = aScreen->m_NumberOfScreens; EDA_COLOR_T color = RED;
int screen_to_draw = aScreen->m_ScreenNumber;
TraceWorkSheet( aDC, pageSize, margin_left_top, margin_right_bottom, DrawPageLayout( aDC, m_canvas, pageInfo,
paper, file, t_block, number_of_screens, screen_to_draw, paper, aFilename, GetScreenDesc(), t_block,
aLineWidth, aScalar ); aScreen->m_NumberOfScreens, aScreen->m_ScreenNumber,
aLineWidth, aScalar, color, color );
} }
...@@ -191,72 +264,3 @@ void TITLE_BLOCK::Format( OUTPUTFORMATTER* aFormatter, int aNestLevel, int aCont ...@@ -191,72 +264,3 @@ void TITLE_BLOCK::Format( OUTPUTFORMATTER* aFormatter, int aNestLevel, int aCont
aFormatter->Print( aNestLevel, ")\n\n" ); aFormatter->Print( aNestLevel, ")\n\n" );
} }
} }
void EDA_DRAW_FRAME::TraceWorkSheet( wxDC* aDC, wxSize& aPageSize,
wxPoint& aLTmargin, wxPoint& aRBmargin,
wxString& aPaperFormat,
wxString& aFileName,
TITLE_BLOCK& aTitleBlock,
int aSheetCount, int aSheetNumber,
int aPenWidth, double aScalar,
EDA_COLOR_T aLineColor, EDA_COLOR_T aTextColor )
{
GRSetDrawMode( aDC, GR_COPY );
WS_DRAW_ITEM_LIST drawList;
drawList.BuildWorkSheetGraphicList( aPageSize, aLTmargin, aRBmargin,
aPaperFormat, aFileName,
GetScreenDesc(),
aTitleBlock, aSheetCount, aSheetNumber,
aPenWidth, aScalar, aLineColor, aTextColor );
// Draw item list
for( WS_DRAW_ITEM_BASE* item = drawList.GetFirst(); item;
item = drawList.GetNext() )
{
switch( item->GetType() )
{
case WS_DRAW_ITEM_BASE::wsg_line:
{
WS_DRAW_ITEM_LINE* line = (WS_DRAW_ITEM_LINE*) item;
GRLine( m_canvas->GetClipBox(), aDC,
line->GetStart(), line->GetEnd(),
line->GetPenWidth(), line->GetColor() );
}
break;
case WS_DRAW_ITEM_BASE::wsg_rect:
{
WS_DRAW_ITEM_RECT* rect = (WS_DRAW_ITEM_RECT*) item;
GRRect( m_canvas->GetClipBox(), aDC,
rect->GetStart().x, rect->GetStart().y,
rect->GetEnd().x, rect->GetEnd().y,
rect->GetPenWidth(), rect->GetColor() );
}
break;
case WS_DRAW_ITEM_BASE::wsg_text:
{
WS_DRAW_ITEM_TEXT* text = (WS_DRAW_ITEM_TEXT*) item;
DrawGraphicText( m_canvas, aDC, text->GetTextPosition(),
text->GetColor(),
text->GetText(),
text->GetOrientation(), text->GetSize(),
text->GetHorizJustify(), text->GetVertJustify(),
text->GetPenWidth(), text->IsItalic(), text->IsBold() );
}
break;
case WS_DRAW_ITEM_BASE::wsg_poly:
{
WS_DRAW_ITEM_POLYGON* poly = (WS_DRAW_ITEM_POLYGON*) item;
GRPoly( m_canvas->GetClipBox(), aDC,
poly->m_Corners.size(), &poly->m_Corners[0],
true, poly->GetPenWidth(),
poly->GetColor(), poly->GetColor() );
}
break;
}
}
}
/** /**
* @file worksheet_shape_builder.h * @file worksheet_shape_builder.h
* @brief classes and function to generate graphics to plt or draw titles blocks * @brief classes and function to generate graphics to plt or draw titles blocks
* and frame references * and frame references
*/ */
#ifndef WORKSHEET_SHAPE_BUILDER_H #ifndef WORKSHEET_SHAPE_BUILDER_H
#define WORKSHEET_SHAPE_BUILDER_H #define WORKSHEET_SHAPE_BUILDER_H
/* /*
* Helper classes to handle basic graphic items used to raw/plot * Helper classes to handle basic graphic items used to raw/plot
* title blocks and frame references * title blocks and frame references
* segments * segments
* rect * rect
* polygons (for logos) * polygons (for logos)
* graphic texts * graphic texts
*/ */
class WS_DRAW_ITEM_BASE // This basic class, not directly usable. class WS_DRAW_ITEM_BASE // This basic class, not directly usable.
{ {
public: public:
enum WS_DRAW_TYPE { enum WS_DRAW_TYPE {
wsg_line, wsg_rect, wsg_poly, wsg_text wsg_line, wsg_rect, wsg_poly, wsg_text
}; };
protected: protected:
WS_DRAW_TYPE m_type; // wsg_line, wsg_rect, wsg_poly, wsg_text WS_DRAW_TYPE m_type; // wsg_line, wsg_rect, wsg_poly, wsg_text
EDA_COLOR_T m_color; EDA_COLOR_T m_color;
protected: protected:
WS_DRAW_ITEM_BASE( WS_DRAW_TYPE aType, EDA_COLOR_T aColor ) WS_DRAW_ITEM_BASE( WS_DRAW_TYPE aType, EDA_COLOR_T aColor )
{ {
m_type = aType; m_type = aType;
m_color = aColor; m_color = aColor;
} }
public: public:
virtual ~WS_DRAW_ITEM_BASE() {} virtual ~WS_DRAW_ITEM_BASE() {}
// Accessors: // Accessors:
EDA_COLOR_T GetColor() { return m_color; } EDA_COLOR_T GetColor() { return m_color; }
WS_DRAW_TYPE GetType() { return m_type; }; WS_DRAW_TYPE GetType() { return m_type; };
}; };
// This class draws a thick segment // This class draws a thick segment
class WS_DRAW_ITEM_LINE : public WS_DRAW_ITEM_BASE class WS_DRAW_ITEM_LINE : public WS_DRAW_ITEM_BASE
{ {
wxPoint m_start; // start point of line/rect wxPoint m_start; // start point of line/rect
wxPoint m_end; // end point wxPoint m_end; // end point
int m_penWidth; int m_penWidth;
public: public:
WS_DRAW_ITEM_LINE( wxPoint aStart, wxPoint aEnd, WS_DRAW_ITEM_LINE( wxPoint aStart, wxPoint aEnd,
int aPenWidth, EDA_COLOR_T aColor ) : int aPenWidth, EDA_COLOR_T aColor ) :
WS_DRAW_ITEM_BASE( wsg_line, aColor ) WS_DRAW_ITEM_BASE( wsg_line, aColor )
{ {
m_start = aStart; m_start = aStart;
m_end = aEnd; m_end = aEnd;
m_penWidth = aPenWidth; m_penWidth = aPenWidth;
} }
// Accessors: // Accessors:
int GetPenWidth() { return m_penWidth; } int GetPenWidth() { return m_penWidth; }
const wxPoint& GetStart() { return m_start; } const wxPoint& GetStart() { return m_start; }
const wxPoint& GetEnd() { return m_end; } const wxPoint& GetEnd() { return m_end; }
}; };
// This class draws a polygon // This class draws a polygon
class WS_DRAW_ITEM_POLYGON : public WS_DRAW_ITEM_BASE class WS_DRAW_ITEM_POLYGON : public WS_DRAW_ITEM_BASE
{ {
int m_penWidth; int m_penWidth;
public: public:
std::vector <wxPoint> m_Corners; std::vector <wxPoint> m_Corners;
public: public:
WS_DRAW_ITEM_POLYGON( wxPoint aStart, wxPoint aEnd, WS_DRAW_ITEM_POLYGON( wxPoint aStart, wxPoint aEnd,
int aPenWidth, EDA_COLOR_T aColor ) : int aPenWidth, EDA_COLOR_T aColor ) :
WS_DRAW_ITEM_BASE( wsg_poly, aColor ) WS_DRAW_ITEM_BASE( wsg_poly, aColor )
{ {
m_penWidth = aPenWidth; m_penWidth = aPenWidth;
} }
// Accessors: // Accessors:
int GetPenWidth() { return m_penWidth; } int GetPenWidth() { return m_penWidth; }
}; };
// This class draws a not filled rectangle with thick segment // This class draws a not filled rectangle with thick segment
class WS_DRAW_ITEM_RECT : public WS_DRAW_ITEM_LINE class WS_DRAW_ITEM_RECT : public WS_DRAW_ITEM_LINE
{ {
public: public:
WS_DRAW_ITEM_RECT( wxPoint aStart, wxPoint aEnd, WS_DRAW_ITEM_RECT( wxPoint aStart, wxPoint aEnd,
int aPenWidth, EDA_COLOR_T aColor ) : int aPenWidth, EDA_COLOR_T aColor ) :
WS_DRAW_ITEM_LINE( aStart, aEnd, aPenWidth, aColor ) WS_DRAW_ITEM_LINE( aStart, aEnd, aPenWidth, aColor )
{ {
m_type = wsg_rect; m_type = wsg_rect;
} }
}; };
// This class draws a graphic text. // This class draws a graphic text.
// it is derived from an EDA_TEXT, so it handle all caracteristics // it is derived from an EDA_TEXT, so it handle all caracteristics
// of this graphic text (justification, rotation ... ) // of this graphic text (justification, rotation ... )
class WS_DRAW_ITEM_TEXT : public WS_DRAW_ITEM_BASE, public EDA_TEXT class WS_DRAW_ITEM_TEXT : public WS_DRAW_ITEM_BASE, public EDA_TEXT
{ {
public: public:
WS_DRAW_ITEM_TEXT( wxString& aText, wxPoint aPos, wxSize aSize, WS_DRAW_ITEM_TEXT( wxString& aText, wxPoint aPos, wxSize aSize,
int aPenWidth, EDA_COLOR_T aColor, int aPenWidth, EDA_COLOR_T aColor,
bool aItalic = false, bool aBold = false ) : bool aItalic = false, bool aBold = false ) :
WS_DRAW_ITEM_BASE( wsg_text, aColor ), EDA_TEXT( aText ) WS_DRAW_ITEM_BASE( wsg_text, aColor ), EDA_TEXT( aText )
{ {
SetTextPosition( aPos ); SetTextPosition( aPos );
SetSize( aSize ); SetSize( aSize );
SetThickness( aPenWidth ); SetThickness( aPenWidth );
SetItalic( aItalic ); SetItalic( aItalic );
SetBold( aBold ); SetBold( aBold );
} }
// Accessors: // Accessors:
int GetPenWidth() { return GetThickness(); } int GetPenWidth() { return GetThickness(); }
}; };
/* /*
* this class stores the list of graphic items to draw/plot * this class stores the list of graphic items to draw/plot
* the title block and frame references * the title block and frame references
*/ */
class WS_DRAW_ITEM_LIST class WS_DRAW_ITEM_LIST
{ {
std::vector <WS_DRAW_ITEM_BASE*> m_graphicList; std::vector <WS_DRAW_ITEM_BASE*> m_graphicList; // Items to draw/plot
unsigned m_idx; unsigned m_idx; // for GetFirst, GetNext functions
wxPoint m_LTmargin; // The left top margin in mils of the page layout.
public: wxPoint m_RBmargin; // The right bottom margin in mils of the page layout.
WS_DRAW_ITEM_LIST() wxSize m_pageSize; // the page size in mils
{ double m_milsToIu; // the scalar to convert pages units ( mils)
m_idx = 0; // to draw/plot units.
} int m_penSize; // The line width for drawings.
~WS_DRAW_ITEM_LIST() public:
{ WS_DRAW_ITEM_LIST()
for( unsigned ii = 0; ii < m_graphicList.size(); ii++ ) {
delete m_graphicList[ii]; m_idx = 0;
} }
void Append( WS_DRAW_ITEM_BASE* aItem ) ~WS_DRAW_ITEM_LIST()
{ {
m_graphicList.push_back( aItem ); for( unsigned ii = 0; ii < m_graphicList.size(); ii++ )
} delete m_graphicList[ii];
}
WS_DRAW_ITEM_BASE* GetFirst()
{ /* Function SetPenSize
m_idx = 0; * Set the defualt pen size to draw/plot lines and texts
* @param aPenSize the thickness of lines
if( m_graphicList.size() ) */
return m_graphicList[0]; void SetPenSize( int aPenSize )
else {
return NULL; m_penSize = aPenSize;
} }
WS_DRAW_ITEM_BASE* GetNext() /* Function SetMilsToIUfactor
{ * Set the scalar to convert pages units ( mils) to draw/plot units
m_idx++; * @param aScale the conversion factor
*/
if( m_graphicList.size() > m_idx ) void SetMilsToIUfactor( double aScale )
return m_graphicList[m_idx]; {
else m_milsToIu = aScale;
return NULL; }
}
/* Function SetPageSize
/** * Set the size of the page layout
* Function BuildWorkSheetGraphicList is a core function for * @param aPageSize size (in mils) of the page layout.
* drawing or plotting the page layout with */
* the frame and the basic inscriptions. void SetPageSize( const wxSize& aPageSize )
* It fills the list of basic graphic items to draw or plot. {
* currently lines, rect, polygons and texts m_pageSize = aPageSize;
* }
* @param aPageSize The size of the page layout.
* @param aLTmargin The left top margin of the page layout. /* Function SetMargins
* @param aRBmargin The right bottom margin of the page layout. * Set the The left top margin and the right bottom margin
* @param aPaperFormat The paper size type, for basic inscriptions. * of the page layout
* @param aFileName The file name, for basic inscriptions. * @param aLTmargin The left top margin of the page layout.
* @param aTitleBlock The sheet title block, for basic inscriptions. * @param aRBmargin The right bottom margin of the page layout.
* @param aSheetCount The number of sheets (for basic inscriptions). */
* @param aSheetNumber The sheet number (for basic inscriptions). void SetMargins( const wxPoint& aLTmargin, const wxPoint& aRBmargin )
* @param aPenWidth The line width for drawing. {
* @param aScalar Scalar to convert from mils to internal units. m_LTmargin = aLTmargin;
* @param aLineColor The color for drawing. m_RBmargin = aRBmargin;
* @param aTextColor The color for inscriptions. }
*/
void BuildWorkSheetGraphicList( wxSize& aPageSize, void Append( WS_DRAW_ITEM_BASE* aItem )
wxPoint& aLTmargin, wxPoint& aRBmargin, {
const wxString& aPaperFormat, m_graphicList.push_back( aItem );
const wxString& aFileName, }
const wxString& aSheetPathHumanReadable,
const TITLE_BLOCK& aTitleBlock, WS_DRAW_ITEM_BASE* GetFirst()
int aSheetCount, int aSheetNumber, {
int aPenWidth, double aScalar, m_idx = 0;
EDA_COLOR_T aLineColor, EDA_COLOR_T aTextColor );
}; if( m_graphicList.size() )
return m_graphicList[0];
else
#endif // WORKSHEET_SHAPE_BUILDER_H return NULL;
}
WS_DRAW_ITEM_BASE* GetNext()
{
m_idx++;
if( m_graphicList.size() > m_idx )
return m_graphicList[m_idx];
else
return NULL;
}
/**
* Function BuildWorkSheetGraphicList is a core function for
* drawing or plotting the page layout with
* the frame and the basic inscriptions.
* It fills the list of basic graphic items to draw or plot.
* currently lines, rect, polygons and texts
*
* @param aPaperFormat The paper size type, for basic inscriptions.
* @param aFileName The file name, for basic inscriptions.
* @param aTitleBlock The sheet title block, for basic inscriptions.
* @param aSheetCount The number of sheets (for basic inscriptions).
* @param aSheetNumber The sheet number (for basic inscriptions).
* @param aLineColor The color for drawing.
* @param aTextColor The color for inscriptions.
*/
void BuildWorkSheetGraphicList( const wxString& aPaperFormat,
const wxString& aFileName,
const wxString& aSheetPathHumanReadable,
const TITLE_BLOCK& aTitleBlock,
int aSheetCount, int aSheetNumber,
EDA_COLOR_T aLineColor, EDA_COLOR_T aTextColor );
};
#endif // WORKSHEET_SHAPE_BUILDER_H
/* /*
* This program source code file is part of KiCad, a free EDA CAD application. * This program source code file is part of KiCad, a free EDA CAD application.
* *
* Copyright (C) 2006 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com * Copyright (C) 2013 Jean-Pierre Charras, jp.charras at wanadoo.fr
* Copyright (C) 2006-2011 KiCad Developers, see change_log.txt for contributors. * Copyright (C) 2006-2013 KiCad Developers, see change_log.txt for contributors.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
#include <wxEeschemaStruct.h> #include <wxEeschemaStruct.h>
#include <general.h> #include <general.h>
#include <protos.h> //#include <protos.h>
#include <netlist.h> #include <netlist.h>
#include <libeditframe.h> #include <libeditframe.h>
#include <viewlib_frame.h> #include <viewlib_frame.h>
......
...@@ -49,6 +49,16 @@ void DIALOG_EESCHEMA_OPTIONS::SetUnits( const wxArrayString& units, int select ) ...@@ -49,6 +49,16 @@ void DIALOG_EESCHEMA_OPTIONS::SetUnits( const wxArrayString& units, int select )
m_choiceUnits->SetSelection( select ); m_choiceUnits->SetSelection( select );
} }
void DIALOG_EESCHEMA_OPTIONS::SetRefIdSeparator( wxChar aSep, wxChar aFirstId)
{
if( aSep == 0 )
m_textCtrlSeparatorRefId->SetValue( _("None") );
else
m_textCtrlSeparatorRefId->SetValue( aSep );
m_textCtrlPartFirstId->SetValue( aFirstId );
}
void DIALOG_EESCHEMA_OPTIONS::SetGridSizes( const GRIDS& grid_sizes, int grid_id ) void DIALOG_EESCHEMA_OPTIONS::SetGridSizes( const GRIDS& grid_sizes, int grid_id )
{ {
......
...@@ -75,6 +75,8 @@ public: ...@@ -75,6 +75,8 @@ public:
void SetAutoSaveInterval( int aInterval ) { m_spinAutoSaveInterval->SetValue( aInterval ); } void SetAutoSaveInterval( int aInterval ) { m_spinAutoSaveInterval->SetValue( aInterval ); }
int GetAutoSaveInterval() const { return m_spinAutoSaveInterval->GetValue(); } int GetAutoSaveInterval() const { return m_spinAutoSaveInterval->GetValue(); }
void SetRefIdSeparator( wxChar aSep, wxChar aFirstId);
void SetShowGrid( bool show ) { m_checkShowGrid->SetValue( show ); } void SetShowGrid( bool show ) { m_checkShowGrid->SetValue( show ); }
bool GetShowGrid( void ) { return m_checkShowGrid->GetValue(); } bool GetShowGrid( void ) { return m_checkShowGrid->GetValue(); }
......
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Oct 8 2012) // C++ code generated with wxFormBuilder (version Oct 8 2012)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
#include "dialog_eeschema_options_base.h" #include "dialog_eeschema_options_base.h"
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
BEGIN_EVENT_TABLE( DIALOG_EESCHEMA_OPTIONS_BASE, DIALOG_SHIM ) BEGIN_EVENT_TABLE( DIALOG_EESCHEMA_OPTIONS_BASE, DIALOG_SHIM )
EVT_CHOICE( wxID_ANY, DIALOG_EESCHEMA_OPTIONS_BASE::_wxFB_OnChooseUnits ) EVT_CHOICE( wxID_ANY, DIALOG_EESCHEMA_OPTIONS_BASE::_wxFB_OnChooseUnits )
EVT_CHECKBOX( xwID_ANY, DIALOG_EESCHEMA_OPTIONS_BASE::_wxFB_OnMiddleBtnPanEnbl ) EVT_CHECKBOX( xwID_ANY, DIALOG_EESCHEMA_OPTIONS_BASE::_wxFB_OnMiddleBtnPanEnbl )
END_EVENT_TABLE() END_EVENT_TABLE()
DIALOG_EESCHEMA_OPTIONS_BASE::DIALOG_EESCHEMA_OPTIONS_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style ) DIALOG_EESCHEMA_OPTIONS_BASE::DIALOG_EESCHEMA_OPTIONS_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
{ {
this->SetSizeHints( wxDefaultSize, wxDefaultSize ); this->SetSizeHints( wxDefaultSize, wxDefaultSize );
wxBoxSizer* mainSizer; wxBoxSizer* mainSizer;
mainSizer = new wxBoxSizer( wxVERTICAL ); mainSizer = new wxBoxSizer( wxVERTICAL );
wxBoxSizer* bOptionsSizer; wxBoxSizer* bOptionsSizer;
bOptionsSizer = new wxBoxSizer( wxVERTICAL ); bOptionsSizer = new wxBoxSizer( wxVERTICAL );
m_notebook1 = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); m_notebook1 = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
m_notebook1->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) ); m_notebook1->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
m_panel1 = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); m_panel1 = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
wxBoxSizer* p1mainSizer; wxBoxSizer* p1mainSizer;
p1mainSizer = new wxBoxSizer( wxHORIZONTAL ); p1mainSizer = new wxBoxSizer( wxHORIZONTAL );
wxBoxSizer* bSizer3; wxBoxSizer* bSizer3;
bSizer3 = new wxBoxSizer( wxVERTICAL ); bSizer3 = new wxBoxSizer( wxVERTICAL );
wxFlexGridSizer* fgSizer1; wxFlexGridSizer* fgSizer1;
fgSizer1 = new wxFlexGridSizer( 9, 3, 0, 0 ); fgSizer1 = new wxFlexGridSizer( 11, 3, 0, 0 );
fgSizer1->AddGrowableCol( 0 ); fgSizer1->AddGrowableCol( 0 );
fgSizer1->AddGrowableCol( 1 ); fgSizer1->AddGrowableCol( 1 );
fgSizer1->AddGrowableCol( 2 ); fgSizer1->AddGrowableCol( 2 );
fgSizer1->SetFlexibleDirection( wxHORIZONTAL ); fgSizer1->SetFlexibleDirection( wxHORIZONTAL );
fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
m_staticText2 = new wxStaticText( m_panel1, wxID_ANY, _("Measurement &units:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText2 = new wxStaticText( m_panel1, wxID_ANY, _("Measurement &units:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText2->Wrap( -1 ); m_staticText2->Wrap( -1 );
fgSizer1->Add( m_staticText2, 1, wxALIGN_CENTER_VERTICAL|wxALL, 3 ); fgSizer1->Add( m_staticText2, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 3 );
wxArrayString m_choiceUnitsChoices; wxArrayString m_choiceUnitsChoices;
m_choiceUnits = new wxChoice( m_panel1, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceUnitsChoices, 0 ); m_choiceUnits = new wxChoice( m_panel1, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceUnitsChoices, 0 );
m_choiceUnits->SetSelection( 0 ); m_choiceUnits->SetSelection( 0 );
fgSizer1->Add( m_choiceUnits, 1, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 ); fgSizer1->Add( m_choiceUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
fgSizer1->Add( 0, 0, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND, 3 ); fgSizer1->Add( 0, 0, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND, 3 );
m_staticText3 = new wxStaticText( m_panel1, wxID_ANY, _("&Grid size:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText3 = new wxStaticText( m_panel1, wxID_ANY, _("&Grid size:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText3->Wrap( -1 ); m_staticText3->Wrap( -1 );
fgSizer1->Add( m_staticText3, 1, wxALIGN_CENTER_VERTICAL|wxALL, 3 ); fgSizer1->Add( m_staticText3, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 3 );
wxArrayString m_choiceGridSizeChoices; wxArrayString m_choiceGridSizeChoices;
m_choiceGridSize = new wxChoice( m_panel1, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceGridSizeChoices, 0 ); m_choiceGridSize = new wxChoice( m_panel1, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceGridSizeChoices, 0 );
m_choiceGridSize->SetSelection( 0 ); m_choiceGridSize->SetSelection( 0 );
fgSizer1->Add( m_choiceGridSize, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 ); fgSizer1->Add( m_choiceGridSize, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxALL, 3 );
m_staticGridUnits = new wxStaticText( m_panel1, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticGridUnits = new wxStaticText( m_panel1, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticGridUnits->Wrap( -1 ); m_staticGridUnits->Wrap( -1 );
fgSizer1->Add( m_staticGridUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 ); fgSizer1->Add( m_staticGridUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 3 );
m_staticText51 = new wxStaticText( m_panel1, wxID_ANY, _("Default &bus width:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText51 = new wxStaticText( m_panel1, wxID_ANY, _("Default &bus width:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText51->Wrap( -1 ); m_staticText51->Wrap( -1 );
fgSizer1->Add( m_staticText51, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 ); fgSizer1->Add( m_staticText51, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 3 );
m_spinBusWidth = new wxSpinCtrl( m_panel1, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP, 1, 100, 1 ); m_spinBusWidth = new wxSpinCtrl( m_panel1, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP, 1, 100, 1 );
fgSizer1->Add( m_spinBusWidth, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 ); fgSizer1->Add( m_spinBusWidth, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
m_staticBusWidthUnits = new wxStaticText( m_panel1, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticBusWidthUnits = new wxStaticText( m_panel1, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticBusWidthUnits->Wrap( -1 ); m_staticBusWidthUnits->Wrap( -1 );
fgSizer1->Add( m_staticBusWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 ); fgSizer1->Add( m_staticBusWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 3 );
m_staticText5 = new wxStaticText( m_panel1, wxID_ANY, _("Default &line width:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText5 = new wxStaticText( m_panel1, wxID_ANY, _("Default &line width:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText5->Wrap( -1 ); m_staticText5->Wrap( -1 );
fgSizer1->Add( m_staticText5, 1, wxALIGN_CENTER_VERTICAL|wxALL, 3 ); fgSizer1->Add( m_staticText5, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 3 );
m_spinLineWidth = new wxSpinCtrl( m_panel1, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP, 1, 100, 1 ); m_spinLineWidth = new wxSpinCtrl( m_panel1, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP, 1, 100, 1 );
fgSizer1->Add( m_spinLineWidth, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 ); fgSizer1->Add( m_spinLineWidth, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
m_staticLineWidthUnits = new wxStaticText( m_panel1, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticLineWidthUnits = new wxStaticText( m_panel1, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticLineWidthUnits->Wrap( -1 ); m_staticLineWidthUnits->Wrap( -1 );
fgSizer1->Add( m_staticLineWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 ); fgSizer1->Add( m_staticLineWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 3 );
m_staticText7 = new wxStaticText( m_panel1, wxID_ANY, _("Default text &size:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText7 = new wxStaticText( m_panel1, wxID_ANY, _("Default text &size:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText7->Wrap( -1 ); m_staticText7->Wrap( -1 );
fgSizer1->Add( m_staticText7, 1, wxALIGN_CENTER_VERTICAL|wxALL, 3 ); fgSizer1->Add( m_staticText7, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 3 );
m_spinTextSize = new wxSpinCtrl( m_panel1, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP, 0, 1000, 0 ); m_spinTextSize = new wxSpinCtrl( m_panel1, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP, 0, 1000, 0 );
fgSizer1->Add( m_spinTextSize, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 ); fgSizer1->Add( m_spinTextSize, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
m_staticTextSizeUnits = new wxStaticText( m_panel1, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextSizeUnits = new wxStaticText( m_panel1, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextSizeUnits->Wrap( -1 ); m_staticTextSizeUnits->Wrap( -1 );
fgSizer1->Add( m_staticTextSizeUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 ); fgSizer1->Add( m_staticTextSizeUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 3 );
m_staticText9 = new wxStaticText( m_panel1, wxID_ANY, _("Repeat draw item &horizontal displacement:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText9 = new wxStaticText( m_panel1, wxID_ANY, _("Repeat draw item &horizontal displacement:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText9->Wrap( -1 ); m_staticText9->Wrap( -1 );
fgSizer1->Add( m_staticText9, 1, wxALIGN_CENTER_VERTICAL|wxALL, 3 ); fgSizer1->Add( m_staticText9, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 3 );
m_spinRepeatHorizontal = new wxSpinCtrl( m_panel1, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP, -5000, 5000, 0 ); m_spinRepeatHorizontal = new wxSpinCtrl( m_panel1, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP, -5000, 5000, 0 );
fgSizer1->Add( m_spinRepeatHorizontal, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 ); fgSizer1->Add( m_spinRepeatHorizontal, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
m_staticRepeatXUnits = new wxStaticText( m_panel1, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticRepeatXUnits = new wxStaticText( m_panel1, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticRepeatXUnits->Wrap( -1 ); m_staticRepeatXUnits->Wrap( -1 );
fgSizer1->Add( m_staticRepeatXUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 ); fgSizer1->Add( m_staticRepeatXUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 3 );
m_staticText12 = new wxStaticText( m_panel1, wxID_ANY, _("Repeat draw item &vertical displacement:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText12 = new wxStaticText( m_panel1, wxID_ANY, _("Repeat draw item &vertical displacement:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText12->Wrap( -1 ); m_staticText12->Wrap( -1 );
fgSizer1->Add( m_staticText12, 1, wxALIGN_CENTER_VERTICAL|wxALL, 3 ); fgSizer1->Add( m_staticText12, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 3 );
m_spinRepeatVertical = new wxSpinCtrl( m_panel1, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP, -5000, 5000, 100 ); m_spinRepeatVertical = new wxSpinCtrl( m_panel1, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP, -5000, 5000, 100 );
fgSizer1->Add( m_spinRepeatVertical, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 ); fgSizer1->Add( m_spinRepeatVertical, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
m_staticRepeatYUnits = new wxStaticText( m_panel1, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticRepeatYUnits = new wxStaticText( m_panel1, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticRepeatYUnits->Wrap( -1 ); m_staticRepeatYUnits->Wrap( -1 );
fgSizer1->Add( m_staticRepeatYUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 ); fgSizer1->Add( m_staticRepeatYUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 3 );
m_staticText16 = new wxStaticText( m_panel1, wxID_ANY, _("&Repeat label increment:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText16 = new wxStaticText( m_panel1, wxID_ANY, _("&Repeat label increment:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText16->Wrap( -1 ); m_staticText16->Wrap( -1 );
fgSizer1->Add( m_staticText16, 1, wxALIGN_CENTER_VERTICAL|wxALL, 3 ); fgSizer1->Add( m_staticText16, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 3 );
m_spinRepeatLabel = new wxSpinCtrl( m_panel1, wxID_ANY, wxT("1"), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP, 0, 10, 1 ); m_spinRepeatLabel = new wxSpinCtrl( m_panel1, wxID_ANY, wxT("1"), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP, 0, 10, 1 );
fgSizer1->Add( m_spinRepeatLabel, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 ); fgSizer1->Add( m_spinRepeatLabel, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
fgSizer1->Add( 0, 0, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND, 3 ); fgSizer1->Add( 0, 0, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND, 3 );
m_staticText221 = new wxStaticText( m_panel1, wxID_ANY, _("Auto save &time interval:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText221 = new wxStaticText( m_panel1, wxID_ANY, _("Auto save &time interval:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText221->Wrap( -1 ); m_staticText221->Wrap( -1 );
fgSizer1->Add( m_staticText221, 1, wxALIGN_CENTER_VERTICAL|wxALL, 3 ); fgSizer1->Add( m_staticText221, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 3 );
m_spinAutoSaveInterval = new wxSpinCtrl( m_panel1, ID_M_SPINAUTOSAVEINTERVAL, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 1000, 10 ); m_spinAutoSaveInterval = new wxSpinCtrl( m_panel1, ID_M_SPINAUTOSAVEINTERVAL, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 1000, 10 );
fgSizer1->Add( m_spinAutoSaveInterval, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 ); fgSizer1->Add( m_spinAutoSaveInterval, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
m_staticText23 = new wxStaticText( m_panel1, wxID_ANY, _("minutes"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText23 = new wxStaticText( m_panel1, wxID_ANY, _("minutes"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText23->Wrap( -1 ); m_staticText23->Wrap( -1 );
fgSizer1->Add( m_staticText23, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 ); fgSizer1->Add( m_staticText23, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 3 );
m_staticText26 = new wxStaticText( m_panel1, wxID_ANY, _("Separator ref/part id:"), wxDefaultPosition, wxDefaultSize, 0 );
bSizer3->Add( fgSizer1, 0, wxALIGN_CENTER|wxEXPAND, 0 ); m_staticText26->Wrap( -1 );
fgSizer1->Add( m_staticText26, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
wxBoxSizer* bSizer2;
bSizer2 = new wxBoxSizer( wxVERTICAL ); m_textCtrlSeparatorRefId = new wxTextCtrl( m_panel1, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
fgSizer1->Add( m_textCtrlSeparatorRefId, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 3 );
m_checkShowGrid = new wxCheckBox( m_panel1, wxID_ANY, _("Show gr&id"), wxDefaultPosition, wxDefaultSize, 0 );
bSizer2->Add( m_checkShowGrid, 0, wxALL|wxEXPAND, 3 );
fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
m_checkShowHiddenPins = new wxCheckBox( m_panel1, wxID_ANY, _("Show hi&dden pins"), wxDefaultPosition, wxDefaultSize, 0 );
bSizer2->Add( m_checkShowHiddenPins, 0, wxALL|wxEXPAND, 3 ); m_staticText27 = new wxStaticText( m_panel1, wxID_ANY, _("Part first Id:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText27->Wrap( -1 );
m_checkEnableZoomNoCenter = new wxCheckBox( m_panel1, wxID_ANY, _("Do not center and &warp cursor on zoom"), wxDefaultPosition, wxDefaultSize, 0 ); fgSizer1->Add( m_staticText27, 0, wxALL, 5 );
m_checkEnableZoomNoCenter->SetToolTip( _("Keep the cursor at its current location when zooming") );
m_textCtrlPartFirstId = new wxTextCtrl( m_panel1, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
bSizer2->Add( m_checkEnableZoomNoCenter, 0, wxALL, 3 ); fgSizer1->Add( m_textCtrlPartFirstId, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 3 );
m_checkEnableMiddleButtonPan = new wxCheckBox( m_panel1, xwID_ANY, _("Use &middle mouse button to pan"), wxDefaultPosition, wxDefaultSize, 0 );
m_checkEnableMiddleButtonPan->SetToolTip( _("Use middle mouse button dragging to pan") ); fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
bSizer2->Add( m_checkEnableMiddleButtonPan, 0, wxALL, 3 );
bSizer3->Add( fgSizer1, 0, wxALIGN_CENTER|wxEXPAND, 0 );
m_checkMiddleButtonPanLimited = new wxCheckBox( m_panel1, wxID_ANY, _("&Limit panning to scroll size"), wxDefaultPosition, wxDefaultSize, 0 );
m_checkMiddleButtonPanLimited->SetToolTip( _("Middle mouse button panning limited by current scrollbar size") ); wxBoxSizer* bSizer2;
bSizer2 = new wxBoxSizer( wxVERTICAL );
bSizer2->Add( m_checkMiddleButtonPanLimited, 0, wxALL, 3 );
m_staticline1 = new wxStaticLine( m_panel1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
m_checkAutoPan = new wxCheckBox( m_panel1, wxID_ANY, _("Pan while moving ob&ject"), wxDefaultPosition, wxDefaultSize, 0 ); bSizer2->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
bSizer2->Add( m_checkAutoPan, 0, wxALL|wxEXPAND, 3 );
m_checkShowGrid = new wxCheckBox( m_panel1, wxID_ANY, _("Show gr&id"), wxDefaultPosition, wxDefaultSize, 0 );
m_checkHVOrientation = new wxCheckBox( m_panel1, wxID_ANY, _("Allow buses and wires to be placed in H or V &orientation only"), wxDefaultPosition, wxDefaultSize, 0 ); bSizer2->Add( m_checkShowGrid, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 3 );
bSizer2->Add( m_checkHVOrientation, 0, wxALL|wxEXPAND, 3 );
m_checkShowHiddenPins = new wxCheckBox( m_panel1, wxID_ANY, _("Show hi&dden pins"), wxDefaultPosition, wxDefaultSize, 0 );
m_checkPageLimits = new wxCheckBox( m_panel1, wxID_ANY, _("Show p&age limits"), wxDefaultPosition, wxDefaultSize, 0 ); bSizer2->Add( m_checkShowHiddenPins, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 3 );
bSizer2->Add( m_checkPageLimits, 0, wxALL|wxEXPAND, 3 );
m_checkEnableZoomNoCenter = new wxCheckBox( m_panel1, wxID_ANY, _("Do not center and &warp cursor on zoom"), wxDefaultPosition, wxDefaultSize, 0 );
m_checkEnableZoomNoCenter->SetToolTip( _("Keep the cursor at its current location when zooming") );
bSizer3->Add( bSizer2, 0, wxEXPAND, 0 );
bSizer2->Add( m_checkEnableZoomNoCenter, 0, wxTOP|wxRIGHT|wxLEFT, 3 );
p1mainSizer->Add( bSizer3, 1, wxALL|wxEXPAND, 6 ); m_checkEnableMiddleButtonPan = new wxCheckBox( m_panel1, xwID_ANY, _("Use &middle mouse button to pan"), wxDefaultPosition, wxDefaultSize, 0 );
m_checkEnableMiddleButtonPan->SetToolTip( _("Use middle mouse button dragging to pan") );
m_panel1->SetSizer( p1mainSizer ); bSizer2->Add( m_checkEnableMiddleButtonPan, 0, wxTOP|wxRIGHT|wxLEFT, 3 );
m_panel1->Layout();
p1mainSizer->Fit( m_panel1 ); m_checkMiddleButtonPanLimited = new wxCheckBox( m_panel1, wxID_ANY, _("&Limit panning to scroll size"), wxDefaultPosition, wxDefaultSize, 0 );
m_notebook1->AddPage( m_panel1, _("General Options"), true ); m_checkMiddleButtonPanLimited->SetToolTip( _("Middle mouse button panning limited by current scrollbar size") );
m_panel2 = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
m_panel2->SetToolTip( _("User defined field names for schematic components. ") ); bSizer2->Add( m_checkMiddleButtonPanLimited, 0, wxTOP|wxRIGHT|wxLEFT, 3 );
wxBoxSizer* bSizer6; m_checkAutoPan = new wxCheckBox( m_panel1, wxID_ANY, _("Pan while moving ob&ject"), wxDefaultPosition, wxDefaultSize, 0 );
bSizer6 = new wxBoxSizer( wxVERTICAL ); bSizer2->Add( m_checkAutoPan, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 3 );
wxBoxSizer* bSizer8; m_checkHVOrientation = new wxCheckBox( m_panel1, wxID_ANY, _("Allow buses and wires to be placed in H or V &orientation only"), wxDefaultPosition, wxDefaultSize, 0 );
bSizer8 = new wxBoxSizer( wxVERTICAL ); bSizer2->Add( m_checkHVOrientation, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 3 );
m_staticText211 = new wxStaticText( m_panel2, wxID_ANY, _("Please enter fieldnames which you want presented in the component fieldname (property) editors. Names may not include (, ), or \" characters."), wxDefaultPosition, wxDefaultSize, 0 ); m_checkPageLimits = new wxCheckBox( m_panel1, wxID_ANY, _("Show p&age limits"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText211->Wrap( 400 ); bSizer2->Add( m_checkPageLimits, 0, wxALL|wxEXPAND, 3 );
bSizer8->Add( m_staticText211, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
bSizer3->Add( bSizer2, 0, wxEXPAND, 0 );
bSizer6->Add( bSizer8, 0, wxEXPAND, 5 );
wxBoxSizer* bSizer7; p1mainSizer->Add( bSizer3, 1, wxALL|wxEXPAND, 6 );
bSizer7 = new wxBoxSizer( wxVERTICAL );
wxFlexGridSizer* fgSizer2; m_panel1->SetSizer( p1mainSizer );
fgSizer2 = new wxFlexGridSizer( 8, 2, 0, 0 ); m_panel1->Layout();
fgSizer2->AddGrowableCol( 1 ); p1mainSizer->Fit( m_panel1 );
fgSizer2->SetFlexibleDirection( wxHORIZONTAL ); m_notebook1->AddPage( m_panel1, _("General Options"), true );
fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); m_panel2 = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
m_panel2->SetToolTip( _("User defined field names for schematic components. ") );
m_staticText15 = new wxStaticText( m_panel2, wxID_ANY, _("Custom field 1"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText15->Wrap( -1 ); wxBoxSizer* bSizer6;
fgSizer2->Add( m_staticText15, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 3 ); bSizer6 = new wxBoxSizer( wxVERTICAL );
m_fieldName1 = new wxTextCtrl( m_panel2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); wxBoxSizer* bSizer8;
m_fieldName1->SetMaxLength( 0 ); bSizer8 = new wxBoxSizer( wxVERTICAL );
fgSizer2->Add( m_fieldName1, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
m_staticText211 = new wxStaticText( m_panel2, wxID_ANY, _("Please enter fieldnames which you want presented in the component fieldname (property) editors. Names may not include (, ), or \" characters."), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText161 = new wxStaticText( m_panel2, wxID_ANY, _("Custom field 2"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText211->Wrap( 400 );
m_staticText161->Wrap( -1 ); bSizer8->Add( m_staticText211, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
fgSizer2->Add( m_staticText161, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 3 );
m_fieldName2 = new wxTextCtrl( m_panel2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); bSizer6->Add( bSizer8, 0, wxEXPAND, 5 );
m_fieldName2->SetMaxLength( 0 );
fgSizer2->Add( m_fieldName2, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 ); wxBoxSizer* bSizer7;
bSizer7 = new wxBoxSizer( wxVERTICAL );
m_staticText17 = new wxStaticText( m_panel2, wxID_ANY, _("Custom field 3"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText17->Wrap( -1 ); wxFlexGridSizer* fgSizer2;
fgSizer2->Add( m_staticText17, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 3 ); fgSizer2 = new wxFlexGridSizer( 8, 2, 0, 0 );
fgSizer2->AddGrowableCol( 1 );
m_fieldName3 = new wxTextCtrl( m_panel2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); fgSizer2->SetFlexibleDirection( wxHORIZONTAL );
m_fieldName3->SetMaxLength( 0 ); fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
fgSizer2->Add( m_fieldName3, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
m_staticText15 = new wxStaticText( m_panel2, wxID_ANY, _("Custom field 1"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText18 = new wxStaticText( m_panel2, wxID_ANY, _("Custom field 4"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText15->Wrap( -1 );
m_staticText18->Wrap( -1 ); fgSizer2->Add( m_staticText15, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 3 );
fgSizer2->Add( m_staticText18, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 3 );
m_fieldName1 = new wxTextCtrl( m_panel2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_fieldName4 = new wxTextCtrl( m_panel2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_fieldName1->SetMaxLength( 0 );
m_fieldName4->SetMaxLength( 0 ); fgSizer2->Add( m_fieldName1, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
fgSizer2->Add( m_fieldName4, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
m_staticText161 = new wxStaticText( m_panel2, wxID_ANY, _("Custom field 2"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText19 = new wxStaticText( m_panel2, wxID_ANY, _("Custom field 5"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText161->Wrap( -1 );
m_staticText19->Wrap( -1 ); fgSizer2->Add( m_staticText161, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 3 );
fgSizer2->Add( m_staticText19, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 3 );
m_fieldName2 = new wxTextCtrl( m_panel2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_fieldName5 = new wxTextCtrl( m_panel2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_fieldName2->SetMaxLength( 0 );
m_fieldName5->SetMaxLength( 0 ); fgSizer2->Add( m_fieldName2, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
fgSizer2->Add( m_fieldName5, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
m_staticText17 = new wxStaticText( m_panel2, wxID_ANY, _("Custom field 3"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText20 = new wxStaticText( m_panel2, wxID_ANY, _("Custom field 6"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText17->Wrap( -1 );
m_staticText20->Wrap( -1 ); fgSizer2->Add( m_staticText17, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 3 );
fgSizer2->Add( m_staticText20, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 3 );
m_fieldName3 = new wxTextCtrl( m_panel2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_fieldName6 = new wxTextCtrl( m_panel2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_fieldName3->SetMaxLength( 0 );
m_fieldName6->SetMaxLength( 0 ); fgSizer2->Add( m_fieldName3, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
fgSizer2->Add( m_fieldName6, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
m_staticText18 = new wxStaticText( m_panel2, wxID_ANY, _("Custom field 4"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText21 = new wxStaticText( m_panel2, wxID_ANY, _("Custom field 7"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText18->Wrap( -1 );
m_staticText21->Wrap( -1 ); fgSizer2->Add( m_staticText18, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 3 );
fgSizer2->Add( m_staticText21, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 3 );
m_fieldName4 = new wxTextCtrl( m_panel2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_fieldName7 = new wxTextCtrl( m_panel2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_fieldName4->SetMaxLength( 0 );
m_fieldName7->SetMaxLength( 0 ); fgSizer2->Add( m_fieldName4, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
fgSizer2->Add( m_fieldName7, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
m_staticText19 = new wxStaticText( m_panel2, wxID_ANY, _("Custom field 5"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText22 = new wxStaticText( m_panel2, wxID_ANY, _("Custom field 8"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText19->Wrap( -1 );
m_staticText22->Wrap( -1 ); fgSizer2->Add( m_staticText19, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 3 );
fgSizer2->Add( m_staticText22, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 3 );
m_fieldName5 = new wxTextCtrl( m_panel2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_fieldName8 = new wxTextCtrl( m_panel2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_fieldName5->SetMaxLength( 0 );
m_fieldName8->SetMaxLength( 0 ); fgSizer2->Add( m_fieldName5, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
fgSizer2->Add( m_fieldName8, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
m_staticText20 = new wxStaticText( m_panel2, wxID_ANY, _("Custom field 6"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText20->Wrap( -1 );
bSizer7->Add( fgSizer2, 1, wxALIGN_CENTER|wxEXPAND, 5 ); fgSizer2->Add( m_staticText20, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 3 );
m_fieldName6 = new wxTextCtrl( m_panel2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
bSizer6->Add( bSizer7, 1, wxALL|wxEXPAND, 12 ); m_fieldName6->SetMaxLength( 0 );
fgSizer2->Add( m_fieldName6, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
m_panel2->SetSizer( bSizer6 ); m_staticText21 = new wxStaticText( m_panel2, wxID_ANY, _("Custom field 7"), wxDefaultPosition, wxDefaultSize, 0 );
m_panel2->Layout(); m_staticText21->Wrap( -1 );
bSizer6->Fit( m_panel2 ); fgSizer2->Add( m_staticText21, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 3 );
m_notebook1->AddPage( m_panel2, _("Template Field Names"), false );
m_fieldName7 = new wxTextCtrl( m_panel2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
bOptionsSizer->Add( m_notebook1, 1, wxEXPAND, 0 ); m_fieldName7->SetMaxLength( 0 );
fgSizer2->Add( m_fieldName7, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
m_sdbSizer1 = new wxStdDialogButtonSizer();
m_sdbSizer1OK = new wxButton( this, wxID_OK ); m_staticText22 = new wxStaticText( m_panel2, wxID_ANY, _("Custom field 8"), wxDefaultPosition, wxDefaultSize, 0 );
m_sdbSizer1->AddButton( m_sdbSizer1OK ); m_staticText22->Wrap( -1 );
m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL ); fgSizer2->Add( m_staticText22, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 3 );
m_sdbSizer1->AddButton( m_sdbSizer1Cancel );
m_sdbSizer1->Realize(); m_fieldName8 = new wxTextCtrl( m_panel2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_fieldName8->SetMaxLength( 0 );
bOptionsSizer->Add( m_sdbSizer1, 0, wxALL|wxEXPAND, 6 ); fgSizer2->Add( m_fieldName8, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
mainSizer->Add( bOptionsSizer, 1, wxEXPAND, 12 ); bSizer7->Add( fgSizer2, 1, wxALIGN_CENTER|wxEXPAND, 5 );
this->SetSizer( mainSizer ); bSizer6->Add( bSizer7, 1, wxALL|wxEXPAND, 12 );
this->Layout();
mainSizer->Fit( this );
m_panel2->SetSizer( bSizer6 );
this->Centre( wxBOTH ); m_panel2->Layout();
} bSizer6->Fit( m_panel2 );
m_notebook1->AddPage( m_panel2, _("Template Field Names"), false );
DIALOG_EESCHEMA_OPTIONS_BASE::~DIALOG_EESCHEMA_OPTIONS_BASE()
{ bOptionsSizer->Add( m_notebook1, 1, wxEXPAND, 0 );
}
m_sdbSizer1 = new wxStdDialogButtonSizer();
m_sdbSizer1OK = new wxButton( this, wxID_OK );
m_sdbSizer1->AddButton( m_sdbSizer1OK );
m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL );
m_sdbSizer1->AddButton( m_sdbSizer1Cancel );
m_sdbSizer1->Realize();
bOptionsSizer->Add( m_sdbSizer1, 0, wxALL|wxEXPAND, 6 );
mainSizer->Add( bOptionsSizer, 1, wxEXPAND, 12 );
this->SetSizer( mainSizer );
this->Layout();
this->Centre( wxBOTH );
}
DIALOG_EESCHEMA_OPTIONS_BASE::~DIALOG_EESCHEMA_OPTIONS_BASE()
{
}
This source diff could not be displayed because it is too large. You can view the blob instead.
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Oct 8 2012) // C++ code generated with wxFormBuilder (version Oct 8 2012)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
#ifndef __DIALOG_EESCHEMA_OPTIONS_BASE_H__ #ifndef __DIALOG_EESCHEMA_OPTIONS_BASE_H__
#define __DIALOG_EESCHEMA_OPTIONS_BASE_H__ #define __DIALOG_EESCHEMA_OPTIONS_BASE_H__
#include <wx/artprov.h> #include <wx/artprov.h>
#include <wx/xrc/xmlres.h> #include <wx/xrc/xmlres.h>
#include <wx/intl.h> #include <wx/intl.h>
class DIALOG_SHIM; class DIALOG_SHIM;
#include "dialog_shim.h" #include "dialog_shim.h"
#include <wx/string.h> #include <wx/string.h>
#include <wx/stattext.h> #include <wx/stattext.h>
#include <wx/gdicmn.h> #include <wx/gdicmn.h>
#include <wx/font.h> #include <wx/font.h>
#include <wx/colour.h> #include <wx/colour.h>
#include <wx/settings.h> #include <wx/settings.h>
#include <wx/choice.h> #include <wx/choice.h>
#include <wx/spinctrl.h> #include <wx/spinctrl.h>
#include <wx/sizer.h> #include <wx/textctrl.h>
#include <wx/checkbox.h> #include <wx/sizer.h>
#include <wx/panel.h> #include <wx/statline.h>
#include <wx/bitmap.h> #include <wx/checkbox.h>
#include <wx/image.h> #include <wx/panel.h>
#include <wx/icon.h> #include <wx/bitmap.h>
#include <wx/textctrl.h> #include <wx/image.h>
#include <wx/notebook.h> #include <wx/icon.h>
#include <wx/button.h> #include <wx/notebook.h>
#include <wx/dialog.h> #include <wx/button.h>
#include <wx/dialog.h>
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
/// Class DIALOG_EESCHEMA_OPTIONS_BASE ///////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////// /// Class DIALOG_EESCHEMA_OPTIONS_BASE
class DIALOG_EESCHEMA_OPTIONS_BASE : public DIALOG_SHIM ///////////////////////////////////////////////////////////////////////////////
{ class DIALOG_EESCHEMA_OPTIONS_BASE : public DIALOG_SHIM
DECLARE_EVENT_TABLE() {
private: DECLARE_EVENT_TABLE()
private:
// Private event handlers
void _wxFB_OnChooseUnits( wxCommandEvent& event ){ OnChooseUnits( event ); } // Private event handlers
void _wxFB_OnMiddleBtnPanEnbl( wxCommandEvent& event ){ OnMiddleBtnPanEnbl( event ); } void _wxFB_OnChooseUnits( wxCommandEvent& event ){ OnChooseUnits( event ); }
void _wxFB_OnMiddleBtnPanEnbl( wxCommandEvent& event ){ OnMiddleBtnPanEnbl( event ); }
protected:
enum protected:
{ enum
ID_M_SPINAUTOSAVEINTERVAL = 1000, {
xwID_ANY ID_M_SPINAUTOSAVEINTERVAL = 1000,
}; xwID_ANY
};
wxNotebook* m_notebook1;
wxPanel* m_panel1; wxNotebook* m_notebook1;
wxStaticText* m_staticText2; wxPanel* m_panel1;
wxChoice* m_choiceUnits; wxStaticText* m_staticText2;
wxStaticText* m_staticText3; wxChoice* m_choiceUnits;
wxChoice* m_choiceGridSize; wxStaticText* m_staticText3;
wxStaticText* m_staticGridUnits; wxChoice* m_choiceGridSize;
wxStaticText* m_staticText51; wxStaticText* m_staticGridUnits;
wxSpinCtrl* m_spinBusWidth; wxStaticText* m_staticText51;
wxStaticText* m_staticBusWidthUnits; wxSpinCtrl* m_spinBusWidth;
wxStaticText* m_staticText5; wxStaticText* m_staticBusWidthUnits;
wxSpinCtrl* m_spinLineWidth; wxStaticText* m_staticText5;
wxStaticText* m_staticLineWidthUnits; wxSpinCtrl* m_spinLineWidth;
wxStaticText* m_staticText7; wxStaticText* m_staticLineWidthUnits;
wxSpinCtrl* m_spinTextSize; wxStaticText* m_staticText7;
wxStaticText* m_staticTextSizeUnits; wxSpinCtrl* m_spinTextSize;
wxStaticText* m_staticText9; wxStaticText* m_staticTextSizeUnits;
wxSpinCtrl* m_spinRepeatHorizontal; wxStaticText* m_staticText9;
wxStaticText* m_staticRepeatXUnits; wxSpinCtrl* m_spinRepeatHorizontal;
wxStaticText* m_staticText12; wxStaticText* m_staticRepeatXUnits;
wxSpinCtrl* m_spinRepeatVertical; wxStaticText* m_staticText12;
wxStaticText* m_staticRepeatYUnits; wxSpinCtrl* m_spinRepeatVertical;
wxStaticText* m_staticText16; wxStaticText* m_staticRepeatYUnits;
wxSpinCtrl* m_spinRepeatLabel; wxStaticText* m_staticText16;
wxStaticText* m_staticText221; wxSpinCtrl* m_spinRepeatLabel;
wxSpinCtrl* m_spinAutoSaveInterval; wxStaticText* m_staticText221;
wxStaticText* m_staticText23; wxSpinCtrl* m_spinAutoSaveInterval;
wxCheckBox* m_checkShowGrid; wxStaticText* m_staticText23;
wxCheckBox* m_checkShowHiddenPins; wxStaticText* m_staticText26;
wxCheckBox* m_checkEnableZoomNoCenter; wxTextCtrl* m_textCtrlSeparatorRefId;
wxCheckBox* m_checkEnableMiddleButtonPan; wxStaticText* m_staticText27;
wxCheckBox* m_checkMiddleButtonPanLimited; wxTextCtrl* m_textCtrlPartFirstId;
wxCheckBox* m_checkAutoPan; wxStaticLine* m_staticline1;
wxCheckBox* m_checkHVOrientation; wxCheckBox* m_checkShowGrid;
wxCheckBox* m_checkPageLimits; wxCheckBox* m_checkShowHiddenPins;
wxPanel* m_panel2; wxCheckBox* m_checkEnableZoomNoCenter;
wxStaticText* m_staticText211; wxCheckBox* m_checkEnableMiddleButtonPan;
wxStaticText* m_staticText15; wxCheckBox* m_checkMiddleButtonPanLimited;
wxTextCtrl* m_fieldName1; wxCheckBox* m_checkAutoPan;
wxStaticText* m_staticText161; wxCheckBox* m_checkHVOrientation;
wxTextCtrl* m_fieldName2; wxCheckBox* m_checkPageLimits;
wxStaticText* m_staticText17; wxPanel* m_panel2;
wxTextCtrl* m_fieldName3; wxStaticText* m_staticText211;
wxStaticText* m_staticText18; wxStaticText* m_staticText15;
wxTextCtrl* m_fieldName4; wxTextCtrl* m_fieldName1;
wxStaticText* m_staticText19; wxStaticText* m_staticText161;
wxTextCtrl* m_fieldName5; wxTextCtrl* m_fieldName2;
wxStaticText* m_staticText20; wxStaticText* m_staticText17;
wxTextCtrl* m_fieldName6; wxTextCtrl* m_fieldName3;
wxStaticText* m_staticText21; wxStaticText* m_staticText18;
wxTextCtrl* m_fieldName7; wxTextCtrl* m_fieldName4;
wxStaticText* m_staticText22; wxStaticText* m_staticText19;
wxTextCtrl* m_fieldName8; wxTextCtrl* m_fieldName5;
wxStdDialogButtonSizer* m_sdbSizer1; wxStaticText* m_staticText20;
wxButton* m_sdbSizer1OK; wxTextCtrl* m_fieldName6;
wxButton* m_sdbSizer1Cancel; wxStaticText* m_staticText21;
wxTextCtrl* m_fieldName7;
// Virtual event handlers, overide them in your derived class wxStaticText* m_staticText22;
virtual void OnChooseUnits( wxCommandEvent& event ) { event.Skip(); } wxTextCtrl* m_fieldName8;
virtual void OnMiddleBtnPanEnbl( wxCommandEvent& event ) { event.Skip(); } wxStdDialogButtonSizer* m_sdbSizer1;
wxButton* m_sdbSizer1OK;
wxButton* m_sdbSizer1Cancel;
public:
// Virtual event handlers, overide them in your derived class
DIALOG_EESCHEMA_OPTIONS_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Schematic Editor Options"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); virtual void OnChooseUnits( wxCommandEvent& event ) { event.Skip(); }
~DIALOG_EESCHEMA_OPTIONS_BASE(); virtual void OnMiddleBtnPanEnbl( wxCommandEvent& event ) { event.Skip(); }
};
public:
#endif //__DIALOG_EESCHEMA_OPTIONS_BASE_H__
DIALOG_EESCHEMA_OPTIONS_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Schematic Editor Options"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 432,560 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
~DIALOG_EESCHEMA_OPTIONS_BASE();
};
#endif //__DIALOG_EESCHEMA_OPTIONS_BASE_H__
...@@ -402,7 +402,7 @@ void SCH_PRINTOUT::DrawPage( SCH_SCREEN* aScreen ) ...@@ -402,7 +402,7 @@ void SCH_PRINTOUT::DrawPage( SCH_SCREEN* aScreen )
aScreen->Draw( panel, dc, GR_DEFAULT_DRAWMODE ); aScreen->Draw( panel, dc, GR_DEFAULT_DRAWMODE );
if( printReference ) if( printReference )
parent->TraceWorkSheet( dc, aScreen, GetDefaultLineThickness(), parent->DrawWorkSheet( dc, aScreen, GetDefaultLineThickness(),
IU_PER_MILS, parent->GetScreenDesc() ); IU_PER_MILS, parent->GetScreenDesc() );
g_DrawBgColor = bg_color; g_DrawBgColor = bg_color;
......
...@@ -60,7 +60,7 @@ void SCH_EDIT_FRAME::RedrawActiveWindow( wxDC* DC, bool EraseBg ) ...@@ -60,7 +60,7 @@ void SCH_EDIT_FRAME::RedrawActiveWindow( wxDC* DC, bool EraseBg )
GetScreen()->Draw( m_canvas, DC, GR_DEFAULT_DRAWMODE ); GetScreen()->Draw( m_canvas, DC, GR_DEFAULT_DRAWMODE );
TraceWorkSheet( DC, GetScreen(), GetDefaultLineThickness(), IU_PER_MILS, DrawWorkSheet( DC, GetScreen(), GetDefaultLineThickness(), IU_PER_MILS,
GetScreen()->GetFileName() ); GetScreen()->GetFileName() );
#ifdef USE_WX_OVERLAY #ifdef USE_WX_OVERLAY
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
#include <eeschema_config.h> #include <eeschema_config.h>
#include <hotkeys.h> #include <hotkeys.h>
#include <sch_sheet.h> #include <sch_sheet.h>
#include <class_libentry.h>
#include <dialog_hotkeys_editor.h> #include <dialog_hotkeys_editor.h>
...@@ -271,6 +272,9 @@ void SCH_EDIT_FRAME::OnSetOptions( wxCommandEvent& event ) ...@@ -271,6 +272,9 @@ void SCH_EDIT_FRAME::OnSetOptions( wxCommandEvent& event )
dlg.SetRepeatVertical( g_RepeatStep.y ); dlg.SetRepeatVertical( g_RepeatStep.y );
dlg.SetRepeatLabel( g_RepeatDeltaLabel ); dlg.SetRepeatLabel( g_RepeatDeltaLabel );
dlg.SetAutoSaveInterval( GetAutoSaveInterval() / 60 ); dlg.SetAutoSaveInterval( GetAutoSaveInterval() / 60 );
dlg.SetRefIdSeparator( LIB_COMPONENT::GetSubpartIdSeparator( ),
LIB_COMPONENT::GetSubpartFirstId() );
dlg.SetShowGrid( IsGridVisible() ); dlg.SetShowGrid( IsGridVisible() );
dlg.SetShowHiddenPins( m_showAllPins ); dlg.SetShowHiddenPins( m_showAllPins );
dlg.SetEnableMiddleButtonPan( m_canvas->GetEnableMiddleButtonPan() ); dlg.SetEnableMiddleButtonPan( m_canvas->GetEnableMiddleButtonPan() );
......
...@@ -862,8 +862,8 @@ void SCH_EDIT_FRAME::PrintPage( wxDC* aDC, LAYER_MSK aPrintMask, bool aPrintMirr ...@@ -862,8 +862,8 @@ void SCH_EDIT_FRAME::PrintPage( wxDC* aDC, LAYER_MSK aPrintMask, bool aPrintMirr
void* aData ) void* aData )
{ {
GetScreen()->Draw( m_canvas, aDC, GR_DEFAULT_DRAWMODE ); GetScreen()->Draw( m_canvas, aDC, GR_DEFAULT_DRAWMODE );
TraceWorkSheet( aDC, GetScreen(), GetDefaultLineThickness(), IU_PER_MILS, DrawWorkSheet( aDC, GetScreen(), GetDefaultLineThickness(), IU_PER_MILS,
GetScreen()->GetFileName() ); GetScreen()->GetFileName() );
} }
......
...@@ -106,7 +106,7 @@ void GERBVIEW_FRAME::RedrawActiveWindow( wxDC* DC, bool EraseBg ) ...@@ -106,7 +106,7 @@ void GERBVIEW_FRAME::RedrawActiveWindow( wxDC* DC, bool EraseBg )
if( IsElementVisible( DCODES_VISIBLE ) ) if( IsElementVisible( DCODES_VISIBLE ) )
DrawItemsDCodeID( DC, GR_COPY ); DrawItemsDCodeID( DC, GR_COPY );
TraceWorkSheet( DC, screen, 0, IU_PER_MILS, wxEmptyString ); DrawWorkSheet( DC, screen, 0, IU_PER_MILS, wxEmptyString );
if( m_canvas->IsMouseCaptured() ) if( m_canvas->IsMouseCaptured() )
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false ); m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
...@@ -160,7 +160,7 @@ void GBR_LAYOUT::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, GR_DRAWMODE aDrawMode, ...@@ -160,7 +160,7 @@ void GBR_LAYOUT::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, GR_DRAWMODE aDrawMode,
if( (aDrawMode == GR_COPY) || ( aDrawMode == GR_OR ) ) if( (aDrawMode == GR_COPY) || ( aDrawMode == GR_OR ) )
useBufferBitmap = true; useBufferBitmap = true;
#endif #endif
// these parameters are saved here, because they are modified // these parameters are saved here, because they are modified
// and restored later // and restored later
EDA_RECT drawBox = *aPanel->GetClipBox(); EDA_RECT drawBox = *aPanel->GetClipBox();
......
...@@ -2,11 +2,17 @@ ...@@ -2,11 +2,17 @@
/* worksheet.h */ /* worksheet.h */
/***************/ /***************/
// Values are in 1/1000 inch // For page and paper size, values are in 1/1000 inch
#ifndef WORKSHEET_H_ #ifndef WORKSHEET_H_
#define WORKSHEET_H_ #define WORKSHEET_H_
// Forwadr declarations:
class EDA_DRAW_PANEL;
class TITLE_BLOCK;
class PAGE_INFO;
struct Ki_WorkSheetData struct Ki_WorkSheetData
{ {
public: public:
...@@ -18,4 +24,37 @@ public: ...@@ -18,4 +24,37 @@ public:
const wxChar* m_Text; const wxChar* m_Text;
}; };
/**
* Function DrawPageLayout is a core function to draw the page layout with
* the frame and the basic inscriptions.
* @param aDC The device context.
* @param aCanvas The EDA_DRAW_PANEL to draw into, or NULL if the page
* layout is not drawn into the main panel.
* @param aPageInfo for margins and page siez (in mils).
* @param aPaperFormat The paper size type, for basic inscriptions.
* @param aFullSheetName The sheetpath (full sheet name), for basic inscriptions.
* @param aFileName The file name, for basic inscriptions.
* @param aTitleBlock The sheet title block, for basic inscriptions.
* @param aSheetCount The number of sheets (for basic inscriptions).
* @param aSheetNumber The sheet number (for basic inscriptions).
* @param aPenWidth the pen size The line width for drawing.
* @param aScalar the scale factor to convert from mils to internal units.
* @param aLineColor The color for drawing.
* @param aTextColor The color for inscriptions.
*
* Parameters used in aPageInfo
* - the size of the page layout.
* - the LTmargin The left top margin of the page layout.
* - the RBmargin The right bottom margin of the page layout.
*/
void DrawPageLayout( wxDC* aDC, EDA_DRAW_PANEL * aCanvas,
const PAGE_INFO& aPageInfo,
const wxString& aPaperFormat,
const wxString &aFullSheetName,
const wxString& aFileName,
TITLE_BLOCK& aTitleBlock,
int aSheetCount, int aSheetNumber,
int aPenWidth, double aScalar,
EDA_COLOR_T aLineColor, EDA_COLOR_T aTextColor );
#endif // WORKSHEET_H_ #endif // WORKSHEET_H_
...@@ -696,33 +696,17 @@ public: ...@@ -696,33 +696,17 @@ public:
*/ */
double GetZoom(); double GetZoom();
void TraceWorkSheet( wxDC* aDC, BASE_SCREEN* aScreen, int aLineWidth,
double aScale, const wxString &aFilename );
/** /**
* Function TraceWorkSheet is a core function for drawing of the page layout with * Function DrawWorkSheet
* the frame and the basic inscriptions. * Draws on screen the page layout with the frame and the basic inscriptions.
* @param aDC The device context. * @param aDC The device context.
* @param aPageSize The size of the page layout. * @param aScreen screen to draw
* @param aLTmargin The left top margin of the page layout. * @param aLineWidth The pen width to use to draw the layout.
* @param aRBmargin The right bottom margin of the page layout. * @param aScale The mils to Iu conversion factor.
* @param aPaperFormat The paper size type, for basic inscriptions. * @param aFilename The filename to display in basic inscriptions.
* @param aFileName The file name, for basic inscriptions. */
* @param aTitleBlock The sheet title block, for basic inscriptions. void DrawWorkSheet( wxDC* aDC, BASE_SCREEN* aScreen, int aLineWidth,
* @param aSheetCount The number of sheets (for basic inscriptions). double aScale, const wxString &aFilename );
* @param aSheetNumber The sheet number (for basic inscriptions).
* @param aPenWidth The line width for drawing.
* @param aScalar Scalar to convert from mils to internal units.
* @param aLineColor The color for drawing.
* @param aTextColor The color for inscriptions.
*/
void TraceWorkSheet( wxDC* aDC, wxSize& aPageSize,
wxPoint& aLTmargin, wxPoint& aRBmargin,
wxString& aPaperFormat, wxString& aFileName,
TITLE_BLOCK& aTitleBlock,
int aSheetCount, int aSheetNumber,
int aPenWidth, double aScalar,
EDA_COLOR_T aLineColor = RED, EDA_COLOR_T aTextColor = RED );
/** /**
* Function GetXYSheetReferences * Function GetXYSheetReferences
......
...@@ -358,7 +358,7 @@ void BOARD_PRINTOUT_CONTROLLER::DrawPage() ...@@ -358,7 +358,7 @@ void BOARD_PRINTOUT_CONTROLLER::DrawPage()
} }
if( m_PrintParams.PrintBorderAndTitleBlock() ) if( m_PrintParams.PrintBorderAndTitleBlock() )
m_Parent->TraceWorkSheet( dc, screen, m_PrintParams.m_PenDefaultSize, m_Parent->DrawWorkSheet( dc, screen, m_PrintParams.m_PenDefaultSize,
IU_PER_MILS, m_Parent->GetScreenDesc() ); IU_PER_MILS, m_Parent->GetScreenDesc() );
m_Parent->PrintPage( dc, m_PrintParams.m_PrintMaskLayer, printMirror, &m_PrintParams ); m_Parent->PrintPage( dc, m_PrintParams.m_PrintMaskLayer, printMirror, &m_PrintParams );
......
...@@ -68,7 +68,7 @@ void FOOTPRINT_EDIT_FRAME::RedrawActiveWindow( wxDC* DC, bool EraseBg ) ...@@ -68,7 +68,7 @@ void FOOTPRINT_EDIT_FRAME::RedrawActiveWindow( wxDC* DC, bool EraseBg )
GRSetDrawMode( DC, GR_COPY ); GRSetDrawMode( DC, GR_COPY );
m_canvas->DrawBackGround( DC ); m_canvas->DrawBackGround( DC );
TraceWorkSheet( DC, screen, 0, IU_PER_MILS, wxEmptyString ); DrawWorkSheet( DC, screen, 0, IU_PER_MILS, wxEmptyString );
// Redraw the footprints // Redraw the footprints
for( MODULE* module = GetBoard()->m_Modules; module; module = module->Next() ) for( MODULE* module = GetBoard()->m_Modules; module; module = module->Next() )
...@@ -108,7 +108,7 @@ void PCB_EDIT_FRAME::RedrawActiveWindow( wxDC* DC, bool EraseBg ) ...@@ -108,7 +108,7 @@ void PCB_EDIT_FRAME::RedrawActiveWindow( wxDC* DC, bool EraseBg )
m_canvas->DrawBackGround( DC ); m_canvas->DrawBackGround( DC );
TraceWorkSheet( DC, GetScreen(), g_DrawDefaultLineThickness, DrawWorkSheet( DC, GetScreen(), g_DrawDefaultLineThickness,
IU_PER_MILS, GetBoard()->GetFileName() ); IU_PER_MILS, GetBoard()->GetFileName() );
GetBoard()->Draw( m_canvas, DC, GR_OR | GR_ALLOW_HIGHCONTRAST ); GetBoard()->Draw( m_canvas, DC, GR_OR | GR_ALLOW_HIGHCONTRAST );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment