468 lines
17 KiB
C++
468 lines
17 KiB
C++
/************************************/
|
|
/* dialog_graphic_items_options.cpp */
|
|
/************************************/
|
|
|
|
|
|
#include "fctsys.h"
|
|
#include "gr_basic.h"
|
|
|
|
#include "common.h"
|
|
#include "pcbnew.h"
|
|
#include "pcbplot.h"
|
|
#include "autorout.h"
|
|
|
|
#include "pcbnew_id.h"
|
|
|
|
#include "protos.h"
|
|
|
|
#include "dialog_graphic_items_options.h"
|
|
|
|
#include <wx/spinctrl.h>
|
|
|
|
|
|
void WinEDA_GraphicItemsOptionsDialog::SetDisplayValue()
|
|
{
|
|
/* Drawings width */
|
|
AddUnitSymbol( *m_GraphicSegmWidthTitle );
|
|
PutValueInLocalUnits( *m_OptPcbSegmWidth,
|
|
g_DesignSettings.m_DrawSegmentWidth,
|
|
PCB_INTERNAL_UNIT );
|
|
/* Edges width */
|
|
AddUnitSymbol( *m_BoardEdgesWidthTitle );
|
|
PutValueInLocalUnits( *m_OptPcbEdgesWidth,
|
|
g_DesignSettings.m_EdgeSegmentWidth,
|
|
PCB_INTERNAL_UNIT );
|
|
|
|
/* Pcb Textes (Size & Width) */
|
|
AddUnitSymbol( *m_CopperTextWidthTitle );
|
|
PutValueInLocalUnits( *m_OptPcbTextWidth,
|
|
g_DesignSettings.m_PcbTextWidth, PCB_INTERNAL_UNIT );
|
|
|
|
AddUnitSymbol( *m_TextSizeVTitle );
|
|
PutValueInLocalUnits( *m_OptPcbTextVSize,
|
|
g_DesignSettings.m_PcbTextSize.y, PCB_INTERNAL_UNIT );
|
|
|
|
AddUnitSymbol( *m_TextSizeHTitle );
|
|
PutValueInLocalUnits( *m_OptPcbTextHSize,
|
|
g_DesignSettings.m_PcbTextSize.x, PCB_INTERNAL_UNIT );
|
|
|
|
|
|
/* Modules: Edges width */
|
|
AddUnitSymbol( *m_EdgeModWidthTitle );
|
|
PutValueInLocalUnits( *m_OptModuleEdgesWidth,
|
|
ModuleSegmentWidth, PCB_INTERNAL_UNIT );
|
|
|
|
/* Modules: Texts: Size & width */
|
|
AddUnitSymbol( *m_TextModWidthTitle );
|
|
PutValueInLocalUnits( *m_OptModuleTextWidth,
|
|
ModuleTextWidth, PCB_INTERNAL_UNIT );
|
|
|
|
AddUnitSymbol( *m_TextModSizeVTitle );
|
|
PutValueInLocalUnits( *m_OptModuleTextVSize,
|
|
ModuleTextSize.y, PCB_INTERNAL_UNIT );
|
|
|
|
AddUnitSymbol( *m_TextModSizeHTitle );
|
|
PutValueInLocalUnits( *m_OptModuleTextHSize,
|
|
ModuleTextSize.x, PCB_INTERNAL_UNIT );
|
|
}
|
|
|
|
|
|
void WinEDA_GraphicItemsOptionsDialog::AcceptOptions( wxCommandEvent& event )
|
|
{
|
|
g_DesignSettings.m_DrawSegmentWidth =
|
|
ReturnValueFromTextCtrl( *m_OptPcbSegmWidth, PCB_INTERNAL_UNIT );
|
|
g_DesignSettings.m_EdgeSegmentWidth =
|
|
ReturnValueFromTextCtrl( *m_OptPcbEdgesWidth, PCB_INTERNAL_UNIT );
|
|
g_DesignSettings.m_PcbTextWidth =
|
|
ReturnValueFromTextCtrl( *m_OptPcbTextWidth, PCB_INTERNAL_UNIT );
|
|
g_DesignSettings.m_PcbTextSize.y =
|
|
ReturnValueFromTextCtrl( *m_OptPcbTextVSize, PCB_INTERNAL_UNIT );
|
|
g_DesignSettings.m_PcbTextSize.x =
|
|
ReturnValueFromTextCtrl( *m_OptPcbTextHSize, PCB_INTERNAL_UNIT );
|
|
|
|
ModuleSegmentWidth =
|
|
ReturnValueFromTextCtrl( *m_OptModuleEdgesWidth, PCB_INTERNAL_UNIT );
|
|
ModuleTextWidth =
|
|
ReturnValueFromTextCtrl( *m_OptModuleTextWidth, PCB_INTERNAL_UNIT );
|
|
ModuleTextSize.y =
|
|
ReturnValueFromTextCtrl( *m_OptModuleTextVSize, PCB_INTERNAL_UNIT );
|
|
ModuleTextSize.x =
|
|
ReturnValueFromTextCtrl( *m_OptModuleTextHSize, PCB_INTERNAL_UNIT );
|
|
|
|
EndModal( 1 );
|
|
}
|
|
|
|
|
|
/*!
|
|
* WinEDA_GraphicItemsOptionsDialog type definition
|
|
*/
|
|
|
|
IMPLEMENT_DYNAMIC_CLASS( WinEDA_GraphicItemsOptionsDialog, wxDialog )
|
|
|
|
/*!
|
|
* WinEDA_GraphicItemsOptionsDialog event table definition
|
|
*/
|
|
|
|
BEGIN_EVENT_TABLE( WinEDA_GraphicItemsOptionsDialog, wxDialog )
|
|
|
|
////@begin WinEDA_GraphicItemsOptionsDialog event table entries
|
|
EVT_BUTTON( wxID_OK, WinEDA_GraphicItemsOptionsDialog::OnOkClick )
|
|
|
|
EVT_BUTTON( wxID_CANCEL, WinEDA_GraphicItemsOptionsDialog::OnCancelClick )
|
|
|
|
////@end WinEDA_GraphicItemsOptionsDialog event table entries
|
|
|
|
END_EVENT_TABLE()
|
|
/*!
|
|
* WinEDA_GraphicItemsOptionsDialog constructors
|
|
*/
|
|
|
|
WinEDA_GraphicItemsOptionsDialog::WinEDA_GraphicItemsOptionsDialog()
|
|
{
|
|
}
|
|
|
|
|
|
WinEDA_GraphicItemsOptionsDialog::WinEDA_GraphicItemsOptionsDialog(
|
|
WinEDA_BasePcbFrame* parent,
|
|
wxWindowID id,
|
|
const wxString& caption,
|
|
const wxPoint& pos,
|
|
const wxSize& size,
|
|
long style )
|
|
{
|
|
Create( parent, id, caption, pos, size, style );
|
|
}
|
|
|
|
|
|
/*!
|
|
* WinEDA_GraphicItemsOptionsDialog creator
|
|
*/
|
|
|
|
bool WinEDA_GraphicItemsOptionsDialog::Create( wxWindow* parent,
|
|
wxWindowID id,
|
|
const wxString& caption,
|
|
const wxPoint& pos,
|
|
const wxSize& size,
|
|
long style )
|
|
{
|
|
////@begin WinEDA_GraphicItemsOptionsDialog member initialisation
|
|
m_GraphicSegmWidthTitle = NULL;
|
|
m_OptPcbSegmWidth = NULL;
|
|
m_BoardEdgesWidthTitle = NULL;
|
|
m_OptPcbEdgesWidth = NULL;
|
|
m_CopperTextWidthTitle = NULL;
|
|
m_OptPcbTextWidth = NULL;
|
|
m_TextSizeVTitle = NULL;
|
|
m_OptPcbTextVSize = NULL;
|
|
m_TextSizeHTitle = NULL;
|
|
m_OptPcbTextHSize = NULL;
|
|
m_EdgeModWidthTitle = NULL;
|
|
m_OptModuleEdgesWidth = NULL;
|
|
m_TextModWidthTitle = NULL;
|
|
m_OptModuleTextWidth = NULL;
|
|
m_TextModSizeVTitle = NULL;
|
|
m_OptModuleTextVSize = NULL;
|
|
m_TextModSizeHTitle = NULL;
|
|
m_OptModuleTextHSize = NULL;
|
|
|
|
////@end WinEDA_GraphicItemsOptionsDialog member initialisation
|
|
|
|
////@begin WinEDA_GraphicItemsOptionsDialog creation
|
|
SetExtraStyle( wxWS_EX_BLOCK_EVENTS );
|
|
wxDialog::Create( parent, id, caption, pos, size, style );
|
|
|
|
CreateControls();
|
|
if( GetSizer() )
|
|
{
|
|
GetSizer()->SetSizeHints( this );
|
|
}
|
|
Centre();
|
|
|
|
////@end WinEDA_GraphicItemsOptionsDialog creation
|
|
return true;
|
|
}
|
|
|
|
|
|
/*!
|
|
* Control creation for WinEDA_GraphicItemsOptionsDialog
|
|
*/
|
|
|
|
void WinEDA_GraphicItemsOptionsDialog::CreateControls()
|
|
{
|
|
////@begin WinEDA_GraphicItemsOptionsDialog content construction
|
|
// Generated by DialogBlocks, 29/04/2009 15:15:02 (unregistered)
|
|
|
|
WinEDA_GraphicItemsOptionsDialog* itemDialog1 = this;
|
|
|
|
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer( wxHORIZONTAL );
|
|
|
|
itemDialog1->SetSizer( itemBoxSizer2 );
|
|
|
|
wxStaticBox* itemStaticBoxSizer3Static =
|
|
new wxStaticBox(itemDialog1, wxID_ANY, _( "Graphics:" ) );
|
|
wxStaticBoxSizer* itemStaticBoxSizer3 =
|
|
new wxStaticBoxSizer( itemStaticBoxSizer3Static, wxVERTICAL );
|
|
itemBoxSizer2->Add( itemStaticBoxSizer3, 0, wxGROW | wxALL, 5 );
|
|
|
|
m_GraphicSegmWidthTitle =
|
|
new wxStaticText( itemDialog1, wxID_STATIC, _( "Graphic segm Width" ),
|
|
wxDefaultPosition, wxDefaultSize, 0 );
|
|
itemStaticBoxSizer3->Add( m_GraphicSegmWidthTitle,
|
|
0,
|
|
wxALIGN_LEFT | wxLEFT | wxRIGHT | wxTOP |
|
|
wxADJUST_MINSIZE,
|
|
5 );
|
|
|
|
m_OptPcbSegmWidth = new wxTextCtrl( itemDialog1, ID_TEXTCTRL_SEGW,
|
|
_T( "" ), wxDefaultPosition,
|
|
wxDefaultSize, 0 );
|
|
itemStaticBoxSizer3->Add( m_OptPcbSegmWidth,
|
|
0,
|
|
wxGROW | wxLEFT | wxRIGHT | wxBOTTOM,
|
|
5 );
|
|
|
|
m_BoardEdgesWidthTitle =
|
|
new wxStaticText( itemDialog1, wxID_STATIC, _( "Board Edges Width" ),
|
|
wxDefaultPosition, wxDefaultSize, 0 );
|
|
itemStaticBoxSizer3->Add( m_BoardEdgesWidthTitle,
|
|
0,
|
|
wxALIGN_LEFT | wxLEFT | wxRIGHT | wxTOP |
|
|
wxADJUST_MINSIZE,
|
|
5 );
|
|
|
|
m_OptPcbEdgesWidth =
|
|
new wxTextCtrl( itemDialog1, ID_TEXTCTRL_EDGES, _T( "" ),
|
|
wxDefaultPosition, wxDefaultSize, 0 );
|
|
itemStaticBoxSizer3->Add( m_OptPcbEdgesWidth,
|
|
0,
|
|
wxGROW | wxLEFT | wxRIGHT | wxBOTTOM,
|
|
5 );
|
|
|
|
m_CopperTextWidthTitle =
|
|
new wxStaticText( itemDialog1, wxID_STATIC, _( "Copper Text Width" ),
|
|
wxDefaultPosition, wxDefaultSize, 0 );
|
|
itemStaticBoxSizer3->Add( m_CopperTextWidthTitle,
|
|
0,
|
|
wxALIGN_LEFT | wxLEFT | wxRIGHT | wxTOP |
|
|
wxADJUST_MINSIZE,
|
|
5 );
|
|
|
|
m_OptPcbTextWidth = new wxTextCtrl( itemDialog1, ID_TEXTCTRL_TEXTW,
|
|
_T( "" ), wxDefaultPosition,
|
|
wxDefaultSize, 0 );
|
|
itemStaticBoxSizer3->Add( m_OptPcbTextWidth,
|
|
0,
|
|
wxALIGN_LEFT | wxLEFT | wxRIGHT | wxBOTTOM,
|
|
5 );
|
|
|
|
m_TextSizeVTitle = new wxStaticText( itemDialog1, wxID_STATIC,
|
|
_( "Text Size V" ), wxDefaultPosition,
|
|
wxDefaultSize, 0 );
|
|
itemStaticBoxSizer3->Add( m_TextSizeVTitle,
|
|
0,
|
|
wxALIGN_LEFT | wxLEFT | wxRIGHT | wxTOP |
|
|
wxADJUST_MINSIZE,
|
|
5 );
|
|
|
|
m_OptPcbTextVSize = new wxTextCtrl( itemDialog1, ID_TEXTCTRL_TEXTV,
|
|
_T( "" ), wxDefaultPosition,
|
|
wxDefaultSize, 0 );
|
|
itemStaticBoxSizer3->Add( m_OptPcbTextVSize,
|
|
0,
|
|
wxGROW | wxLEFT | wxRIGHT | wxBOTTOM,
|
|
5 );
|
|
|
|
m_TextSizeHTitle = new wxStaticText( itemDialog1, wxID_STATIC,
|
|
_( "Text Size H" ), wxDefaultPosition,
|
|
wxDefaultSize, 0 );
|
|
itemStaticBoxSizer3->Add( m_TextSizeHTitle,
|
|
0,
|
|
wxALIGN_LEFT | wxLEFT | wxRIGHT | wxTOP |
|
|
wxADJUST_MINSIZE,
|
|
5 );
|
|
|
|
m_OptPcbTextHSize = new wxTextCtrl( itemDialog1, ID_TEXTCTRL_TEXTH,
|
|
_T( "" ), wxDefaultPosition,
|
|
wxDefaultSize, 0 );
|
|
itemStaticBoxSizer3->Add( m_OptPcbTextHSize,
|
|
0,
|
|
wxGROW | wxLEFT | wxRIGHT | wxBOTTOM,
|
|
5 );
|
|
|
|
itemBoxSizer2->Add( 5, 5, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
|
|
|
|
wxStaticBox* itemStaticBoxSizer15Static =
|
|
new wxStaticBox( itemDialog1, wxID_ANY, _( "Modules:" ) );
|
|
wxStaticBoxSizer* itemStaticBoxSizer15 =
|
|
new wxStaticBoxSizer( itemStaticBoxSizer15Static, wxVERTICAL );
|
|
itemBoxSizer2->Add( itemStaticBoxSizer15, 0, wxGROW | wxALL, 5 );
|
|
|
|
m_EdgeModWidthTitle =
|
|
new wxStaticText( itemDialog1, wxID_STATIC, _( "Edges Module Width" ),
|
|
wxDefaultPosition, wxDefaultSize, 0 );
|
|
itemStaticBoxSizer15->Add( m_EdgeModWidthTitle,
|
|
0,
|
|
wxALIGN_LEFT | wxLEFT | wxRIGHT | wxTOP |
|
|
wxADJUST_MINSIZE,
|
|
5 );
|
|
|
|
m_OptModuleEdgesWidth = new wxTextCtrl( itemDialog1,
|
|
ID_TEXTCTRL_EDGEMOD_W,
|
|
_T( "" ),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0 );
|
|
itemStaticBoxSizer15->Add( m_OptModuleEdgesWidth,
|
|
0,
|
|
wxGROW | wxLEFT | wxRIGHT | wxBOTTOM,
|
|
5 );
|
|
|
|
m_TextModWidthTitle = new wxStaticText( itemDialog1, wxID_STATIC,
|
|
_( "Text Module Width" ),
|
|
wxDefaultPosition,
|
|
wxDefaultSize, 0 );
|
|
itemStaticBoxSizer15->Add( m_TextModWidthTitle,
|
|
0,
|
|
wxALIGN_LEFT | wxLEFT | wxRIGHT | wxTOP |
|
|
wxADJUST_MINSIZE,
|
|
5 );
|
|
|
|
m_OptModuleTextWidth = new wxTextCtrl( itemDialog1,
|
|
ID_TEXTCTRL_TXTMOD_W,
|
|
_T( "" ),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0 );
|
|
itemStaticBoxSizer15->Add( m_OptModuleTextWidth,
|
|
0,
|
|
wxGROW | wxLEFT | wxRIGHT | wxBOTTOM,
|
|
5 );
|
|
|
|
m_TextModSizeVTitle = new wxStaticText( itemDialog1, wxID_STATIC,
|
|
_( "Text Module Size V" ),
|
|
wxDefaultPosition,
|
|
wxDefaultSize, 0 );
|
|
itemStaticBoxSizer15->Add( m_TextModSizeVTitle,
|
|
0,
|
|
wxALIGN_LEFT | wxLEFT | wxRIGHT | wxTOP |
|
|
wxADJUST_MINSIZE,
|
|
5 );
|
|
|
|
m_OptModuleTextVSize = new wxTextCtrl( itemDialog1,
|
|
ID_TEXTCTRL_TXTMOD_V,
|
|
_T( "" ),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0 );
|
|
itemStaticBoxSizer15->Add( m_OptModuleTextVSize,
|
|
0,
|
|
wxGROW | wxLEFT | wxRIGHT | wxBOTTOM,
|
|
5 );
|
|
|
|
m_TextModSizeHTitle = new wxStaticText( itemDialog1, wxID_STATIC,
|
|
_( "Text Module Size H" ),
|
|
wxDefaultPosition,
|
|
wxDefaultSize, 0 );
|
|
itemStaticBoxSizer15->Add( m_TextModSizeHTitle,
|
|
0,
|
|
wxALIGN_LEFT | wxLEFT | wxRIGHT | wxTOP |
|
|
wxADJUST_MINSIZE,
|
|
5 );
|
|
|
|
m_OptModuleTextHSize = new wxTextCtrl( itemDialog1,
|
|
ID_TEXTCTRL_TXTMOD_H,
|
|
_T( "" ),
|
|
wxDefaultPosition,
|
|
wxDefaultSize,
|
|
0 );
|
|
itemStaticBoxSizer15->Add( m_OptModuleTextHSize,
|
|
0,
|
|
wxGROW | wxLEFT | wxRIGHT | wxBOTTOM,
|
|
5 );
|
|
|
|
itemBoxSizer2->Add( 5, 5, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
|
|
|
|
wxBoxSizer* itemBoxSizer25 = new wxBoxSizer( wxVERTICAL );
|
|
itemBoxSizer2->Add( itemBoxSizer25, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
|
|
|
|
wxButton* itemButton26 = new wxButton( itemDialog1, wxID_OK, _( "&OK" ),
|
|
wxDefaultPosition,
|
|
wxDefaultSize, 0 );
|
|
itemBoxSizer25->Add( itemButton26, 0, wxGROW | wxALL, 5 );
|
|
|
|
wxButton* itemButton27 = new wxButton( itemDialog1, wxID_CANCEL,
|
|
_( "&Cancel" ), wxDefaultPosition,
|
|
wxDefaultSize, 0 );
|
|
itemBoxSizer25->Add( itemButton27, 0, wxGROW | wxALL, 5 );
|
|
|
|
////@end WinEDA_GraphicItemsOptionsDialog content construction
|
|
SetDisplayValue();
|
|
}
|
|
|
|
|
|
/*!
|
|
* Should we show tooltips?
|
|
*/
|
|
|
|
bool WinEDA_GraphicItemsOptionsDialog::ShowToolTips()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
|
|
/*!
|
|
* Get bitmap resources
|
|
*/
|
|
|
|
wxBitmap WinEDA_GraphicItemsOptionsDialog::GetBitmapResource(
|
|
const wxString& name )
|
|
{
|
|
// Bitmap retrieval
|
|
////@begin WinEDA_GraphicItemsOptionsDialog bitmap retrieval
|
|
wxUnusedVar( name );
|
|
return wxNullBitmap;
|
|
|
|
////@end WinEDA_GraphicItemsOptionsDialog bitmap retrieval
|
|
}
|
|
|
|
|
|
/*!
|
|
* Get icon resources
|
|
*/
|
|
|
|
wxIcon WinEDA_GraphicItemsOptionsDialog::GetIconResource( const wxString& name )
|
|
{
|
|
// Icon retrieval
|
|
////@begin WinEDA_GraphicItemsOptionsDialog icon retrieval
|
|
wxUnusedVar( name );
|
|
return wxNullIcon;
|
|
|
|
////@end WinEDA_GraphicItemsOptionsDialog icon retrieval
|
|
}
|
|
|
|
|
|
/*!
|
|
* wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK
|
|
*/
|
|
|
|
void WinEDA_GraphicItemsOptionsDialog::OnOkClick( wxCommandEvent& event )
|
|
{
|
|
AcceptOptions( event );
|
|
}
|
|
|
|
|
|
/*!
|
|
* wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL
|
|
*/
|
|
|
|
void WinEDA_GraphicItemsOptionsDialog::OnCancelClick( wxCommandEvent& event )
|
|
{
|
|
////@begin wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL in
|
|
// WinEDA_GraphicItemsOptionsDialog.
|
|
// Before editing this code, remove the block markers.
|
|
event.Skip();
|
|
|
|
////@end wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL in
|
|
// WinEDA_GraphicItemsOptionsDialog.
|
|
}
|