Font support for drawing sheet editor.

Fixes https://gitlab.com/kicad/code/kicad/issues/10306
This commit is contained in:
Jeff Young 2022-02-28 18:02:00 +00:00
parent aa0787f2b4
commit b55bda8d6f
14 changed files with 1991 additions and 1267 deletions

View File

@ -35,6 +35,7 @@ xy
maxlen maxlen
maxheight maxheight
font font
face
bold bold
italic italic
size size

View File

@ -33,6 +33,7 @@
#include <drawing_sheet/ds_painter.h> #include <drawing_sheet/ds_painter.h>
#include <drawing_sheet/drawing_sheet_lexer.h> #include <drawing_sheet/drawing_sheet_lexer.h>
#include <drawing_sheet/ds_file_versions.h> #include <drawing_sheet/ds_file_versions.h>
#include <font/font.h>
using namespace DRAWINGSHEET_T; using namespace DRAWINGSHEET_T;
@ -696,6 +697,9 @@ void DRAWING_SHEET_PARSER::parseText( DS_DATA_ITEM_TEXT* aItem )
break; break;
case T_font: case T_font:
{
wxString faceName;
for( token = NextTok(); token != T_RIGHT && token != EOF; token = NextTok() ) for( token = NextTok(); token != T_RIGHT && token != EOF; token = NextTok() )
{ {
switch( token ) switch( token )
@ -703,6 +707,12 @@ void DRAWING_SHEET_PARSER::parseText( DS_DATA_ITEM_TEXT* aItem )
case T_LEFT: case T_LEFT:
break; break;
case T_face:
NeedSYMBOL();
faceName = FromUTF8();
NeedRIGHT();
break;
case T_bold: case T_bold:
aItem->m_Bold = true; aItem->m_Bold = true;
break; break;
@ -727,7 +737,12 @@ void DRAWING_SHEET_PARSER::parseText( DS_DATA_ITEM_TEXT* aItem )
break; break;
} }
} }
if( !faceName.IsEmpty() )
aItem->m_Font = KIFONT::FONT::GetFont( faceName, aItem->m_Bold, aItem->m_Italic );
break; break;
}
case T_justify: case T_justify:
for( token = NextTok(); token != T_RIGHT && token != EOF; token = NextTok() ) for( token = NextTok(); token != T_RIGHT && token != EOF; token = NextTok() )

View File

@ -526,6 +526,7 @@ DS_DATA_ITEM_TEXT::DS_DATA_ITEM_TEXT( const wxString& aTextBase ) :
m_Vjustify = GR_TEXT_V_ALIGN_CENTER; m_Vjustify = GR_TEXT_V_ALIGN_CENTER;
m_Italic = false; m_Italic = false;
m_Bold = false; m_Bold = false;
m_Font = nullptr;
m_Orient = 0.0; m_Orient = 0.0;
m_LineWidth = 0.0; // 0 means use default value m_LineWidth = 0.0; // 0 means use default value
} }
@ -559,7 +560,7 @@ void DS_DATA_ITEM_TEXT::SyncDrawItems( DS_DRAW_ITEM_LIST* aCollector, KIGFX::VIE
pensize = GetPenSizeForBold( std::min( textsize.x, textsize.y ) ); pensize = GetPenSizeForBold( std::min( textsize.x, textsize.y ) );
std::map<size_t, EDA_ITEM_FLAGS> itemFlags; std::map<size_t, EDA_ITEM_FLAGS> itemFlags;
DS_DRAW_ITEM_TEXT* text = nullptr; DS_DRAW_ITEM_TEXT* text = nullptr;
for( size_t i = 0; i < m_drawItems.size(); ++i ) for( size_t i = 0; i < m_drawItems.size(); ++i )
{ {
@ -583,7 +584,7 @@ void DS_DATA_ITEM_TEXT::SyncDrawItems( DS_DRAW_ITEM_LIST* aCollector, KIGFX::VIE
continue; continue;
text = new DS_DRAW_ITEM_TEXT( this, j, m_FullText, GetStartPosUi( j ), textsize, pensize, text = new DS_DRAW_ITEM_TEXT( this, j, m_FullText, GetStartPosUi( j ), textsize, pensize,
m_Italic, m_Bold ); m_Font, m_Italic, m_Bold );
text->SetFlags( itemFlags[ j ] ); text->SetFlags( itemFlags[ j ] );
m_drawItems.push_back( text ); m_drawItems.push_back( text );
@ -691,8 +692,8 @@ void DS_DATA_ITEM_TEXT::SetConstrainedTextSize()
int linewidth = 0; int linewidth = 0;
size_micron.x = KiROUND( m_ConstrainedTextSize.x * FSCALE ); size_micron.x = KiROUND( m_ConstrainedTextSize.x * FSCALE );
size_micron.y = KiROUND( m_ConstrainedTextSize.y * FSCALE ); size_micron.y = KiROUND( m_ConstrainedTextSize.y * FSCALE );
DS_DRAW_ITEM_TEXT dummy( DS_DRAW_ITEM_TEXT( this, 0, m_FullText, VECTOR2I( 0, 0 ), DS_DRAW_ITEM_TEXT dummy( this, 0, m_FullText, VECTOR2I( 0, 0 ), size_micron, linewidth,
size_micron, linewidth, m_Italic, m_Bold ) ); m_Font, m_Italic, m_Bold );
dummy.SetMultilineAllowed( true ); dummy.SetMultilineAllowed( true );
dummy.SetHorizJustify( m_Hjustify ) ; dummy.SetHorizJustify( m_Hjustify ) ;
dummy.SetVertJustify( m_Vjustify ); dummy.SetVertJustify( m_Vjustify );

View File

@ -2,7 +2,7 @@
* 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) 2013-2016 CERN * Copyright (C) 2013-2016 CERN
* Copyright (C) 2019-2021 KiCad Developers, see AUTHORS.txt for contributors. * Copyright (C) 2019-2022 KiCad Developers, see AUTHORS.txt for contributors.
* *
* @author Jean-Pierre Charras, jp.charras at wanadoo.fr * @author Jean-Pierre Charras, jp.charras at wanadoo.fr
* *
@ -33,6 +33,7 @@
#include <drawing_sheet/ds_data_model.h> #include <drawing_sheet/ds_data_model.h>
#include <drawing_sheet/drawing_sheet_lexer.h> #include <drawing_sheet/drawing_sheet_lexer.h>
#include <drawing_sheet/ds_file_versions.h> #include <drawing_sheet/ds_file_versions.h>
#include <font/font.h>
#include <wx/msgdlg.h> #include <wx/msgdlg.h>
@ -252,6 +253,9 @@ void DS_DATA_MODEL_IO::format( DS_DATA_ITEM_TEXT* aItem, int aNestLevel ) const
{ {
m_out->Print( 0, " (font" ); m_out->Print( 0, " (font" );
if( aItem->m_Font && !aItem->m_Font->Name().IsEmpty() )
m_out->Print( 0, " (face \"%s\")", aItem->m_Font->NameAsToken() );
if( write_thickness ) if( write_thickness )
m_out->Print( 0, " (linewidth %s)", double2Str( aItem->m_LineWidth ).c_str() ); m_out->Print( 0, " (linewidth %s)", double2Str( aItem->m_LineWidth ).c_str() );

View File

@ -184,8 +184,7 @@ bool DS_DRAW_ITEM_TEXT::HitTest( const EDA_RECT& aRect, bool aContains, int aAcc
wxString DS_DRAW_ITEM_TEXT::GetSelectMenuText( EDA_UNITS aUnits ) const wxString DS_DRAW_ITEM_TEXT::GetSelectMenuText( EDA_UNITS aUnits ) const
{ {
return wxString::Format( _( "Text '%s'" ), return wxString::Format( _( "Text '%s'" ), GetShownText() );
GetShownText() );
} }

View File

@ -277,11 +277,10 @@ void ERC_TESTER::TestTextVars( DS_PROXY_VIEW_ITEM* aDrawingSheet )
{ {
if( text->GetShownText().Matches( wxT( "*${*}*" ) ) ) if( text->GetShownText().Matches( wxT( "*${*}*" ) ) )
{ {
std::shared_ptr<ERC_ITEM> ercItem = std::shared_ptr<ERC_ITEM> erc = ERC_ITEM::Create( ERCE_UNRESOLVED_VARIABLE );
ERC_ITEM::Create( ERCE_UNRESOLVED_VARIABLE ); erc->SetErrorMessage( _( "Unresolved text variable in drawing sheet." ) );
ercItem->SetErrorMessage( _( "Unresolved text variable in drawing sheet." ) );
SCH_MARKER* marker = new SCH_MARKER( ercItem, text->GetPosition() ); SCH_MARKER* marker = new SCH_MARKER( erc, text->GetPosition() );
screen->Append( marker ); screen->Append( marker );
} }
} }

View File

@ -2,7 +2,7 @@
* 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) 2013-2019 Jean-Pierre Charras, jp.charras at wanadoo.fr * Copyright (C) 2013-2019 Jean-Pierre Charras, jp.charras at wanadoo.fr
* Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.txt for contributors. * Copyright (C) 1992-2022 KiCad Developers, see AUTHORS.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
@ -339,6 +339,7 @@ public:
GR_TEXT_V_ALIGN_T m_Vjustify; GR_TEXT_V_ALIGN_T m_Vjustify;
bool m_Italic; bool m_Italic;
bool m_Bold; bool m_Bold;
KIFONT::FONT* m_Font;
VECTOR2D m_TextSize; VECTOR2D m_TextSize;
VECTOR2D m_BoundingBoxSize; // When not null, this is the max size of the VECTOR2D m_BoundingBoxSize; // When not null, this is the max size of the
// full text. The text size will be modified // full text. The text size will be modified

View File

@ -302,14 +302,15 @@ class DS_DRAW_ITEM_TEXT : public DS_DRAW_ITEM_BASE, public EDA_TEXT
{ {
public: public:
DS_DRAW_ITEM_TEXT( DS_DATA_ITEM* aPeer, int aIndex, const wxString& aText, const VECTOR2I& aPos, DS_DRAW_ITEM_TEXT( DS_DATA_ITEM* aPeer, int aIndex, const wxString& aText, const VECTOR2I& aPos,
const VECTOR2I& aSize, int aPenWidth, bool aItalic = false, const VECTOR2I& aSize, int aPenWidth, KIFONT::FONT* aFont,
bool aBold = false ) : bool aItalic = false, bool aBold = false ) :
DS_DRAW_ITEM_BASE( aPeer, aIndex, WSG_TEXT_T), DS_DRAW_ITEM_BASE( aPeer, aIndex, WSG_TEXT_T),
EDA_TEXT( aText ) EDA_TEXT( aText )
{ {
SetTextPos( aPos ); SetTextPos( aPos );
SetTextSize( (wxSize) aSize ); SetTextSize( (wxSize) aSize );
SetTextThickness( aPenWidth ); SetTextThickness( aPenWidth );
SetFont( aFont );
SetItalic( aItalic ); SetItalic( aItalic );
SetBold( aBold ); SetBold( aBold );
} }

View File

@ -2,7 +2,7 @@
* 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) 2021 Mikołaj Wielgus <wielgusmikolaj@gmail.com> * Copyright (C) 2021 Mikołaj Wielgus <wielgusmikolaj@gmail.com>
* Copyright (C) 2021 KiCad Developers, see AUTHORS.txt for contributors. * Copyright (C) 2021-2022 KiCad Developers, see AUTHORS.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
@ -30,4 +30,5 @@
* format. Comment the changes to the file format for historical purposes. * format. Comment the changes to the file format for historical purposes.
*/ */
#define SEXPR_WORKSHEET_FILE_VERSION 20210606 // Initial version. //#define SEXPR_WORKSHEET_FILE_VERSION 20210606 // Initial version.
#define SEXPR_WORKSHEET_FILE_VERSION 20220228 // Font support.

View File

@ -2,7 +2,7 @@
* 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) 2013 CERN * Copyright (C) 2013 CERN
* Copyright (C) 2021 KiCad Developers, see AUTHORS.txt for contributors. * Copyright (C) 2021-2022 KiCad Developers, see AUTHORS.txt for contributors.
* @author Jean-Pierre Charras, jp.charras at wanadoo.fr * @author Jean-Pierre Charras, jp.charras at wanadoo.fr
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
@ -25,11 +25,14 @@
#include <project.h> #include <project.h>
#include <scintilla_tricks.h> #include <scintilla_tricks.h>
#include <widgets/bitmap_button.h>
#include <widgets/font_choice.h>
#include <tool/tool_manager.h> #include <tool/tool_manager.h>
#include <drawing_sheet/ds_draw_item.h> #include <drawing_sheet/ds_draw_item.h>
#include <drawing_sheet/ds_data_item.h> #include <drawing_sheet/ds_data_item.h>
#include <drawing_sheet/ds_data_model.h> #include <drawing_sheet/ds_data_model.h>
#include <view/view.h> #include <view/view.h>
#include <bitmaps.h>
#include "properties_frame.h" #include "properties_frame.h"
#include "pl_editor_frame.h" #include "pl_editor_frame.h"
@ -41,39 +44,25 @@
PROPERTIES_FRAME::PROPERTIES_FRAME( PL_EDITOR_FRAME* aParent ) : PROPERTIES_FRAME::PROPERTIES_FRAME( PL_EDITOR_FRAME* aParent ) :
PANEL_PROPERTIES_BASE( aParent ), PANEL_PROPERTIES_BASE( aParent ),
m_scintillaTricks( nullptr ), m_scintillaTricks( nullptr ),
m_textCtrlTextSizeXBinder( aParent, m_staticTextTsizeX, m_textCtrlTextSizeX, m_textSizeX( aParent, m_staticTextTsizeX, m_textCtrlTextSizeX, m_textSizeXUnits ),
m_TextTextSizeXUnits ), m_textSizeY( aParent, m_staticTextTsizeY, m_textCtrlTextSizeY, m_textSizeYUnits ),
m_textCtrlTextSizeYBinder( aParent, m_staticTextTsizeY, m_textCtrlTextSizeY, m_constraintX( aParent, m_constraintXLabel, m_constraintXCtrl, m_constraintXUnits ),
m_TextTextSizeYUnits ), m_constraintY( aParent, m_constraintYLabel, m_constraintYCtrl, m_constraintYUnits ),
m_textCtrlConstraintXBinder( aParent, m_staticTextConstraintX, m_textCtrlConstraintX, m_textPosX( aParent, m_staticTextPosX, m_textCtrlPosX, m_TextPosXUnits ),
m_TextConstraintXUnits ), m_textPosY( aParent, m_staticTextPosY, m_textCtrlPosY, m_TextPosYUnits ),
m_textCtrlConstraintYBinder( aParent, m_staticTextConstraintY, m_textCtrlConstraintY, m_textEndX( aParent, m_staticTextEndX, m_textCtrlEndX, m_TextEndXUnits ),
m_TextConstraintYUnits ), m_textEndY( aParent, m_staticTextEndY, m_textCtrlEndY, m_TextEndYUnits ),
m_textCtrlPosXBinder( aParent, m_staticTextPosX, m_textCtrlPosX, m_TextPosXUnits ), m_textStepX( aParent, m_staticTextStepX, m_textCtrlStepX, m_TextStepXUnits ),
m_textCtrlPosYBinder( aParent, m_staticTextPosY, m_textCtrlPosY, m_TextPosYUnits ), m_textStepY( aParent, m_staticTextStepY, m_textCtrlStepY, m_TextStepYUnits ),
m_textCtrlEndXBinder( aParent, m_staticTextEndX, m_textCtrlEndX, m_TextEndXUnits ), m_defaultTextSizeX( aParent, m_staticTextDefTsX, m_textCtrlDefaultTextSizeX, m_defaultTextSizeXUnits ),
m_textCtrlEndYBinder( aParent, m_staticTextEndY, m_textCtrlEndY, m_TextEndYUnits ), m_defaultTextSizeY( aParent, m_staticTextDefTsY, m_textCtrlDefaultTextSizeY, m_defaultTextSizeYUnits ),
m_textCtrlStepXBinder( aParent, m_staticTextStepX, m_textCtrlStepX, m_TextStepXUnits ), m_defaultLineWidth( aParent, m_defaultLineWidthLabel, m_defaultLineWidthCtrl, m_defaultLineWidthUnits ),
m_textCtrlStepYBinder( aParent, m_staticTextStepY, m_textCtrlStepY, m_TextStepYUnits ), m_defaultTextThickness( aParent, m_defaultTextThicknessLabel, m_defaultTextThicknessCtrl, m_defaultTextThicknessUnits ),
m_textCtrlDefaultTextSizeXBinder( aParent, m_staticTextDefTsX, m_textCtrlDefaultTextSizeX, m_textLeftMargin( aParent, m_leftMarginLabel, m_leftMarginCtrl, m_leftMarginUnits ),
m_TextDefaultTextSizeXUnits ), m_textRightMargin( aParent, m_rightMarginLabel, m_rightMarginCtrl, m_rightMarginUnits ),
m_textCtrlDefaultTextSizeYBinder( aParent, m_staticTextDefTsY, m_textCtrlDefaultTextSizeY, m_textTopMargin( aParent, m_topMarginLabel, m_topMarginCtrl, m_topMarginUnits ),
m_TextDefaultTextSizeYUnits ), m_textBottomMargin( aParent, m_bottomMarginLabel, m_bottomMarginCtrl, m_bottomMarginUnits ),
m_textCtrlDefaultLineWidthBinder( aParent, m_staticTextDefLineW, m_lineWidth( aParent, m_lineWidthLabel, m_lineWidthCtrl, m_lineWidthUnits )
m_textCtrlDefaultLineWidth, m_TextDefaultLineWidthUnits ),
m_textCtrlDefaultTextThicknessBinder( aParent, m_staticTextDefTextThickness,
m_textCtrlDefaultTextThickness,
m_TextDefaultTextThicknessUnits ),
m_textCtrlLeftMarginBinder( aParent, m_staticTextLeftMargin, m_textCtrlLeftMargin,
m_TextLeftMarginUnits ),
m_textCtrlRightMarginBinder( aParent, m_staticTextDefRightMargin, m_textCtrlRightMargin,
m_TextRightMarginUnits ),
m_textCtrlTopMarginBinder( aParent, m_staticTextTopMargin, m_textCtrlTopMargin,
m_TextTopMarginUnits ),
m_textCtrlBottomMarginBinder( aParent, m_staticTextBottomMargin, m_textCtrlBottomMargin,
m_TextBottomMarginUnits ),
m_textCtrlThicknessBinder( aParent, m_staticTextThickness, m_textCtrlThickness,
m_TextLineThicknessUnits )
{ {
m_parent = aParent; m_parent = aParent;
@ -84,6 +73,32 @@ PROPERTIES_FRAME::PROPERTIES_FRAME( PL_EDITOR_FRAME* aParent ) :
m_staticTextSizeInfo->SetFont( KIUI::GetInfoFont( this ).Italic() ); m_staticTextSizeInfo->SetFont( KIUI::GetInfoFont( this ).Italic() );
m_separator1->SetIsSeparator();
m_bold->SetIsCheckButton();
m_bold->SetBitmap( KiBitmap( BITMAPS::text_bold ) );
m_italic->SetIsCheckButton();
m_italic->SetBitmap( KiBitmap( BITMAPS::text_italic ) );
m_separator2->SetIsSeparator();
m_alignLeft->SetIsCheckButton();
m_alignLeft->SetBitmap( KiBitmap( BITMAPS::text_align_left ) );
m_alignCenter->SetIsCheckButton();
m_alignCenter->SetBitmap( KiBitmap( BITMAPS::text_align_center ) );
m_alignRight->SetIsCheckButton();
m_alignRight->SetBitmap( KiBitmap( BITMAPS::text_align_right ) );
m_separator3->SetIsSeparator();
m_vAlignTop->SetIsCheckButton();
m_vAlignTop->SetBitmap( KiBitmap( BITMAPS::text_valign_top ) );
m_vAlignMiddle->SetIsCheckButton();
m_vAlignMiddle->SetBitmap( KiBitmap( BITMAPS::text_valign_center ) );
m_vAlignBottom->SetIsCheckButton();
m_vAlignBottom->SetBitmap( KiBitmap( BITMAPS::text_valign_bottom ) );
m_separator4->SetIsSeparator();
m_buttonOK->SetDefault(); m_buttonOK->SetDefault();
// ensure sizers are up to date // ensure sizers are up to date
@ -92,6 +107,12 @@ PROPERTIES_FRAME::PROPERTIES_FRAME( PL_EDITOR_FRAME* aParent ) :
m_swGeneralOpts->Fit(); m_swGeneralOpts->Fit();
m_stcText->Bind( wxEVT_STC_CHARADDED, &PROPERTIES_FRAME::onScintillaCharAdded, this ); m_stcText->Bind( wxEVT_STC_CHARADDED, &PROPERTIES_FRAME::onScintillaCharAdded, this );
m_alignLeft->Bind( wxEVT_BUTTON, &PROPERTIES_FRAME::onHAlignButton, this );
m_alignCenter->Bind( wxEVT_BUTTON, &PROPERTIES_FRAME::onHAlignButton, this );
m_alignRight->Bind( wxEVT_BUTTON, &PROPERTIES_FRAME::onHAlignButton, this );
m_vAlignTop->Bind( wxEVT_BUTTON, &PROPERTIES_FRAME::onVAlignButton, this );
m_vAlignMiddle->Bind( wxEVT_BUTTON, &PROPERTIES_FRAME::onVAlignButton, this );
m_vAlignBottom->Bind( wxEVT_BUTTON, &PROPERTIES_FRAME::onVAlignButton, this );
} }
@ -120,59 +141,40 @@ wxSize PROPERTIES_FRAME::GetMinSize() const
void PROPERTIES_FRAME::CopyPrmsFromGeneralToPanel() void PROPERTIES_FRAME::CopyPrmsFromGeneralToPanel()
{ {
DS_DATA_MODEL& model = DS_DATA_MODEL::GetTheInstance(); static EDA_UNITS units = EDA_UNITS::MILLIMETRES;
DS_DATA_MODEL& model = DS_DATA_MODEL::GetTheInstance();
// Set default parameters // Set default parameters
m_textCtrlDefaultLineWidthBinder.SetDoubleValue( m_defaultLineWidth.SetDoubleValue( From_User_Unit( units, model.m_DefaultLineWidth ) );
From_User_Unit( EDA_UNITS::MILLIMETRES, model.m_DefaultLineWidth ) );
m_textCtrlDefaultTextSizeXBinder.SetDoubleValue( m_defaultTextSizeX.SetDoubleValue( From_User_Unit( units, model.m_DefaultTextSize.x ) );
From_User_Unit( EDA_UNITS::MILLIMETRES, model.m_DefaultTextSize.x ) ); m_defaultTextSizeY.SetDoubleValue( From_User_Unit( units, model.m_DefaultTextSize.y ) );
m_defaultTextThickness.SetDoubleValue( From_User_Unit( units, model.m_DefaultTextThickness ) );
m_textCtrlDefaultTextSizeYBinder.SetDoubleValue( m_textLeftMargin.SetDoubleValue( From_User_Unit( units, model.GetLeftMargin() ) );
From_User_Unit( EDA_UNITS::MILLIMETRES, model.m_DefaultTextSize.y ) ); m_textRightMargin.SetDoubleValue( From_User_Unit( units, model.GetRightMargin() ) );
m_textTopMargin.SetDoubleValue( From_User_Unit( units, model.GetTopMargin() ) );
m_textCtrlDefaultTextThicknessBinder.SetDoubleValue( m_textBottomMargin.SetDoubleValue( From_User_Unit( units, model.GetBottomMargin() ) );
From_User_Unit( EDA_UNITS::MILLIMETRES, model.m_DefaultTextThickness ) );
m_textCtrlLeftMarginBinder.SetDoubleValue( From_User_Unit( EDA_UNITS::MILLIMETRES,
model.GetLeftMargin() ) );
m_textCtrlRightMarginBinder.SetDoubleValue( From_User_Unit( EDA_UNITS::MILLIMETRES,
model.GetRightMargin() ) );
m_textCtrlTopMarginBinder.SetDoubleValue( From_User_Unit( EDA_UNITS::MILLIMETRES,
model.GetTopMargin() ) );
m_textCtrlBottomMarginBinder.SetDoubleValue( From_User_Unit( EDA_UNITS::MILLIMETRES,
model.GetBottomMargin() ) );
} }
bool PROPERTIES_FRAME::CopyPrmsFromPanelToGeneral() bool PROPERTIES_FRAME::CopyPrmsFromPanelToGeneral()
{ {
DS_DATA_MODEL& model = DS_DATA_MODEL::GetTheInstance(); static EDA_UNITS units = EDA_UNITS::MILLIMETRES;
DS_DATA_MODEL& model = DS_DATA_MODEL::GetTheInstance();
// Import default parameters from widgets // Import default parameters from widgets
model.m_DefaultLineWidth = model.m_DefaultLineWidth = To_User_Unit( units, m_defaultLineWidth.GetValue() );
To_User_Unit( EDA_UNITS::MILLIMETRES, m_textCtrlDefaultLineWidthBinder.GetValue() );
model.m_DefaultTextSize.x = model.m_DefaultTextSize.x = To_User_Unit( units, m_defaultTextSizeX.GetValue() );
To_User_Unit( EDA_UNITS::MILLIMETRES, m_textCtrlDefaultTextSizeXBinder.GetValue() ); model.m_DefaultTextSize.y = To_User_Unit( units, m_defaultTextSizeY.GetValue() );
model.m_DefaultTextSize.y = model.m_DefaultTextThickness = To_User_Unit( units, m_defaultTextThickness.GetValue() );
To_User_Unit( EDA_UNITS::MILLIMETRES, m_textCtrlDefaultTextSizeYBinder.GetValue() );
model.m_DefaultTextThickness =
To_User_Unit( EDA_UNITS::MILLIMETRES, m_textCtrlDefaultTextThicknessBinder.GetValue() );
// Get page margins values // Get page margins values
model.SetRightMargin( model.SetRightMargin( To_User_Unit( units, m_textRightMargin.GetValue() ) );
To_User_Unit( EDA_UNITS::MILLIMETRES, m_textCtrlRightMarginBinder.GetValue() ) ); model.SetBottomMargin( To_User_Unit( units, m_textBottomMargin.GetValue() ) );
model.SetBottomMargin( model.SetLeftMargin( To_User_Unit( units, m_textLeftMargin.GetValue() ) );
To_User_Unit( EDA_UNITS::MILLIMETRES, m_textCtrlBottomMarginBinder.GetValue() ) ); model.SetTopMargin( To_User_Unit( units, m_textTopMargin.GetValue() ) );
// coordinates of the left top corner are the left and top margins
model.SetLeftMargin(
To_User_Unit( EDA_UNITS::MILLIMETRES, m_textCtrlLeftMarginBinder.GetValue() ) );
model.SetTopMargin(
To_User_Unit( EDA_UNITS::MILLIMETRES, m_textCtrlTopMarginBinder.GetValue() ) );
return true; return true;
} }
@ -186,7 +188,8 @@ void PROPERTIES_FRAME::CopyPrmsFromItemToPanel( DS_DATA_ITEM* aItem )
return; return;
} }
wxString msg; static EDA_UNITS units = EDA_UNITS::MILLIMETRES;
wxString msg;
// Set parameters common to all DS_DATA_ITEM types // Set parameters common to all DS_DATA_ITEM types
m_staticTextType->SetLabel( aItem->GetClassName() ); m_staticTextType->SetLabel( aItem->GetClassName() );
@ -201,11 +204,8 @@ void PROPERTIES_FRAME::CopyPrmsFromItemToPanel( DS_DATA_ITEM* aItem )
} }
// Position/ start point // Position/ start point
m_textCtrlPosXBinder.SetDoubleValue( m_textPosX.SetDoubleValue( From_User_Unit( units, aItem->m_Pos.m_Pos.x ) );
From_User_Unit( EDA_UNITS::MILLIMETRES, aItem->m_Pos.m_Pos.x ) ); m_textPosY.SetDoubleValue( From_User_Unit( units, aItem->m_Pos.m_Pos.y ) );
m_textCtrlPosYBinder.SetDoubleValue(
From_User_Unit( EDA_UNITS::MILLIMETRES, aItem->m_Pos.m_Pos.y ) );
switch( aItem->m_Pos.m_Anchor ) switch( aItem->m_Pos.m_Anchor )
{ {
@ -216,10 +216,8 @@ void PROPERTIES_FRAME::CopyPrmsFromItemToPanel( DS_DATA_ITEM* aItem )
} }
// End point // End point
m_textCtrlEndXBinder.SetDoubleValue( m_textEndX.SetDoubleValue( From_User_Unit( units, aItem->m_End.m_Pos.x ) );
From_User_Unit( EDA_UNITS::MILLIMETRES, aItem->m_End.m_Pos.x ) ); m_textEndY.SetDoubleValue( From_User_Unit( units, aItem->m_End.m_Pos.y ) );
m_textCtrlEndYBinder.SetDoubleValue(
From_User_Unit( EDA_UNITS::MILLIMETRES, aItem->m_End.m_Pos.y ) );
switch( aItem->m_End.m_Anchor ) switch( aItem->m_End.m_Anchor )
{ {
@ -229,8 +227,7 @@ void PROPERTIES_FRAME::CopyPrmsFromItemToPanel( DS_DATA_ITEM* aItem )
case LT_CORNER: m_comboBoxCornerEnd->SetSelection( 1 ); break; case LT_CORNER: m_comboBoxCornerEnd->SetSelection( 1 ); break;
} }
m_textCtrlThicknessBinder.SetDoubleValue( m_lineWidth.SetDoubleValue( From_User_Unit( units, aItem->m_LineWidth ) );
From_User_Unit( EDA_UNITS::MILLIMETRES, aItem->m_LineWidth ) );
// Now, set prms more specific to DS_DATA_ITEM types // Now, set prms more specific to DS_DATA_ITEM types
// For a given type, disable widgets which are not relevant, // For a given type, disable widgets which are not relevant,
@ -244,42 +241,46 @@ void PROPERTIES_FRAME::CopyPrmsFromItemToPanel( DS_DATA_ITEM* aItem )
item->ReplaceAntiSlashSequence(); item->ReplaceAntiSlashSequence();
m_stcText->SetValue( item->m_FullText ); m_stcText->SetValue( item->m_FullText );
msg.Printf( wxT("%d"), item->m_IncrementLabel ); msg.Printf( wxT( "%d" ), item->m_IncrementLabel );
m_textCtrlTextIncrement->SetValue( msg ); m_textCtrlTextIncrement->SetValue( msg );
// Rotation (poly and text) // Rotation (poly and text)
msg.Printf( wxT("%.3f"), item->m_Orient ); msg.Printf( wxT( "%.3f" ), item->m_Orient );
m_textCtrlRotation->SetValue( msg ); m_textCtrlRotation->SetValue( msg );
// Constraints: // Constraints:
m_textCtrlConstraintXBinder.SetDoubleValue( m_constraintX.SetDoubleValue( From_User_Unit( units, item->m_BoundingBoxSize.x ) );
From_User_Unit( EDA_UNITS::MILLIMETRES, item->m_BoundingBoxSize.x ) ); m_constraintY.SetDoubleValue( From_User_Unit( units, item->m_BoundingBoxSize.y ) );
m_textCtrlConstraintYBinder.SetDoubleValue(
From_User_Unit( EDA_UNITS::MILLIMETRES, item->m_BoundingBoxSize.y ) );
// Font Options // Font Options
m_checkBoxBold->SetValue( item->m_Bold ); m_fontCtrl->SetFontSelection( item->m_Font );
m_checkBoxItalic->SetValue( item->m_Italic );
m_bold->Check( item->m_Bold );
m_italic->Check( item->m_Italic );
for( BITMAP_BUTTON* btn : { m_alignLeft, m_alignCenter, m_alignRight } )
btn->Check( false );
switch( item->m_Hjustify ) switch( item->m_Hjustify )
{ {
case GR_TEXT_H_ALIGN_LEFT: m_choiceHjustify->SetSelection( 0 ); break; case GR_TEXT_H_ALIGN_LEFT: m_alignLeft->Check(); break;
case GR_TEXT_H_ALIGN_CENTER: m_choiceHjustify->SetSelection( 1 ); break; case GR_TEXT_H_ALIGN_CENTER: m_alignCenter->Check(); break;
case GR_TEXT_H_ALIGN_RIGHT: m_choiceHjustify->SetSelection( 2 ); break; case GR_TEXT_H_ALIGN_RIGHT: m_alignRight->Check(); break;
} }
for( BITMAP_BUTTON* btn : { m_vAlignTop, m_vAlignMiddle, m_vAlignBottom } )
btn->Check( false );
switch( item->m_Vjustify ) switch( item->m_Vjustify )
{ {
case GR_TEXT_V_ALIGN_TOP: m_choiceVjustify->SetSelection( 0 ); break; case GR_TEXT_V_ALIGN_TOP: m_vAlignTop->Check(); break;
case GR_TEXT_V_ALIGN_CENTER: m_choiceVjustify->SetSelection( 1 ); break; case GR_TEXT_V_ALIGN_CENTER: m_vAlignMiddle->Check(); break;
case GR_TEXT_V_ALIGN_BOTTOM: m_choiceVjustify->SetSelection( 2 ); break; case GR_TEXT_V_ALIGN_BOTTOM: m_vAlignBottom->Check(); break;
} }
// Text size // Text size
m_textCtrlTextSizeXBinder.SetDoubleValue( m_textSizeX.SetDoubleValue( From_User_Unit( units, item->m_TextSize.x ) );
From_User_Unit( EDA_UNITS::MILLIMETRES, item->m_TextSize.x ) ); m_textSizeY.SetDoubleValue( From_User_Unit( units, item->m_TextSize.y ) );
m_textCtrlTextSizeYBinder.SetDoubleValue(
From_User_Unit( EDA_UNITS::MILLIMETRES, item->m_TextSize.y ) );
} }
if( aItem->GetType() == DS_DATA_ITEM::DS_POLYPOLYGON ) if( aItem->GetType() == DS_DATA_ITEM::DS_POLYPOLYGON )
@ -287,7 +288,7 @@ void PROPERTIES_FRAME::CopyPrmsFromItemToPanel( DS_DATA_ITEM* aItem )
DS_DATA_ITEM_POLYGONS* item = static_cast<DS_DATA_ITEM_POLYGONS*>( aItem ); DS_DATA_ITEM_POLYGONS* item = static_cast<DS_DATA_ITEM_POLYGONS*>( aItem );
// Rotation (poly and text) // Rotation (poly and text)
msg.Printf( wxT("%.3f"), item->m_Orient.AsDegrees() ); msg.Printf( wxT( "%.3f" ), item->m_Orient.AsDegrees() );
m_textCtrlRotation->SetValue( msg ); m_textCtrlRotation->SetValue( msg );
} }
@ -296,7 +297,7 @@ void PROPERTIES_FRAME::CopyPrmsFromItemToPanel( DS_DATA_ITEM* aItem )
DS_DATA_ITEM_BITMAP* item = static_cast<DS_DATA_ITEM_BITMAP*>( aItem ); DS_DATA_ITEM_BITMAP* item = static_cast<DS_DATA_ITEM_BITMAP*>( aItem );
// select definition in PPI // select definition in PPI
msg.Printf( wxT("%d"), item->GetPPI() ); msg.Printf( wxT( "%d" ), item->GetPPI() );
m_textCtrlBitmapDPI->SetValue( msg ); m_textCtrlBitmapDPI->SetValue( msg );
} }
@ -308,7 +309,7 @@ void PROPERTIES_FRAME::CopyPrmsFromItemToPanel( DS_DATA_ITEM* aItem )
m_sbSizerEndPosition->Show( aItem->GetType() == DS_DATA_ITEM::DS_SEGMENT m_sbSizerEndPosition->Show( aItem->GetType() == DS_DATA_ITEM::DS_SEGMENT
|| aItem->GetType() == DS_DATA_ITEM::DS_RECT ); || aItem->GetType() == DS_DATA_ITEM::DS_RECT );
m_textCtrlThicknessBinder.Show( aItem->GetType() != DS_DATA_ITEM::DS_BITMAP ); m_lineWidth.Show( aItem->GetType() != DS_DATA_ITEM::DS_BITMAP );
if( aItem->GetType() == DS_DATA_ITEM::DS_TEXT if( aItem->GetType() == DS_DATA_ITEM::DS_TEXT
|| aItem->GetType() == DS_DATA_ITEM::DS_POLYPOLYGON ) || aItem->GetType() == DS_DATA_ITEM::DS_POLYPOLYGON )
@ -329,14 +330,11 @@ void PROPERTIES_FRAME::CopyPrmsFromItemToPanel( DS_DATA_ITEM* aItem )
m_textCtrlTextIncrement->Show( aItem->GetType() == DS_DATA_ITEM::DS_TEXT ); m_textCtrlTextIncrement->Show( aItem->GetType() == DS_DATA_ITEM::DS_TEXT );
// Repeat parameters // Repeat parameters
msg.Printf( wxT("%d"), aItem->m_RepeatCount ); msg.Printf( wxT( "%d" ), aItem->m_RepeatCount );
m_textCtrlRepeatCount->SetValue( msg ); m_textCtrlRepeatCount->SetValue( msg );
m_textCtrlStepXBinder.SetDoubleValue( m_textStepX.SetDoubleValue( From_User_Unit( units, aItem->m_IncrementVector.x ) );
From_User_Unit( EDA_UNITS::MILLIMETRES, aItem->m_IncrementVector.x ) ); m_textStepY.SetDoubleValue( From_User_Unit( units, aItem->m_IncrementVector.y ) );
m_textCtrlStepYBinder.SetDoubleValue(
From_User_Unit( EDA_UNITS::MILLIMETRES, aItem->m_IncrementVector.y ) );
// The number of widgets was modified, so recalculate sizers // The number of widgets was modified, so recalculate sizers
m_swItemProperties->Layout(); m_swItemProperties->Layout();
@ -353,6 +351,26 @@ void PROPERTIES_FRAME::CopyPrmsFromItemToPanel( DS_DATA_ITEM* aItem )
} }
void PROPERTIES_FRAME::onHAlignButton( wxCommandEvent& aEvent )
{
for( BITMAP_BUTTON* btn : { m_alignLeft, m_alignCenter, m_alignRight } )
{
if( btn->IsChecked() && btn != aEvent.GetEventObject() )
btn->Check( false );
}
}
void PROPERTIES_FRAME::onVAlignButton( wxCommandEvent& aEvent )
{
for( BITMAP_BUTTON* btn : { m_vAlignTop, m_vAlignMiddle, m_vAlignBottom } )
{
if( btn->IsChecked() && btn != aEvent.GetEventObject() )
btn->Check( false );
}
}
void PROPERTIES_FRAME::OnAcceptPrms( wxCommandEvent& event ) void PROPERTIES_FRAME::OnAcceptPrms( wxCommandEvent& event )
{ {
PL_SELECTION_TOOL* selTool = m_parent->GetToolManager()->GetTool<PL_SELECTION_TOOL>(); PL_SELECTION_TOOL* selTool = m_parent->GetToolManager()->GetTool<PL_SELECTION_TOOL>();
@ -407,7 +425,8 @@ bool PROPERTIES_FRAME::CopyPrmsFromPanelToItem( DS_DATA_ITEM* aItem )
if( aItem == nullptr ) if( aItem == nullptr )
return false; return false;
wxString msg; const EDA_UNITS units = EDA_UNITS::MILLIMETRES;
wxString msg;
// Import common parameters: // Import common parameters:
aItem->m_Info = m_textCtrlComment->GetValue(); aItem->m_Info = m_textCtrlComment->GetValue();
@ -421,12 +440,11 @@ bool PROPERTIES_FRAME::CopyPrmsFromPanelToItem( DS_DATA_ITEM* aItem )
} }
// Import thickness // Import thickness
aItem->m_LineWidth = To_User_Unit( EDA_UNITS::MILLIMETRES, aItem->m_LineWidth = To_User_Unit( units, m_lineWidth.GetValue() );
m_textCtrlThicknessBinder.GetValue() );
// Import Start point // Import Start point
aItem->m_Pos.m_Pos.x = To_User_Unit( EDA_UNITS::MILLIMETRES, m_textCtrlPosXBinder.GetValue() ); aItem->m_Pos.m_Pos.x = To_User_Unit( units, m_textPosX.GetValue() );
aItem->m_Pos.m_Pos.y = To_User_Unit( EDA_UNITS::MILLIMETRES, m_textCtrlPosYBinder.GetValue() ); aItem->m_Pos.m_Pos.y = To_User_Unit( units, m_textPosY.GetValue() );
switch( m_comboBoxCornerPos->GetSelection() ) switch( m_comboBoxCornerPos->GetSelection() )
{ {
@ -437,8 +455,8 @@ bool PROPERTIES_FRAME::CopyPrmsFromPanelToItem( DS_DATA_ITEM* aItem )
} }
// Import End point // Import End point
aItem->m_End.m_Pos.x = To_User_Unit( EDA_UNITS::MILLIMETRES, m_textCtrlEndXBinder.GetValue() ); aItem->m_End.m_Pos.x = To_User_Unit( units, m_textEndX.GetValue() );
aItem->m_End.m_Pos.y = To_User_Unit( EDA_UNITS::MILLIMETRES, m_textCtrlEndYBinder.GetValue() ); aItem->m_End.m_Pos.y = To_User_Unit( units, m_textEndY.GetValue() );
switch( m_comboBoxCornerEnd->GetSelection() ) switch( m_comboBoxCornerEnd->GetSelection() )
{ {
@ -454,10 +472,8 @@ bool PROPERTIES_FRAME::CopyPrmsFromPanelToItem( DS_DATA_ITEM* aItem )
msg.ToLong( &itmp ); msg.ToLong( &itmp );
aItem->m_RepeatCount = itmp; aItem->m_RepeatCount = itmp;
aItem->m_IncrementVector.x = To_User_Unit( EDA_UNITS::MILLIMETRES, aItem->m_IncrementVector.x = To_User_Unit( units, m_textStepX.GetValue() );
m_textCtrlStepXBinder.GetValue() ); aItem->m_IncrementVector.y = To_User_Unit( units, m_textStepY.GetValue() );
aItem->m_IncrementVector.y = To_User_Unit( EDA_UNITS::MILLIMETRES,
m_textCtrlStepYBinder.GetValue() );
if( aItem->GetType() == DS_DATA_ITEM::DS_TEXT ) if( aItem->GetType() == DS_DATA_ITEM::DS_TEXT )
{ {
@ -469,37 +485,36 @@ bool PROPERTIES_FRAME::CopyPrmsFromPanelToItem( DS_DATA_ITEM* aItem )
msg.ToLong( &itmp ); msg.ToLong( &itmp );
item->m_IncrementLabel = itmp; item->m_IncrementLabel = itmp;
item->m_Bold = m_checkBoxBold->IsChecked(); item->m_Bold = m_bold->IsChecked();
item->m_Italic = m_checkBoxItalic->IsChecked(); item->m_Italic = m_italic->IsChecked();
switch( m_choiceHjustify->GetSelection() ) if( m_alignLeft->IsChecked() )
{ item->m_Hjustify = GR_TEXT_H_ALIGN_LEFT;
case 0: item->m_Hjustify = GR_TEXT_H_ALIGN_LEFT; break; else if( m_alignCenter->IsChecked() )
case 1: item->m_Hjustify = GR_TEXT_H_ALIGN_CENTER; break; item->m_Hjustify = GR_TEXT_H_ALIGN_CENTER;
case 2: item->m_Hjustify = GR_TEXT_H_ALIGN_RIGHT; break; else if( m_alignRight->IsChecked() )
} item->m_Hjustify = GR_TEXT_H_ALIGN_RIGHT;
switch( m_choiceVjustify->GetSelection() ) if( m_vAlignTop->IsChecked() )
{ item->m_Vjustify = GR_TEXT_V_ALIGN_TOP;
case 0: item->m_Vjustify = GR_TEXT_V_ALIGN_TOP; break; else if( m_vAlignMiddle->IsChecked() )
case 1: item->m_Vjustify = GR_TEXT_V_ALIGN_CENTER; break; item->m_Vjustify = GR_TEXT_V_ALIGN_CENTER;
case 2: item->m_Vjustify = GR_TEXT_V_ALIGN_BOTTOM; break; else if( m_vAlignBottom->IsChecked() )
} item->m_Vjustify = GR_TEXT_V_ALIGN_BOTTOM;
if( m_fontCtrl->HaveFontSelection() )
item->m_Font = m_fontCtrl->GetFontSelection( item->m_Bold, item->m_Italic );
msg = m_textCtrlRotation->GetValue(); msg = m_textCtrlRotation->GetValue();
item->m_Orient = DoubleValueFromString( EDA_UNITS::UNSCALED, msg ); item->m_Orient = DoubleValueFromString( EDA_UNITS::UNSCALED, msg );
// Import text size // Import text size
item->m_TextSize.x = item->m_TextSize.x = To_User_Unit( units, m_textSizeX.GetValue() );
To_User_Unit( EDA_UNITS::MILLIMETRES, m_textCtrlTextSizeXBinder.GetValue() ); item->m_TextSize.y = To_User_Unit( units, m_textSizeY.GetValue() );
item->m_TextSize.y =
To_User_Unit( EDA_UNITS::MILLIMETRES, m_textCtrlTextSizeYBinder.GetValue() );
// Import constraints: // Import constraints:
item->m_BoundingBoxSize.x = item->m_BoundingBoxSize.x = To_User_Unit( units, m_constraintX.GetValue() );
To_User_Unit( EDA_UNITS::MILLIMETRES, m_textCtrlConstraintXBinder.GetValue() ); item->m_BoundingBoxSize.y = To_User_Unit( units, m_constraintY.GetValue() );
item->m_BoundingBoxSize.y =
To_User_Unit( EDA_UNITS::MILLIMETRES, m_textCtrlConstraintYBinder.GetValue() );
} }
if( aItem->GetType() == DS_DATA_ITEM::DS_POLYPOLYGON ) if( aItem->GetType() == DS_DATA_ITEM::DS_POLYPOLYGON )

View File

@ -6,6 +6,7 @@
* 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) 2013 CERN * Copyright (C) 2013 CERN
* Copyright (C) 2013-2022 KiCad Developers, see AUTHORS.txt for contributors.
* @author Jean-Pierre Charras, jp.charras at wanadoo.fr * @author Jean-Pierre Charras, jp.charras at wanadoo.fr
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
@ -45,34 +46,34 @@ class PROPERTIES_FRAME : public PANEL_PROPERTIES_BASE
PL_EDITOR_FRAME* m_parent; PL_EDITOR_FRAME* m_parent;
SCINTILLA_TRICKS* m_scintillaTricks; SCINTILLA_TRICKS* m_scintillaTricks;
UNIT_BINDER m_textCtrlTextSizeXBinder; UNIT_BINDER m_textSizeX;
UNIT_BINDER m_textCtrlTextSizeYBinder; UNIT_BINDER m_textSizeY;
UNIT_BINDER m_textCtrlConstraintXBinder; UNIT_BINDER m_constraintX;
UNIT_BINDER m_textCtrlConstraintYBinder; UNIT_BINDER m_constraintY;
UNIT_BINDER m_textCtrlPosXBinder; UNIT_BINDER m_textPosX;
UNIT_BINDER m_textCtrlPosYBinder; UNIT_BINDER m_textPosY;
UNIT_BINDER m_textCtrlEndXBinder; UNIT_BINDER m_textEndX;
UNIT_BINDER m_textCtrlEndYBinder; UNIT_BINDER m_textEndY;
UNIT_BINDER m_textCtrlStepXBinder; UNIT_BINDER m_textStepX;
UNIT_BINDER m_textCtrlStepYBinder; UNIT_BINDER m_textStepY;
UNIT_BINDER m_textCtrlDefaultTextSizeXBinder; UNIT_BINDER m_defaultTextSizeX;
UNIT_BINDER m_textCtrlDefaultTextSizeYBinder; UNIT_BINDER m_defaultTextSizeY;
UNIT_BINDER m_textCtrlDefaultLineWidthBinder; UNIT_BINDER m_defaultLineWidth;
UNIT_BINDER m_textCtrlDefaultTextThicknessBinder; UNIT_BINDER m_defaultTextThickness;
UNIT_BINDER m_textCtrlLeftMarginBinder; UNIT_BINDER m_textLeftMargin;
UNIT_BINDER m_textCtrlRightMarginBinder; UNIT_BINDER m_textRightMargin;
UNIT_BINDER m_textCtrlTopMarginBinder; UNIT_BINDER m_textTopMargin;
UNIT_BINDER m_textCtrlBottomMarginBinder; UNIT_BINDER m_textBottomMargin;
UNIT_BINDER m_textCtrlThicknessBinder; UNIT_BINDER m_lineWidth;
public: public:
PROPERTIES_FRAME( PL_EDITOR_FRAME* aParent ); PROPERTIES_FRAME( PL_EDITOR_FRAME* aParent );
@ -84,6 +85,8 @@ public:
void OnSetDefaultValues( wxCommandEvent& event ) override; void OnSetDefaultValues( wxCommandEvent& event ) override;
void onScintillaCharAdded( wxStyledTextEvent &aEvent ); void onScintillaCharAdded( wxStyledTextEvent &aEvent );
void onHelp( wxCommandEvent& aEvent ) override; void onHelp( wxCommandEvent& aEvent ) override;
void onHAlignButton( wxCommandEvent &aEvent );
void onVAlignButton( wxCommandEvent &aEvent );
// Data transfer from general properties to widgets // Data transfer from general properties to widgets
void CopyPrmsFromGeneralToPanel(); void CopyPrmsFromGeneralToPanel();

View File

@ -1,10 +1,13 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version 3.10.0-4761b0c5) // C++ code generated with wxFormBuilder (version Oct 26 2018)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO *NOT* EDIT THIS FILE! // PLEASE DO *NOT* EDIT THIS FILE!
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
#include "widgets/bitmap_button.h"
#include "widgets/font_choice.h"
#include "properties_frame_base.h" #include "properties_frame_base.h"
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
@ -24,7 +27,7 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c
m_staticTextType = new wxStaticText( m_swItemProperties, wxID_ANY, _("Type"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextType = new wxStaticText( m_swItemProperties, wxID_ANY, _("Type"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextType->Wrap( -1 ); m_staticTextType->Wrap( -1 );
m_staticTextType->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_SLANT, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); m_staticTextType->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_SLANT, wxFONTWEIGHT_BOLD, false, wxEmptyString ) );
bSizerButt->Add( m_staticTextType, 1, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 4 ); bSizerButt->Add( m_staticTextType, 1, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 4 );
@ -52,7 +55,6 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c
m_stcText->SetViewWhiteSpace( false ); m_stcText->SetViewWhiteSpace( false );
m_stcText->SetMarginWidth( 2, 0 ); m_stcText->SetMarginWidth( 2, 0 );
m_stcText->SetIndentationGuides( false ); m_stcText->SetIndentationGuides( false );
m_stcText->SetReadOnly( false );
m_stcText->SetMarginWidth( 1, 0 ); m_stcText->SetMarginWidth( 1, 0 );
m_stcText->SetMarginWidth( 0, 0 ); m_stcText->SetMarginWidth( 0, 0 );
m_stcText->MarkerDefine( wxSTC_MARKNUM_FOLDER, wxSTC_MARK_BOXPLUS ); m_stcText->MarkerDefine( wxSTC_MARKNUM_FOLDER, wxSTC_MARK_BOXPLUS );
@ -77,45 +79,127 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c
wxBoxSizer* bSizerFontOpt; wxBoxSizer* bSizerFontOpt;
bSizerFontOpt = new wxBoxSizer( wxVERTICAL ); bSizerFontOpt = new wxBoxSizer( wxVERTICAL );
wxFlexGridSizer* fgSizer1; wxGridBagSizer* gbSizer11;
fgSizer1 = new wxFlexGridSizer( 0, 4, 0, 0 ); gbSizer11 = new wxGridBagSizer( 3, 5 );
fgSizer1->SetFlexibleDirection( wxBOTH ); gbSizer11->SetFlexibleDirection( wxBOTH );
fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); gbSizer11->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
m_staticTextHjust = new wxStaticText( m_swItemProperties, wxID_ANY, _("H align:"), wxDefaultPosition, wxDefaultSize, 0 ); wxBoxSizer* formattingSizer;
m_staticTextHjust->Wrap( -1 ); formattingSizer = new wxBoxSizer( wxHORIZONTAL );
fgSizer1->Add( m_staticTextHjust, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
wxString m_choiceHjustifyChoices[] = { _("Left"), _("Center"), _("Right") }; m_separator1 = new BITMAP_BUTTON( m_swItemProperties, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
int m_choiceHjustifyNChoices = sizeof( m_choiceHjustifyChoices ) / sizeof( wxString ); m_separator1->Enable( false );
m_choiceHjustify = new wxChoice( m_swItemProperties, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceHjustifyNChoices, m_choiceHjustifyChoices, 0 );
m_choiceHjustify->SetSelection( 0 ); formattingSizer->Add( m_separator1, 0, wxALIGN_CENTER_VERTICAL, 5 );
fgSizer1->Add( m_choiceHjustify, 0, wxEXPAND|wxALL|wxALIGN_CENTER_VERTICAL, 5 );
m_bold = new BITMAP_BUTTON( m_swItemProperties, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
m_bold->SetToolTip( _("Bold") );
formattingSizer->Add( m_bold, 0, wxALIGN_CENTER_VERTICAL, 5 );
m_italic = new BITMAP_BUTTON( m_swItemProperties, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
m_italic->SetToolTip( _("Italic") );
formattingSizer->Add( m_italic, 0, wxALIGN_CENTER_VERTICAL, 5 );
m_separator2 = new BITMAP_BUTTON( m_swItemProperties, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
m_separator2->Enable( false );
formattingSizer->Add( m_separator2, 0, wxALIGN_CENTER_VERTICAL, 5 );
m_alignLeft = new BITMAP_BUTTON( m_swItemProperties, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
formattingSizer->Add( m_alignLeft, 0, wxALIGN_CENTER_VERTICAL, 5 );
m_alignCenter = new BITMAP_BUTTON( m_swItemProperties, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
formattingSizer->Add( m_alignCenter, 0, wxALIGN_CENTER_VERTICAL, 5 );
m_alignRight = new BITMAP_BUTTON( m_swItemProperties, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
formattingSizer->Add( m_alignRight, 0, wxALIGN_CENTER_VERTICAL, 5 );
m_separator3 = new BITMAP_BUTTON( m_swItemProperties, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
m_separator3->Enable( false );
formattingSizer->Add( m_separator3, 0, wxALIGN_CENTER_VERTICAL, 5 );
m_vAlignTop = new BITMAP_BUTTON( m_swItemProperties, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
formattingSizer->Add( m_vAlignTop, 0, wxALIGN_CENTER_VERTICAL, 5 );
m_vAlignMiddle = new BITMAP_BUTTON( m_swItemProperties, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
formattingSizer->Add( m_vAlignMiddle, 0, wxALIGN_CENTER_VERTICAL, 5 );
m_vAlignBottom = new BITMAP_BUTTON( m_swItemProperties, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
formattingSizer->Add( m_vAlignBottom, 0, wxALIGN_CENTER_VERTICAL, 5 );
m_separator4 = new BITMAP_BUTTON( m_swItemProperties, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE );
m_separator4->Enable( false );
formattingSizer->Add( m_separator4, 0, wxALIGN_CENTER_VERTICAL, 5 );
fgSizer1->Add( 0, 0, 1, wxEXPAND|wxRIGHT|wxLEFT, 10 ); gbSizer11->Add( formattingSizer, wxGBPosition( 0, 0 ), wxGBSpan( 1, 3 ), wxEXPAND|wxTOP|wxBOTTOM, 5 );
m_checkBoxBold = new wxCheckBox( m_swItemProperties, wxID_ANY, _("Bold"), wxDefaultPosition, wxDefaultSize, 0 ); m_fontLabel = new wxStaticText( m_swItemProperties, wxID_ANY, _("Font:"), wxDefaultPosition, wxDefaultSize, 0 );
fgSizer1->Add( m_checkBoxBold, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); m_fontLabel->Wrap( -1 );
gbSizer11->Add( m_fontLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
m_staticTextVjust = new wxStaticText( m_swItemProperties, wxID_ANY, _("V align:"), wxDefaultPosition, wxDefaultSize, 0 ); wxString m_fontCtrlChoices[] = { _("Default Font"), _("KiCad Font") };
m_staticTextVjust->Wrap( -1 ); int m_fontCtrlNChoices = sizeof( m_fontCtrlChoices ) / sizeof( wxString );
fgSizer1->Add( m_staticTextVjust, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 ); m_fontCtrl = new FONT_CHOICE( m_swItemProperties, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_fontCtrlNChoices, m_fontCtrlChoices, 0 );
m_fontCtrl->SetSelection( 0 );
gbSizer11->Add( m_fontCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 3 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
wxString m_choiceVjustifyChoices[] = { _("Top"), _("Center"), _("Bottom") }; m_staticTextTsizeX = new wxStaticText( m_swItemProperties, wxID_ANY, _("Text width:"), wxDefaultPosition, wxDefaultSize, 0 );
int m_choiceVjustifyNChoices = sizeof( m_choiceVjustifyChoices ) / sizeof( wxString ); m_staticTextTsizeX->Wrap( -1 );
m_choiceVjustify = new wxChoice( m_swItemProperties, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceVjustifyNChoices, m_choiceVjustifyChoices, 0 ); gbSizer11->Add( m_staticTextTsizeX, wxGBPosition( 2, 0 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL, 5 );
m_choiceVjustify->SetSelection( 1 );
fgSizer1->Add( m_choiceVjustify, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_textCtrlTextSizeX = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
gbSizer11->Add( m_textCtrlTextSizeX, wxGBPosition( 2, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
m_textSizeXUnits = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
m_textSizeXUnits->Wrap( -1 );
gbSizer11->Add( m_textSizeXUnits, wxGBPosition( 2, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
m_staticTextTsizeY = new wxStaticText( m_swItemProperties, wxID_ANY, _("Text height:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextTsizeY->Wrap( -1 );
gbSizer11->Add( m_staticTextTsizeY, wxGBPosition( 3, 0 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL, 5 );
m_textCtrlTextSizeY = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
gbSizer11->Add( m_textCtrlTextSizeY, wxGBPosition( 3, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
m_textSizeYUnits = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
m_textSizeYUnits->Wrap( -1 );
gbSizer11->Add( m_textSizeYUnits, wxGBPosition( 3, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
m_constraintXLabel = new wxStaticText( m_swItemProperties, wxID_ANY, _("Max width:"), wxDefaultPosition, wxDefaultSize, 0 );
m_constraintXLabel->Wrap( -1 );
m_constraintXLabel->SetToolTip( _("Set to 0 to disable this constraint") );
gbSizer11->Add( m_constraintXLabel, wxGBPosition( 4, 0 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL, 5 );
m_constraintXCtrl = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
gbSizer11->Add( m_constraintXCtrl, wxGBPosition( 4, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
m_constraintXUnits = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
m_constraintXUnits->Wrap( -1 );
gbSizer11->Add( m_constraintXUnits, wxGBPosition( 4, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
m_constraintYLabel = new wxStaticText( m_swItemProperties, wxID_ANY, _("Max height:"), wxDefaultPosition, wxDefaultSize, 0 );
m_constraintYLabel->Wrap( -1 );
m_constraintYLabel->SetToolTip( _("Set to 0 to disable this constraint") );
gbSizer11->Add( m_constraintYLabel, wxGBPosition( 5, 0 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL, 5 );
m_constraintYCtrl = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
gbSizer11->Add( m_constraintYCtrl, wxGBPosition( 5, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
m_constraintYUnits = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
m_constraintYUnits->Wrap( -1 );
gbSizer11->Add( m_constraintYUnits, wxGBPosition( 5, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
fgSizer1->Add( 0, 0, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); gbSizer11->AddGrowableCol( 2 );
m_checkBoxItalic = new wxCheckBox( m_swItemProperties, wxID_ANY, _("Italic"), wxDefaultPosition, wxDefaultSize, 0 ); bSizerFontOpt->Add( gbSizer11, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
fgSizer1->Add( m_checkBoxItalic, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
bSizerFontOpt->Add( fgSizer1, 0, wxEXPAND, 5 );
m_SizerTextOptions->Add( bSizerFontOpt, 0, wxEXPAND|wxBOTTOM, 2 ); m_SizerTextOptions->Add( bSizerFontOpt, 0, wxEXPAND|wxBOTTOM, 2 );
@ -126,54 +210,6 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c
fgSizer2->SetFlexibleDirection( wxBOTH ); fgSizer2->SetFlexibleDirection( wxBOTH );
fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
m_staticTextTsizeX = new wxStaticText( m_swItemProperties, wxID_ANY, _("Text width:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextTsizeX->Wrap( -1 );
fgSizer2->Add( m_staticTextTsizeX, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
m_textCtrlTextSizeX = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fgSizer2->Add( m_textCtrlTextSizeX, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
m_TextTextSizeXUnits = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
m_TextTextSizeXUnits->Wrap( -1 );
fgSizer2->Add( m_TextTextSizeXUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT|wxRIGHT, 5 );
m_staticTextTsizeY = new wxStaticText( m_swItemProperties, wxID_ANY, _("Text height:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextTsizeY->Wrap( -1 );
fgSizer2->Add( m_staticTextTsizeY, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
m_textCtrlTextSizeY = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fgSizer2->Add( m_textCtrlTextSizeY, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
m_TextTextSizeYUnits = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
m_TextTextSizeYUnits->Wrap( -1 );
fgSizer2->Add( m_TextTextSizeYUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT|wxLEFT, 5 );
m_staticTextConstraintX = new wxStaticText( m_swItemProperties, wxID_ANY, _("Max width:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextConstraintX->Wrap( -1 );
m_staticTextConstraintX->SetToolTip( _("Set to 0 to disable this constraint") );
fgSizer2->Add( m_staticTextConstraintX, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
m_textCtrlConstraintX = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fgSizer2->Add( m_textCtrlConstraintX, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
m_TextConstraintXUnits = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
m_TextConstraintXUnits->Wrap( -1 );
fgSizer2->Add( m_TextConstraintXUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT|wxRIGHT, 5 );
m_staticTextConstraintY = new wxStaticText( m_swItemProperties, wxID_ANY, _("Max height:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextConstraintY->Wrap( -1 );
m_staticTextConstraintY->SetToolTip( _("Set to 0 to disable this constraint") );
fgSizer2->Add( m_staticTextConstraintY, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
m_textCtrlConstraintY = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fgSizer2->Add( m_textCtrlConstraintY, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
m_TextConstraintYUnits = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
m_TextConstraintYUnits->Wrap( -1 );
fgSizer2->Add( m_TextConstraintYUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT|wxLEFT, 5 );
m_SizerTextOptions->Add( fgSizer2, 0, wxEXPAND|wxBOTTOM, 3 ); m_SizerTextOptions->Add( fgSizer2, 0, wxEXPAND|wxBOTTOM, 3 );
@ -305,16 +341,16 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c
gbSizer1->SetFlexibleDirection( wxBOTH ); gbSizer1->SetFlexibleDirection( wxBOTH );
gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
m_staticTextThickness = new wxStaticText( m_swItemProperties, wxID_ANY, _("Line width:"), wxDefaultPosition, wxSize( -1,-1 ), 0 ); m_lineWidthLabel = new wxStaticText( m_swItemProperties, wxID_ANY, _("Line width:"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
m_staticTextThickness->Wrap( -1 ); m_lineWidthLabel->Wrap( -1 );
gbSizer1->Add( m_staticTextThickness, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 3 ); gbSizer1->Add( m_lineWidthLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 3 );
m_textCtrlThickness = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_lineWidthCtrl = new wxTextCtrl( m_swItemProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
gbSizer1->Add( m_textCtrlThickness, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 ); gbSizer1->Add( m_lineWidthCtrl, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
m_TextLineThicknessUnits = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_lineWidthUnits = new wxStaticText( m_swItemProperties, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
m_TextLineThicknessUnits->Wrap( -1 ); m_lineWidthUnits->Wrap( -1 );
gbSizer1->Add( m_TextLineThicknessUnits, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 3 ); gbSizer1->Add( m_lineWidthUnits, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 3 );
m_staticTextRot = new wxStaticText( m_swItemProperties, wxID_ANY, _("Rotation:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextRot = new wxStaticText( m_swItemProperties, wxID_ANY, _("Rotation:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextRot->Wrap( -1 ); m_staticTextRot->Wrap( -1 );
@ -435,9 +471,9 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c
m_textCtrlDefaultTextSizeX = new wxTextCtrl( sbSizer1->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_textCtrlDefaultTextSizeX = new wxTextCtrl( sbSizer1->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fgSizer5->Add( m_textCtrlDefaultTextSizeX, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 ); fgSizer5->Add( m_textCtrlDefaultTextSizeX, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );
m_TextDefaultTextSizeXUnits = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_defaultTextSizeXUnits = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
m_TextDefaultTextSizeXUnits->Wrap( -1 ); m_defaultTextSizeXUnits->Wrap( -1 );
fgSizer5->Add( m_TextDefaultTextSizeXUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxLEFT|wxRIGHT, 5 ); fgSizer5->Add( m_defaultTextSizeXUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxLEFT|wxRIGHT, 5 );
m_staticTextDefTsY = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("Text height:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextDefTsY = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("Text height:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextDefTsY->Wrap( -1 ); m_staticTextDefTsY->Wrap( -1 );
@ -449,37 +485,37 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c
m_textCtrlDefaultTextSizeY = new wxTextCtrl( sbSizer1->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_textCtrlDefaultTextSizeY = new wxTextCtrl( sbSizer1->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fgSizer5->Add( m_textCtrlDefaultTextSizeY, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 ); fgSizer5->Add( m_textCtrlDefaultTextSizeY, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );
m_TextDefaultTextSizeYUnits = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_defaultTextSizeYUnits = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
m_TextDefaultTextSizeYUnits->Wrap( -1 ); m_defaultTextSizeYUnits->Wrap( -1 );
fgSizer5->Add( m_TextDefaultTextSizeYUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxLEFT|wxRIGHT, 5 ); fgSizer5->Add( m_defaultTextSizeYUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxLEFT|wxRIGHT, 5 );
m_staticTextDefLineW = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("Line thickness:"), wxDefaultPosition, wxDefaultSize, 0 ); m_defaultLineWidthLabel = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("Line thickness:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextDefLineW->Wrap( -1 ); m_defaultLineWidthLabel->Wrap( -1 );
fgSizer5->Add( m_staticTextDefLineW, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 ); fgSizer5->Add( m_defaultLineWidthLabel, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
fgSizer5->Add( 0, 0, 1, wxEXPAND, 5 ); fgSizer5->Add( 0, 0, 1, wxEXPAND, 5 );
m_textCtrlDefaultLineWidth = new wxTextCtrl( sbSizer1->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_defaultLineWidthCtrl = new wxTextCtrl( sbSizer1->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fgSizer5->Add( m_textCtrlDefaultLineWidth, 0, wxEXPAND|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); fgSizer5->Add( m_defaultLineWidthCtrl, 0, wxEXPAND|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
m_TextDefaultLineWidthUnits = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_defaultLineWidthUnits = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
m_TextDefaultLineWidthUnits->Wrap( -1 ); m_defaultLineWidthUnits->Wrap( -1 );
fgSizer5->Add( m_TextDefaultLineWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxLEFT|wxRIGHT, 5 ); fgSizer5->Add( m_defaultLineWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxLEFT|wxRIGHT, 5 );
m_staticTextDefTextThickness = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("Text thickness:"), wxDefaultPosition, wxDefaultSize, 0 ); m_defaultTextThicknessLabel = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("Text thickness:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextDefTextThickness->Wrap( -1 ); m_defaultTextThicknessLabel->Wrap( -1 );
fgSizer5->Add( m_staticTextDefTextThickness, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 ); fgSizer5->Add( m_defaultTextThicknessLabel, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
fgSizer5->Add( 0, 0, 1, wxEXPAND|wxRIGHT, 5 ); fgSizer5->Add( 0, 0, 1, wxEXPAND|wxRIGHT, 5 );
m_textCtrlDefaultTextThickness = new wxTextCtrl( sbSizer1->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_defaultTextThicknessCtrl = new wxTextCtrl( sbSizer1->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fgSizer5->Add( m_textCtrlDefaultTextThickness, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 ); fgSizer5->Add( m_defaultTextThicknessCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );
m_TextDefaultTextThicknessUnits = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_defaultTextThicknessUnits = new wxStaticText( sbSizer1->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
m_TextDefaultTextThicknessUnits->Wrap( -1 ); m_defaultTextThicknessUnits->Wrap( -1 );
fgSizer5->Add( m_TextDefaultTextThicknessUnits, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRIGHT, 5 ); fgSizer5->Add( m_defaultTextThicknessUnits, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRIGHT, 5 );
fgSizer5->Add( 0, 0, 1, wxEXPAND, 5 ); fgSizer5->Add( 0, 0, 1, wxEXPAND, 5 );
@ -502,61 +538,61 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c
fgSizer6->SetFlexibleDirection( wxBOTH ); fgSizer6->SetFlexibleDirection( wxBOTH );
fgSizer6->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); fgSizer6->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
m_staticTextLeftMargin = new wxStaticText( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, _("Left:"), wxDefaultPosition, wxDefaultSize, 0 ); m_leftMarginLabel = new wxStaticText( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, _("Left:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextLeftMargin->Wrap( -1 ); m_leftMarginLabel->Wrap( -1 );
fgSizer6->Add( m_staticTextLeftMargin, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); fgSizer6->Add( m_leftMarginLabel, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 ); fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 );
m_textCtrlLeftMargin = new wxTextCtrl( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_leftMarginCtrl = new wxTextCtrl( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fgSizer6->Add( m_textCtrlLeftMargin, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); fgSizer6->Add( m_leftMarginCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
m_TextLeftMarginUnits = new wxStaticText( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_leftMarginUnits = new wxStaticText( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
m_TextLeftMarginUnits->Wrap( -1 ); m_leftMarginUnits->Wrap( -1 );
fgSizer6->Add( m_TextLeftMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT|wxRIGHT, 5 ); fgSizer6->Add( m_leftMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT|wxRIGHT, 5 );
m_staticTextDefRightMargin = new wxStaticText( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, _("Right:"), wxDefaultPosition, wxDefaultSize, 0 ); m_rightMarginLabel = new wxStaticText( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, _("Right:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextDefRightMargin->Wrap( -1 ); m_rightMarginLabel->Wrap( -1 );
fgSizer6->Add( m_staticTextDefRightMargin, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); fgSizer6->Add( m_rightMarginLabel, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 ); fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 );
m_textCtrlRightMargin = new wxTextCtrl( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_rightMarginCtrl = new wxTextCtrl( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fgSizer6->Add( m_textCtrlRightMargin, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); fgSizer6->Add( m_rightMarginCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
m_TextRightMarginUnits = new wxStaticText( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_rightMarginUnits = new wxStaticText( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
m_TextRightMarginUnits->Wrap( -1 ); m_rightMarginUnits->Wrap( -1 );
fgSizer6->Add( m_TextRightMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT|wxRIGHT, 5 ); fgSizer6->Add( m_rightMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT|wxRIGHT, 5 );
m_staticTextTopMargin = new wxStaticText( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, _("Top:"), wxDefaultPosition, wxDefaultSize, 0 ); m_topMarginLabel = new wxStaticText( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, _("Top:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextTopMargin->Wrap( -1 ); m_topMarginLabel->Wrap( -1 );
fgSizer6->Add( m_staticTextTopMargin, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); fgSizer6->Add( m_topMarginLabel, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
fgSizer6->Add( 0, 0, 1, wxEXPAND|wxRIGHT, 5 ); fgSizer6->Add( 0, 0, 1, wxEXPAND|wxRIGHT, 5 );
m_textCtrlTopMargin = new wxTextCtrl( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_topMarginCtrl = new wxTextCtrl( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fgSizer6->Add( m_textCtrlTopMargin, 0, wxEXPAND|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); fgSizer6->Add( m_topMarginCtrl, 0, wxEXPAND|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
m_TextTopMarginUnits = new wxStaticText( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_topMarginUnits = new wxStaticText( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
m_TextTopMarginUnits->Wrap( -1 ); m_topMarginUnits->Wrap( -1 );
fgSizer6->Add( m_TextTopMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxLEFT|wxRIGHT, 5 ); fgSizer6->Add( m_topMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxLEFT|wxRIGHT, 5 );
m_staticTextBottomMargin = new wxStaticText( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, _("Bottom:"), wxDefaultPosition, wxDefaultSize, 0 ); m_bottomMarginLabel = new wxStaticText( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, _("Bottom:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextBottomMargin->Wrap( -1 ); m_bottomMarginLabel->Wrap( -1 );
fgSizer6->Add( m_staticTextBottomMargin, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); fgSizer6->Add( m_bottomMarginLabel, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 ); fgSizer6->Add( 0, 0, 1, wxEXPAND, 5 );
m_textCtrlBottomMargin = new wxTextCtrl( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_bottomMarginCtrl = new wxTextCtrl( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fgSizer6->Add( m_textCtrlBottomMargin, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 ); fgSizer6->Add( m_bottomMarginCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );
m_TextBottomMarginUnits = new wxStaticText( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_bottomMarginUnits = new wxStaticText( bSizerGeneraMargins->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
m_TextBottomMarginUnits->Wrap( -1 ); m_bottomMarginUnits->Wrap( -1 );
fgSizer6->Add( m_TextBottomMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxLEFT|wxRIGHT, 5 ); fgSizer6->Add( m_bottomMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxLEFT|wxRIGHT, 5 );
bSizerGeneraMargins->Add( fgSizer6, 1, wxEXPAND, 5 ); bSizerGeneraMargins->Add( fgSizer6, 1, wxEXPAND, 5 );

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version 3.10.0-4761b0c5) // C++ code generated with wxFormBuilder (version Oct 26 2018)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO *NOT* EDIT THIS FILE! // PLEASE DO *NOT* EDIT THIS FILE!
@ -10,24 +10,27 @@
#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 BITMAP_BUTTON;
class FONT_CHOICE;
#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/button.h>
#include <wx/bitmap.h> #include <wx/bitmap.h>
#include <wx/image.h> #include <wx/image.h>
#include <wx/icon.h> #include <wx/icon.h>
#include <wx/button.h>
#include <wx/choice.h> #include <wx/choice.h>
#include <wx/sizer.h> #include <wx/sizer.h>
#include <wx/stc/stc.h> #include <wx/stc/stc.h>
#include <wx/checkbox.h> #include <wx/bmpbuttn.h>
#include <wx/textctrl.h> #include <wx/textctrl.h>
#include <wx/gbsizer.h>
#include <wx/combobox.h> #include <wx/combobox.h>
#include <wx/statbox.h> #include <wx/statbox.h>
#include <wx/gbsizer.h>
#include <wx/scrolwin.h> #include <wx/scrolwin.h>
#include <wx/notebook.h> #include <wx/notebook.h>
#include <wx/panel.h> #include <wx/panel.h>
@ -50,24 +53,32 @@ class PANEL_PROPERTIES_BASE : public wxPanel
wxChoice* m_choicePageOpt; wxChoice* m_choicePageOpt;
wxBoxSizer* m_SizerTextOptions; wxBoxSizer* m_SizerTextOptions;
wxStyledTextCtrl* m_stcText; wxStyledTextCtrl* m_stcText;
wxStaticText* m_staticTextHjust; BITMAP_BUTTON* m_separator1;
wxChoice* m_choiceHjustify; BITMAP_BUTTON* m_bold;
wxCheckBox* m_checkBoxBold; BITMAP_BUTTON* m_italic;
wxStaticText* m_staticTextVjust; BITMAP_BUTTON* m_separator2;
wxChoice* m_choiceVjustify; BITMAP_BUTTON* m_alignLeft;
wxCheckBox* m_checkBoxItalic; BITMAP_BUTTON* m_alignCenter;
BITMAP_BUTTON* m_alignRight;
BITMAP_BUTTON* m_separator3;
BITMAP_BUTTON* m_vAlignTop;
BITMAP_BUTTON* m_vAlignMiddle;
BITMAP_BUTTON* m_vAlignBottom;
BITMAP_BUTTON* m_separator4;
wxStaticText* m_fontLabel;
FONT_CHOICE* m_fontCtrl;
wxStaticText* m_staticTextTsizeX; wxStaticText* m_staticTextTsizeX;
wxTextCtrl* m_textCtrlTextSizeX; wxTextCtrl* m_textCtrlTextSizeX;
wxStaticText* m_TextTextSizeXUnits; wxStaticText* m_textSizeXUnits;
wxStaticText* m_staticTextTsizeY; wxStaticText* m_staticTextTsizeY;
wxTextCtrl* m_textCtrlTextSizeY; wxTextCtrl* m_textCtrlTextSizeY;
wxStaticText* m_TextTextSizeYUnits; wxStaticText* m_textSizeYUnits;
wxStaticText* m_staticTextConstraintX; wxStaticText* m_constraintXLabel;
wxTextCtrl* m_textCtrlConstraintX; wxTextCtrl* m_constraintXCtrl;
wxStaticText* m_TextConstraintXUnits; wxStaticText* m_constraintXUnits;
wxStaticText* m_staticTextConstraintY; wxStaticText* m_constraintYLabel;
wxTextCtrl* m_textCtrlConstraintY; wxTextCtrl* m_constraintYCtrl;
wxStaticText* m_TextConstraintYUnits; wxStaticText* m_constraintYUnits;
wxStaticText* m_staticTextSizeInfo; wxStaticText* m_staticTextSizeInfo;
wxStaticText* m_staticTextComment; wxStaticText* m_staticTextComment;
wxTextCtrl* m_textCtrlComment; wxTextCtrl* m_textCtrlComment;
@ -89,9 +100,9 @@ class PANEL_PROPERTIES_BASE : public wxPanel
wxStaticText* m_TextEndYUnits; wxStaticText* m_TextEndYUnits;
wxStaticText* m_staticTextOrgEnd; wxStaticText* m_staticTextOrgEnd;
wxComboBox* m_comboBoxCornerEnd; wxComboBox* m_comboBoxCornerEnd;
wxStaticText* m_staticTextThickness; wxStaticText* m_lineWidthLabel;
wxTextCtrl* m_textCtrlThickness; wxTextCtrl* m_lineWidthCtrl;
wxStaticText* m_TextLineThicknessUnits; wxStaticText* m_lineWidthUnits;
wxStaticText* m_staticTextRot; wxStaticText* m_staticTextRot;
wxTextCtrl* m_textCtrlRotation; wxTextCtrl* m_textCtrlRotation;
wxStaticText* m_staticTextBitmapDPI; wxStaticText* m_staticTextBitmapDPI;
@ -110,32 +121,32 @@ class PANEL_PROPERTIES_BASE : public wxPanel
wxScrolledWindow* m_swGeneralOpts; wxScrolledWindow* m_swGeneralOpts;
wxStaticText* m_staticTextDefTsX; wxStaticText* m_staticTextDefTsX;
wxTextCtrl* m_textCtrlDefaultTextSizeX; wxTextCtrl* m_textCtrlDefaultTextSizeX;
wxStaticText* m_TextDefaultTextSizeXUnits; wxStaticText* m_defaultTextSizeXUnits;
wxStaticText* m_staticTextDefTsY; wxStaticText* m_staticTextDefTsY;
wxTextCtrl* m_textCtrlDefaultTextSizeY; wxTextCtrl* m_textCtrlDefaultTextSizeY;
wxStaticText* m_TextDefaultTextSizeYUnits; wxStaticText* m_defaultTextSizeYUnits;
wxStaticText* m_staticTextDefLineW; wxStaticText* m_defaultLineWidthLabel;
wxTextCtrl* m_textCtrlDefaultLineWidth; wxTextCtrl* m_defaultLineWidthCtrl;
wxStaticText* m_TextDefaultLineWidthUnits; wxStaticText* m_defaultLineWidthUnits;
wxStaticText* m_staticTextDefTextThickness; wxStaticText* m_defaultTextThicknessLabel;
wxTextCtrl* m_textCtrlDefaultTextThickness; wxTextCtrl* m_defaultTextThicknessCtrl;
wxStaticText* m_TextDefaultTextThicknessUnits; wxStaticText* m_defaultTextThicknessUnits;
wxButton* m_buttonDefault; wxButton* m_buttonDefault;
wxStaticText* m_staticTextLeftMargin; wxStaticText* m_leftMarginLabel;
wxTextCtrl* m_textCtrlLeftMargin; wxTextCtrl* m_leftMarginCtrl;
wxStaticText* m_TextLeftMarginUnits; wxStaticText* m_leftMarginUnits;
wxStaticText* m_staticTextDefRightMargin; wxStaticText* m_rightMarginLabel;
wxTextCtrl* m_textCtrlRightMargin; wxTextCtrl* m_rightMarginCtrl;
wxStaticText* m_TextRightMarginUnits; wxStaticText* m_rightMarginUnits;
wxStaticText* m_staticTextTopMargin; wxStaticText* m_topMarginLabel;
wxTextCtrl* m_textCtrlTopMargin; wxTextCtrl* m_topMarginCtrl;
wxStaticText* m_TextTopMarginUnits; wxStaticText* m_topMarginUnits;
wxStaticText* m_staticTextBottomMargin; wxStaticText* m_bottomMarginLabel;
wxTextCtrl* m_textCtrlBottomMargin; wxTextCtrl* m_bottomMarginCtrl;
wxStaticText* m_TextBottomMarginUnits; wxStaticText* m_bottomMarginUnits;
wxButton* m_buttonGeneralOptsOK; wxButton* m_buttonGeneralOptsOK;
// Virtual event handlers, override them in your derived class // Virtual event handlers, overide them in your derived class
virtual void OnPageChanged( wxNotebookEvent& event ) { event.Skip(); } virtual void OnPageChanged( wxNotebookEvent& event ) { event.Skip(); }
virtual void onHelp( wxCommandEvent& event ) { event.Skip(); } virtual void onHelp( wxCommandEvent& event ) { event.Skip(); }
virtual void OnAcceptPrms( wxCommandEvent& event ) { event.Skip(); } virtual void OnAcceptPrms( wxCommandEvent& event ) { event.Skip(); }
@ -145,7 +156,6 @@ class PANEL_PROPERTIES_BASE : public wxPanel
public: public:
PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString ); PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString );
~PANEL_PROPERTIES_BASE(); ~PANEL_PROPERTIES_BASE();
}; };