bug fixes
This commit is contained in:
parent
3237ea1352
commit
c25e5c31e1
|
@ -5,6 +5,23 @@ Started 2007-June-11
|
|||
Please add newer entries at the top, list the date and your name with
|
||||
email address.
|
||||
|
||||
|
||||
2008-Apr-28 UPDATE Dick Hollenbeck <dick@softplc.com>
|
||||
================================================================================
|
||||
+pcbnew
|
||||
* Layer names were not being set into the htoolbar listbox properly if the
|
||||
BOARD was loaded via the command line as happens when kicad chain loads
|
||||
pcbnew. Also, layer names were not being set if a second board was loaded
|
||||
that had the same number of layers as the previous board. The solution was
|
||||
to comment out the listbox rebuild test in WinEDAChoiceBox*
|
||||
WinEDA_PcbFrame::ReCreateLayerBox( WinEDA_Toolbar* parent )
|
||||
* files.cpp: added Clear_Pcb( false ) to LoadOnePcbFile() and call it if
|
||||
not appending. This way a user can get into the file selection dialog and
|
||||
still abort (change his mind) without losing the current board. Removed calls to
|
||||
Clear_Pcb() where LoadOnePcbFile() would now do that.
|
||||
* edtxtmod.cpp: fixed the drawing relics when moving and rotating module texts.
|
||||
|
||||
|
||||
2008-Apr-21 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
|
||||
================================================================================
|
||||
+pcbnew
|
||||
|
|
|
@ -522,6 +522,7 @@ void WinEDA_BasePcbFrame::GeneralControle( wxDC* DC, wxPoint Mouse )
|
|||
|
||||
if( delta.x <= 0 )
|
||||
delta.x = 1;
|
||||
|
||||
if( delta.y <= 0 )
|
||||
delta.y = 1;
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
|
||||
#include "dialog_edit_mod_text.h"
|
||||
|
||||
extern wxPoint MoveVector; // Move vector for move edge, imported from dialog_edit mod_text.cpp
|
||||
extern wxPoint MoveVector; // Move vector for move edge, imported from edtxtmod.cpp
|
||||
|
||||
////@begin XPM images
|
||||
////@end XPM images
|
||||
|
|
|
@ -1,17 +1,18 @@
|
|||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Name: dialog_general_options.cpp
|
||||
// Purpose:
|
||||
// Purpose:
|
||||
// Author: jean-pierre Charras
|
||||
// Modified by:
|
||||
// Modified by:
|
||||
// Created: 21/01/2006 18:28:47
|
||||
// RCS-ID:
|
||||
// RCS-ID:
|
||||
// Copyright: License GNU
|
||||
// Licence:
|
||||
// Licence:
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Generated by DialogBlocks (unregistered), 21/01/2006 18:28:47
|
||||
|
||||
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
|
||||
#if defined (__GNUG__) && !defined (NO_GCC_PRAGMA)
|
||||
#pragma implementation "dialog_general_options.h"
|
||||
#endif
|
||||
|
||||
|
@ -40,44 +41,46 @@
|
|||
////@end XPM images
|
||||
|
||||
|
||||
/*****************************************************************/
|
||||
void WinEDA_PcbFrame::OnSelectOptionToolbar( wxCommandEvent& event )
|
||||
/*****************************************************************/
|
||||
|
||||
/*****************************************************************/
|
||||
void WinEDA_PcbFrame::OnSelectOptionToolbar(wxCommandEvent& event)
|
||||
/*****************************************************************/
|
||||
/* Mises a jour de differentes variables de gestion d'options apres action sur
|
||||
le toolbar d'options
|
||||
*/
|
||||
* le toolbar d'options
|
||||
*/
|
||||
{
|
||||
int id = event.GetId();
|
||||
wxClientDC dc(DrawPanel);
|
||||
int id = event.GetId();
|
||||
|
||||
DrawPanel->CursorOff(&dc);
|
||||
DrawPanel->PrepareGraphicContext(&dc);
|
||||
wxClientDC dc( DrawPanel );
|
||||
|
||||
switch ( id )
|
||||
DrawPanel->CursorOff( &dc );
|
||||
DrawPanel->PrepareGraphicContext( &dc );
|
||||
|
||||
switch( id )
|
||||
{
|
||||
case ID_TB_OPTIONS_DRC_OFF:
|
||||
Drc_On = m_OptionsToolBar->GetToolState(id) ? FALSE : TRUE;
|
||||
Drc_On = m_OptionsToolBar->GetToolState( id ) ? FALSE : TRUE;
|
||||
break;
|
||||
|
||||
case ID_TB_OPTIONS_SHOW_GRID:
|
||||
m_Draw_Grid = g_ShowGrid = m_OptionsToolBar->GetToolState(id);
|
||||
DrawPanel->ReDraw(&dc, TRUE);
|
||||
m_Draw_Grid = g_ShowGrid = m_OptionsToolBar->GetToolState( id );
|
||||
DrawPanel->ReDraw( &dc, TRUE );
|
||||
break;
|
||||
|
||||
case ID_TB_OPTIONS_SHOW_RATSNEST:
|
||||
g_Show_Ratsnest = m_OptionsToolBar->GetToolState(id);
|
||||
Ratsnest_On_Off(&dc);
|
||||
g_Show_Ratsnest = m_OptionsToolBar->GetToolState( id );
|
||||
Ratsnest_On_Off( &dc );
|
||||
break;
|
||||
|
||||
case ID_TB_OPTIONS_SHOW_MODULE_RATSNEST:
|
||||
g_Show_Module_Ratsnest = m_OptionsToolBar->GetToolState(id);
|
||||
g_Show_Module_Ratsnest = m_OptionsToolBar->GetToolState( id );
|
||||
break;
|
||||
|
||||
case ID_TB_OPTIONS_SELECT_UNIT_MM:
|
||||
g_UnitMetric = MILLIMETRE;
|
||||
|
||||
case ID_TB_OPTIONS_SELECT_UNIT_INCH:
|
||||
if ( id == ID_TB_OPTIONS_SELECT_UNIT_INCH )
|
||||
if( id == ID_TB_OPTIONS_SELECT_UNIT_INCH )
|
||||
g_UnitMetric = INCHES;
|
||||
m_SelTrackWidthBox_Changed = TRUE;
|
||||
Affiche_Status_Box(); /* Reaffichage des coord curseur */
|
||||
|
@ -86,44 +89,44 @@ wxClientDC dc(DrawPanel);
|
|||
break;
|
||||
|
||||
case ID_TB_OPTIONS_SHOW_POLAR_COORD:
|
||||
Affiche_Message(wxEmptyString);
|
||||
DisplayOpt.DisplayPolarCood = m_OptionsToolBar->GetToolState(id);
|
||||
Affiche_Message( wxEmptyString );
|
||||
DisplayOpt.DisplayPolarCood = m_OptionsToolBar->GetToolState( id );
|
||||
Affiche_Status_Box(); /* Reaffichage des coord curseur */
|
||||
break;
|
||||
|
||||
case ID_TB_OPTIONS_SELECT_CURSOR:
|
||||
g_CursorShape = m_OptionsToolBar->GetToolState(id);
|
||||
g_CursorShape = m_OptionsToolBar->GetToolState( id );
|
||||
break;
|
||||
|
||||
case ID_TB_OPTIONS_AUTO_DEL_TRACK:
|
||||
g_AutoDeleteOldTrack = m_OptionsToolBar->GetToolState(id);
|
||||
g_AutoDeleteOldTrack = m_OptionsToolBar->GetToolState( id );
|
||||
break;
|
||||
|
||||
case ID_TB_OPTIONS_SHOW_ZONES:
|
||||
DisplayOpt.DisplayZones = m_OptionsToolBar->GetToolState(id);
|
||||
DrawPanel->ReDraw(&dc, TRUE);
|
||||
DisplayOpt.DisplayZones = m_OptionsToolBar->GetToolState( id );
|
||||
DrawPanel->ReDraw( &dc, TRUE );
|
||||
break;
|
||||
|
||||
case ID_TB_OPTIONS_SHOW_PADS_SKETCH:
|
||||
m_DisplayPadFill = DisplayOpt.DisplayPadFill =
|
||||
! m_OptionsToolBar->GetToolState(id);
|
||||
DrawPanel->ReDraw(&dc, TRUE);
|
||||
!m_OptionsToolBar->GetToolState( id );
|
||||
DrawPanel->ReDraw( &dc, TRUE );
|
||||
break;
|
||||
|
||||
case ID_TB_OPTIONS_SHOW_TRACKS_SKETCH:
|
||||
m_DisplayPcbTrackFill = DisplayOpt.DisplayPcbTrackFill =
|
||||
! m_OptionsToolBar->GetToolState(id);
|
||||
DrawPanel->ReDraw(&dc, TRUE);
|
||||
!m_OptionsToolBar->GetToolState( id );
|
||||
DrawPanel->ReDraw( &dc, TRUE );
|
||||
break;
|
||||
|
||||
case ID_TB_OPTIONS_SHOW_HIGHT_CONTRAST_MODE:
|
||||
DisplayOpt.ContrastModeDisplay =
|
||||
m_OptionsToolBar->GetToolState(id);
|
||||
DrawPanel->ReDraw(&dc, TRUE);
|
||||
m_OptionsToolBar->GetToolState( id );
|
||||
DrawPanel->ReDraw( &dc, TRUE );
|
||||
break;
|
||||
|
||||
case ID_TB_OPTIONS_SHOW_EXTRA_VERTICAL_TOOLBAR1:
|
||||
if ( m_OptionsToolBar->GetToolState(id) ) // show aux V toolbar (Microwave tool)
|
||||
if( m_OptionsToolBar->GetToolState( id ) ) // show aux V toolbar (Microwave tool)
|
||||
ReCreateAuxVToolbar();
|
||||
else
|
||||
{
|
||||
|
@ -131,18 +134,20 @@ wxClientDC dc(DrawPanel);
|
|||
m_AuxVToolBar = NULL;
|
||||
}
|
||||
{
|
||||
wxSizeEvent SizeEv(GetSize());
|
||||
OnSize(SizeEv);
|
||||
wxSizeEvent SizeEv( GetSize() );
|
||||
|
||||
OnSize( SizeEv );
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
DisplayError(this, wxT("WinEDA_PcbFrame::OnSelectOptionToolbar error \n (event not handled!)"));
|
||||
DisplayError( this,
|
||||
wxT( "WinEDA_PcbFrame::OnSelectOptionToolbar error \n (event not handled!)" ) );
|
||||
break;
|
||||
}
|
||||
|
||||
SetToolbars();
|
||||
DrawPanel->CursorOn(&dc);
|
||||
DrawPanel->CursorOn( &dc );
|
||||
}
|
||||
|
||||
|
||||
|
@ -159,9 +164,9 @@ IMPLEMENT_DYNAMIC_CLASS( WinEDA_PcbGeneralOptionsFrame, wxDialog )
|
|||
BEGIN_EVENT_TABLE( WinEDA_PcbGeneralOptionsFrame, wxDialog )
|
||||
|
||||
////@begin WinEDA_PcbGeneralOptionsFrame event table entries
|
||||
EVT_BUTTON( wxID_OK, WinEDA_PcbGeneralOptionsFrame::OnOkClick )
|
||||
EVT_BUTTON( wxID_OK, WinEDA_PcbGeneralOptionsFrame::OnOkClick )
|
||||
|
||||
EVT_BUTTON( wxID_CANCEL, WinEDA_PcbGeneralOptionsFrame::OnCancelClick )
|
||||
EVT_BUTTON( wxID_CANCEL, WinEDA_PcbGeneralOptionsFrame::OnCancelClick )
|
||||
|
||||
////@end WinEDA_PcbGeneralOptionsFrame event table entries
|
||||
|
||||
|
@ -171,221 +176,325 @@ END_EVENT_TABLE()
|
|||
* WinEDA_PcbGeneralOptionsFrame constructors
|
||||
*/
|
||||
|
||||
WinEDA_PcbGeneralOptionsFrame::WinEDA_PcbGeneralOptionsFrame( )
|
||||
WinEDA_PcbGeneralOptionsFrame::WinEDA_PcbGeneralOptionsFrame()
|
||||
{
|
||||
}
|
||||
|
||||
WinEDA_PcbGeneralOptionsFrame::WinEDA_PcbGeneralOptionsFrame( WinEDA_PcbFrame* parent, wxDC * DC,
|
||||
wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style )
|
||||
|
||||
WinEDA_PcbGeneralOptionsFrame::WinEDA_PcbGeneralOptionsFrame( WinEDA_PcbFrame* parent,
|
||||
wxDC* DC,
|
||||
wxWindowID id,
|
||||
const wxString& caption,
|
||||
const wxPoint& pos,
|
||||
const wxSize& size,
|
||||
long style )
|
||||
{
|
||||
m_Parent = parent;
|
||||
m_DC = DC;
|
||||
|
||||
Create(parent, id, caption, pos, size, style);
|
||||
|
||||
/* Set display options */
|
||||
m_PolarDisplay->SetSelection(DisplayOpt.DisplayPolarCood ? 1 : 0);
|
||||
m_BoxUnits->SetSelection( g_UnitMetric ? 1 : 0);
|
||||
m_CursorShape->SetSelection( g_CursorShape ? 1 : 0);
|
||||
|
||||
wxString timevalue;
|
||||
timevalue << g_TimeOut / 60;
|
||||
m_SaveTime->SetValue(timevalue);
|
||||
m_LayerNumber->SetValue(g_DesignSettings.m_CopperLayerCount);
|
||||
m_MaxShowLinks->SetValue(g_MaxLinksShowed);
|
||||
Create( parent, id, caption, pos, size, style );
|
||||
|
||||
m_DrcOn->SetValue(Drc_On );
|
||||
m_ShowModuleRatsnest->SetValue(g_Show_Module_Ratsnest);
|
||||
m_ShowGlobalRatsnest->SetValue(g_Show_Ratsnest);
|
||||
m_TrackAutodel->SetValue(g_AutoDeleteOldTrack);
|
||||
m_Track_45_Only_Ctrl->SetValue(Track_45_Only);
|
||||
m_Segments_45_Only_Ctrl->SetValue(Segments_45_Only);
|
||||
m_AutoPANOpt->SetValue(m_Parent->DrawPanel-> m_AutoPAN_Enable);
|
||||
m_Segments_45_Only_Ctrl->SetValue(Segments_45_Only);
|
||||
m_Track_DoubleSegm_Ctrl->SetValue(g_TwoSegmentTrackBuild);
|
||||
/* Set display options */
|
||||
m_PolarDisplay->SetSelection( DisplayOpt.DisplayPolarCood ? 1 : 0 );
|
||||
m_BoxUnits->SetSelection( g_UnitMetric ? 1 : 0 );
|
||||
m_CursorShape->SetSelection( g_CursorShape ? 1 : 0 );
|
||||
|
||||
wxString timevalue;
|
||||
timevalue << g_TimeOut / 60;
|
||||
m_SaveTime->SetValue( timevalue );
|
||||
m_LayerNumber->SetValue( g_DesignSettings.m_CopperLayerCount );
|
||||
m_MaxShowLinks->SetValue( g_MaxLinksShowed );
|
||||
|
||||
m_DrcOn->SetValue( Drc_On );
|
||||
m_ShowModuleRatsnest->SetValue( g_Show_Module_Ratsnest );
|
||||
m_ShowGlobalRatsnest->SetValue( g_Show_Ratsnest );
|
||||
m_TrackAutodel->SetValue( g_AutoDeleteOldTrack );
|
||||
m_Track_45_Only_Ctrl->SetValue( Track_45_Only );
|
||||
m_Segments_45_Only_Ctrl->SetValue( Segments_45_Only );
|
||||
m_AutoPANOpt->SetValue( m_Parent->DrawPanel->m_AutoPAN_Enable );
|
||||
m_Segments_45_Only_Ctrl->SetValue( Segments_45_Only );
|
||||
m_Track_DoubleSegm_Ctrl->SetValue( g_TwoSegmentTrackBuild );
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* WinEDA_PcbGeneralOptionsFrame creator
|
||||
*/
|
||||
|
||||
bool WinEDA_PcbGeneralOptionsFrame::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style )
|
||||
bool WinEDA_PcbGeneralOptionsFrame::Create( wxWindow* parent,
|
||||
wxWindowID id,
|
||||
const wxString& caption,
|
||||
const wxPoint& pos,
|
||||
const wxSize& size,
|
||||
long style )
|
||||
{
|
||||
////@begin WinEDA_PcbGeneralOptionsFrame member initialisation
|
||||
m_PolarDisplay = NULL;
|
||||
m_BoxUnits = NULL;
|
||||
m_CursorShape = NULL;
|
||||
m_LayerNumber = NULL;
|
||||
m_BoxUnits = NULL;
|
||||
m_CursorShape = NULL;
|
||||
m_LayerNumber = NULL;
|
||||
m_MaxShowLinks = NULL;
|
||||
m_SaveTime = NULL;
|
||||
m_DrcOn = NULL;
|
||||
m_DrcOn = NULL;
|
||||
m_ShowGlobalRatsnest = NULL;
|
||||
m_ShowModuleRatsnest = NULL;
|
||||
m_TrackAutodel = NULL;
|
||||
m_Track_45_Only_Ctrl = NULL;
|
||||
m_Track_45_Only_Ctrl = NULL;
|
||||
m_Segments_45_Only_Ctrl = NULL;
|
||||
m_AutoPANOpt = NULL;
|
||||
m_Track_DoubleSegm_Ctrl = NULL;
|
||||
m_MagneticPadOptCtrl = NULL;
|
||||
m_MagneticTrackOptCtrl = NULL;
|
||||
m_MagneticPadOptCtrl = NULL;
|
||||
m_MagneticTrackOptCtrl = NULL;
|
||||
|
||||
////@end WinEDA_PcbGeneralOptionsFrame member initialisation
|
||||
|
||||
////@begin WinEDA_PcbGeneralOptionsFrame creation
|
||||
SetExtraStyle(wxWS_EX_BLOCK_EVENTS);
|
||||
SetExtraStyle( wxWS_EX_BLOCK_EVENTS );
|
||||
wxDialog::Create( parent, id, caption, pos, size, style );
|
||||
|
||||
CreateControls();
|
||||
if (GetSizer())
|
||||
if( GetSizer() )
|
||||
{
|
||||
GetSizer()->SetSizeHints(this);
|
||||
GetSizer()->SetSizeHints( this );
|
||||
}
|
||||
Centre();
|
||||
|
||||
////@end WinEDA_PcbGeneralOptionsFrame creation
|
||||
SetFont(*g_DialogFont);
|
||||
SetFont( *g_DialogFont );
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* Control creation for WinEDA_PcbGeneralOptionsFrame
|
||||
*/
|
||||
|
||||
void WinEDA_PcbGeneralOptionsFrame::CreateControls()
|
||||
{
|
||||
{
|
||||
////@begin WinEDA_PcbGeneralOptionsFrame content construction
|
||||
// Generated by DialogBlocks, Mon 03 Mar 2008 04:27:22 PM EST (unregistered)
|
||||
|
||||
WinEDA_PcbGeneralOptionsFrame* itemDialog1 = this;
|
||||
|
||||
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemDialog1->SetSizer(itemBoxSizer2);
|
||||
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer2->Add(itemBoxSizer3, 0, wxGROW|wxALL, 5);
|
||||
itemDialog1->SetSizer( itemBoxSizer2 );
|
||||
|
||||
wxBoxSizer* itemBoxSizer3 = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
itemBoxSizer2->Add( itemBoxSizer3, 0, wxGROW | wxALL, 5 );
|
||||
|
||||
wxArrayString m_PolarDisplayStrings;
|
||||
m_PolarDisplayStrings.Add(_("No Display"));
|
||||
m_PolarDisplayStrings.Add(_("Display"));
|
||||
m_PolarDisplay = new wxRadioBox( itemDialog1, ID_RADIOBOX, _("Display Polar Coord"), wxDefaultPosition, wxDefaultSize, m_PolarDisplayStrings, 1, wxRA_SPECIFY_COLS );
|
||||
m_PolarDisplay->SetSelection(0);
|
||||
itemBoxSizer3->Add(m_PolarDisplay, 0, wxALIGN_LEFT|wxALL, 5);
|
||||
m_PolarDisplayStrings.Add( _( "No Display" ) );
|
||||
m_PolarDisplayStrings.Add( _( "Display" ) );
|
||||
m_PolarDisplay = new wxRadioBox( itemDialog1, ID_RADIOBOX, _(
|
||||
"Display Polar Coord" ), wxDefaultPosition, wxDefaultSize,
|
||||
m_PolarDisplayStrings, 1,
|
||||
wxRA_SPECIFY_COLS );
|
||||
|
||||
m_PolarDisplay->SetSelection( 0 );
|
||||
itemBoxSizer3->Add( m_PolarDisplay, 0, wxALIGN_LEFT | wxALL, 5 );
|
||||
|
||||
wxArrayString m_BoxUnitsStrings;
|
||||
m_BoxUnitsStrings.Add(_("Inches"));
|
||||
m_BoxUnitsStrings.Add(_("millimeters"));
|
||||
m_BoxUnits = new wxRadioBox( itemDialog1, ID_RADIOBOX1, _("Units"), wxDefaultPosition, wxDefaultSize, m_BoxUnitsStrings, 1, wxRA_SPECIFY_COLS );
|
||||
m_BoxUnits->SetSelection(0);
|
||||
itemBoxSizer3->Add(m_BoxUnits, 0, wxALIGN_LEFT|wxALL, 5);
|
||||
m_BoxUnitsStrings.Add( _( "Inches" ) );
|
||||
m_BoxUnitsStrings.Add( _( "millimeters" ) );
|
||||
m_BoxUnits = new wxRadioBox( itemDialog1, ID_RADIOBOX1, _(
|
||||
"Units" ), wxDefaultPosition, wxDefaultSize,
|
||||
m_BoxUnitsStrings, 1, wxRA_SPECIFY_COLS );
|
||||
|
||||
m_BoxUnits->SetSelection( 0 );
|
||||
itemBoxSizer3->Add( m_BoxUnits, 0, wxALIGN_LEFT | wxALL, 5 );
|
||||
|
||||
wxArrayString m_CursorShapeStrings;
|
||||
m_CursorShapeStrings.Add(_("Small"));
|
||||
m_CursorShapeStrings.Add(_("Big"));
|
||||
m_CursorShape = new wxRadioBox( itemDialog1, ID_RADIOBOX2, _("Cursor"), wxDefaultPosition, wxDefaultSize, m_CursorShapeStrings, 1, wxRA_SPECIFY_COLS );
|
||||
m_CursorShape->SetSelection(0);
|
||||
itemBoxSizer3->Add(m_CursorShape, 0, wxALIGN_LEFT|wxALL, 5);
|
||||
m_CursorShapeStrings.Add( _( "Small" ) );
|
||||
m_CursorShapeStrings.Add( _( "Big" ) );
|
||||
m_CursorShape = new wxRadioBox( itemDialog1, ID_RADIOBOX2, _(
|
||||
"Cursor" ),
|
||||
wxDefaultPosition,
|
||||
wxDefaultSize, m_CursorShapeStrings, 1, wxRA_SPECIFY_COLS );
|
||||
|
||||
wxBoxSizer* itemBoxSizer7 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer2->Add(itemBoxSizer7, 0, wxGROW|wxALL, 5);
|
||||
m_CursorShape->SetSelection( 0 );
|
||||
itemBoxSizer3->Add( m_CursorShape, 0, wxALIGN_LEFT | wxALL, 5 );
|
||||
|
||||
wxStaticBox* itemStaticBoxSizer8Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Number of Layers:"));
|
||||
wxStaticBoxSizer* itemStaticBoxSizer8 = new wxStaticBoxSizer(itemStaticBoxSizer8Static, wxVERTICAL);
|
||||
itemBoxSizer7->Add(itemStaticBoxSizer8, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
||||
wxBoxSizer* itemBoxSizer7 = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_LayerNumber = new wxSpinCtrl( itemDialog1, ID_SPINCTRL1, _T("1"), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 16, 1 );
|
||||
itemStaticBoxSizer8->Add(m_LayerNumber, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
||||
itemBoxSizer2->Add( itemBoxSizer7, 0, wxGROW | wxALL, 5 );
|
||||
|
||||
wxStaticBox* itemStaticBoxSizer10Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Max Links:"));
|
||||
wxStaticBoxSizer* itemStaticBoxSizer10 = new wxStaticBoxSizer(itemStaticBoxSizer10Static, wxVERTICAL);
|
||||
itemBoxSizer7->Add(itemStaticBoxSizer10, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
||||
wxStaticBox* itemStaticBoxSizer8Static = new wxStaticBox( itemDialog1, wxID_ANY, _(
|
||||
"Number of Layers:" ) );
|
||||
|
||||
m_MaxShowLinks = new wxSpinCtrl( itemDialog1, ID_SPINCTRL2, _T("1"), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 5, 1 );
|
||||
itemStaticBoxSizer10->Add(m_MaxShowLinks, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
||||
wxStaticBoxSizer* itemStaticBoxSizer8 = new wxStaticBoxSizer(
|
||||
itemStaticBoxSizer8Static,
|
||||
wxVERTICAL );
|
||||
|
||||
wxStaticBox* itemStaticBoxSizer12Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Auto Save (minuts):"));
|
||||
wxStaticBoxSizer* itemStaticBoxSizer12 = new wxStaticBoxSizer(itemStaticBoxSizer12Static, wxVERTICAL);
|
||||
itemBoxSizer7->Add(itemStaticBoxSizer12, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
||||
itemBoxSizer7->Add( itemStaticBoxSizer8, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 5 );
|
||||
|
||||
m_SaveTime = new wxSpinCtrl( itemDialog1, ID_SPINCTRL3, _T("0"), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 60, 0 );
|
||||
itemStaticBoxSizer12->Add(m_SaveTime, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
||||
m_LayerNumber = new wxSpinCtrl( itemDialog1, ID_SPINCTRL1, _T(
|
||||
"1" ), wxDefaultPosition,
|
||||
wxDefaultSize, wxSP_ARROW_KEYS,
|
||||
1, 16, 1 );
|
||||
|
||||
wxBoxSizer* itemBoxSizer14 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer2->Add(itemBoxSizer14, 0, wxGROW|wxALL, 5);
|
||||
itemStaticBoxSizer8->Add( m_LayerNumber, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 5 );
|
||||
|
||||
wxStaticBox* itemStaticBoxSizer15Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Options:"));
|
||||
wxStaticBoxSizer* itemStaticBoxSizer15 = new wxStaticBoxSizer(itemStaticBoxSizer15Static, wxVERTICAL);
|
||||
itemBoxSizer14->Add(itemStaticBoxSizer15, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
||||
wxStaticBox* itemStaticBoxSizer10Static = new wxStaticBox( itemDialog1, wxID_ANY, _(
|
||||
"Max Links:" ) );
|
||||
|
||||
m_DrcOn = new wxCheckBox( itemDialog1, ID_CHECKBOX, _("Drc ON"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE );
|
||||
m_DrcOn->SetValue(false);
|
||||
m_DrcOn->SetForegroundColour(wxColour(198, 0, 0));
|
||||
itemStaticBoxSizer15->Add(m_DrcOn, 0, wxALIGN_LEFT|wxALL, 5);
|
||||
wxStaticBoxSizer* itemStaticBoxSizer10 = new wxStaticBoxSizer(
|
||||
itemStaticBoxSizer10Static,
|
||||
wxVERTICAL );
|
||||
|
||||
m_ShowGlobalRatsnest = new wxCheckBox( itemDialog1, ID_CHECKBOX1, _("Show Ratsnest"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE );
|
||||
m_ShowGlobalRatsnest->SetValue(false);
|
||||
itemStaticBoxSizer15->Add(m_ShowGlobalRatsnest, 0, wxALIGN_LEFT|wxALL, 5);
|
||||
itemBoxSizer7->Add( itemStaticBoxSizer10, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 5 );
|
||||
|
||||
m_ShowModuleRatsnest = new wxCheckBox( itemDialog1, ID_CHECKBOX2, _("Show Mod Ratsnest"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE );
|
||||
m_ShowModuleRatsnest->SetValue(false);
|
||||
itemStaticBoxSizer15->Add(m_ShowModuleRatsnest, 0, wxALIGN_LEFT|wxALL, 5);
|
||||
m_MaxShowLinks = new wxSpinCtrl( itemDialog1, ID_SPINCTRL2, _T(
|
||||
"1" ), wxDefaultPosition,
|
||||
wxDefaultSize, wxSP_ARROW_KEYS,
|
||||
1, 5, 1 );
|
||||
|
||||
m_TrackAutodel = new wxCheckBox( itemDialog1, ID_CHECKBOX3, _("Tracks Auto Del"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE );
|
||||
m_TrackAutodel->SetValue(false);
|
||||
itemStaticBoxSizer15->Add(m_TrackAutodel, 0, wxALIGN_LEFT|wxALL, 5);
|
||||
itemStaticBoxSizer10->Add( m_MaxShowLinks, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 5 );
|
||||
|
||||
m_Track_45_Only_Ctrl = new wxCheckBox( itemDialog1, ID_CHECKBOX4, _("Track 45 Only"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE );
|
||||
m_Track_45_Only_Ctrl->SetValue(false);
|
||||
itemStaticBoxSizer15->Add(m_Track_45_Only_Ctrl, 0, wxALIGN_LEFT|wxALL, 5);
|
||||
wxStaticBox* itemStaticBoxSizer12Static = new wxStaticBox( itemDialog1, wxID_ANY, _(
|
||||
"Auto Save (minuts):" ) );
|
||||
|
||||
m_Segments_45_Only_Ctrl = new wxCheckBox( itemDialog1, ID_CHECKBOX5, _("Segments 45 Only"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE );
|
||||
m_Segments_45_Only_Ctrl->SetValue(false);
|
||||
itemStaticBoxSizer15->Add(m_Segments_45_Only_Ctrl, 0, wxALIGN_LEFT|wxALL, 5);
|
||||
wxStaticBoxSizer* itemStaticBoxSizer12 = new wxStaticBoxSizer(
|
||||
itemStaticBoxSizer12Static,
|
||||
wxVERTICAL );
|
||||
|
||||
m_AutoPANOpt = new wxCheckBox( itemDialog1, ID_CHECKBOX6, _("Auto PAN"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE );
|
||||
m_AutoPANOpt->SetValue(false);
|
||||
m_AutoPANOpt->SetForegroundColour(wxColour(0, 0, 255));
|
||||
itemStaticBoxSizer15->Add(m_AutoPANOpt, 0, wxALIGN_LEFT|wxALL, 5);
|
||||
itemBoxSizer7->Add( itemStaticBoxSizer12, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 5 );
|
||||
|
||||
m_Track_DoubleSegm_Ctrl = new wxCheckBox( itemDialog1, ID_CHECKBOX7, _("Double Segm Track"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE );
|
||||
m_Track_DoubleSegm_Ctrl->SetValue(false);
|
||||
m_Track_DoubleSegm_Ctrl->SetForegroundColour(wxColour(0, 144, 0));
|
||||
itemStaticBoxSizer15->Add(m_Track_DoubleSegm_Ctrl, 0, wxALIGN_LEFT|wxALL, 5);
|
||||
m_SaveTime = new wxSpinCtrl( itemDialog1, ID_SPINCTRL3, _T(
|
||||
"0" ), wxDefaultPosition,
|
||||
wxDefaultSize, wxSP_ARROW_KEYS,
|
||||
0, 60, 0 );
|
||||
|
||||
wxBoxSizer* itemBoxSizer24 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer2->Add(itemBoxSizer24, 0, wxALIGN_TOP|wxALL, 5);
|
||||
itemStaticBoxSizer12->Add( m_SaveTime, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 5 );
|
||||
|
||||
wxBoxSizer* itemBoxSizer14 = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
itemBoxSizer2->Add( itemBoxSizer14, 0, wxGROW | wxALL, 5 );
|
||||
|
||||
wxStaticBox* itemStaticBoxSizer15Static = new wxStaticBox( itemDialog1, wxID_ANY, _(
|
||||
"Options:" ) );
|
||||
|
||||
wxStaticBoxSizer* itemStaticBoxSizer15 = new wxStaticBoxSizer(
|
||||
itemStaticBoxSizer15Static,
|
||||
wxVERTICAL );
|
||||
|
||||
itemBoxSizer14->Add( itemStaticBoxSizer15, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 5 );
|
||||
|
||||
m_DrcOn = new wxCheckBox( itemDialog1, ID_CHECKBOX, _(
|
||||
"Drc ON" ),
|
||||
wxDefaultPosition,
|
||||
wxDefaultSize, wxCHK_2STATE );
|
||||
|
||||
m_DrcOn->SetValue( false );
|
||||
m_DrcOn->SetForegroundColour( wxColour( 198, 0, 0 ) );
|
||||
itemStaticBoxSizer15->Add( m_DrcOn, 0, wxALIGN_LEFT | wxALL, 5 );
|
||||
|
||||
m_ShowGlobalRatsnest = new wxCheckBox( itemDialog1, ID_CHECKBOX1, _(
|
||||
"Show Ratsnest" ), wxDefaultPosition,
|
||||
wxDefaultSize, wxCHK_2STATE );
|
||||
|
||||
m_ShowGlobalRatsnest->SetValue( false );
|
||||
itemStaticBoxSizer15->Add( m_ShowGlobalRatsnest, 0, wxALIGN_LEFT | wxALL, 5 );
|
||||
|
||||
m_ShowModuleRatsnest = new wxCheckBox( itemDialog1, ID_CHECKBOX2, _(
|
||||
"Show Mod Ratsnest" ), wxDefaultPosition,
|
||||
wxDefaultSize, wxCHK_2STATE );
|
||||
|
||||
m_ShowModuleRatsnest->SetValue( false );
|
||||
itemStaticBoxSizer15->Add( m_ShowModuleRatsnest, 0, wxALIGN_LEFT | wxALL, 5 );
|
||||
|
||||
m_TrackAutodel = new wxCheckBox( itemDialog1, ID_CHECKBOX3, _(
|
||||
"Tracks Auto Del" ), wxDefaultPosition,
|
||||
wxDefaultSize, wxCHK_2STATE );
|
||||
|
||||
m_TrackAutodel->SetValue( false );
|
||||
itemStaticBoxSizer15->Add( m_TrackAutodel, 0, wxALIGN_LEFT | wxALL, 5 );
|
||||
|
||||
m_Track_45_Only_Ctrl = new wxCheckBox( itemDialog1, ID_CHECKBOX4, _(
|
||||
"Track 45 Only" ), wxDefaultPosition,
|
||||
wxDefaultSize, wxCHK_2STATE );
|
||||
|
||||
m_Track_45_Only_Ctrl->SetValue( false );
|
||||
itemStaticBoxSizer15->Add( m_Track_45_Only_Ctrl, 0, wxALIGN_LEFT | wxALL, 5 );
|
||||
|
||||
m_Segments_45_Only_Ctrl = new wxCheckBox( itemDialog1, ID_CHECKBOX5, _(
|
||||
"Segments 45 Only" ), wxDefaultPosition,
|
||||
wxDefaultSize, wxCHK_2STATE );
|
||||
|
||||
m_Segments_45_Only_Ctrl->SetValue( false );
|
||||
itemStaticBoxSizer15->Add( m_Segments_45_Only_Ctrl, 0, wxALIGN_LEFT | wxALL, 5 );
|
||||
|
||||
m_AutoPANOpt = new wxCheckBox( itemDialog1, ID_CHECKBOX6, _(
|
||||
"Auto PAN" ), wxDefaultPosition, wxDefaultSize,
|
||||
wxCHK_2STATE );
|
||||
|
||||
m_AutoPANOpt->SetValue( false );
|
||||
m_AutoPANOpt->SetForegroundColour( wxColour( 0, 0, 255 ) );
|
||||
itemStaticBoxSizer15->Add( m_AutoPANOpt, 0, wxALIGN_LEFT | wxALL, 5 );
|
||||
|
||||
m_Track_DoubleSegm_Ctrl = new wxCheckBox( itemDialog1, ID_CHECKBOX7, _(
|
||||
"Double Segm Track" ), wxDefaultPosition,
|
||||
wxDefaultSize, wxCHK_2STATE );
|
||||
|
||||
m_Track_DoubleSegm_Ctrl->SetValue( false );
|
||||
m_Track_DoubleSegm_Ctrl->SetForegroundColour( wxColour( 0, 144, 0 ) );
|
||||
itemStaticBoxSizer15->Add( m_Track_DoubleSegm_Ctrl, 0, wxALIGN_LEFT | wxALL, 5 );
|
||||
|
||||
wxBoxSizer* itemBoxSizer24 = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
itemBoxSizer2->Add( itemBoxSizer24, 0, wxALIGN_TOP | wxALL, 5 );
|
||||
|
||||
wxArrayString m_MagneticPadOptCtrlStrings;
|
||||
m_MagneticPadOptCtrlStrings.Add(_("Never"));
|
||||
m_MagneticPadOptCtrlStrings.Add(_("When creating tracks"));
|
||||
m_MagneticPadOptCtrlStrings.Add(_("Always"));
|
||||
m_MagneticPadOptCtrl = new wxRadioBox( itemDialog1, ID_RADIOBOX4, _("Magnetic Pads"), wxDefaultPosition, wxDefaultSize, m_MagneticPadOptCtrlStrings, 1, wxRA_SPECIFY_COLS );
|
||||
m_MagneticPadOptCtrl->SetSelection(0);
|
||||
if (WinEDA_PcbGeneralOptionsFrame::ShowToolTips())
|
||||
m_MagneticPadOptCtrl->SetToolTip(_("control the capture of the pcb cursor when the mouse cursor enters a pad area"));
|
||||
itemBoxSizer24->Add(m_MagneticPadOptCtrl, 0, wxGROW|wxALL, 5);
|
||||
m_MagneticPadOptCtrlStrings.Add( _( "Never" ) );
|
||||
m_MagneticPadOptCtrlStrings.Add( _( "When creating tracks" ) );
|
||||
m_MagneticPadOptCtrlStrings.Add( _( "Always" ) );
|
||||
m_MagneticPadOptCtrl = new wxRadioBox( itemDialog1, ID_RADIOBOX4, _(
|
||||
"Magnetic Pads" ), wxDefaultPosition, wxDefaultSize,
|
||||
m_MagneticPadOptCtrlStrings, 1,
|
||||
wxRA_SPECIFY_COLS );
|
||||
|
||||
m_MagneticPadOptCtrl->SetSelection( 0 );
|
||||
if( WinEDA_PcbGeneralOptionsFrame::ShowToolTips() )
|
||||
m_MagneticPadOptCtrl->SetToolTip( _(
|
||||
"control the capture of the pcb cursor when the mouse cursor enters a pad area" ) );
|
||||
itemBoxSizer24->Add( m_MagneticPadOptCtrl, 0, wxGROW | wxALL, 5 );
|
||||
|
||||
wxArrayString m_MagneticTrackOptCtrlStrings;
|
||||
m_MagneticTrackOptCtrlStrings.Add(_("Never"));
|
||||
m_MagneticTrackOptCtrlStrings.Add(_("When creating tracks"));
|
||||
m_MagneticTrackOptCtrlStrings.Add(_("Always"));
|
||||
m_MagneticTrackOptCtrl = new wxRadioBox( itemDialog1, ID_RADIOBOX3, _("Magnetic Tracks"), wxDefaultPosition, wxDefaultSize, m_MagneticTrackOptCtrlStrings, 1, wxRA_SPECIFY_COLS );
|
||||
m_MagneticTrackOptCtrl->SetSelection(0);
|
||||
if (WinEDA_PcbGeneralOptionsFrame::ShowToolTips())
|
||||
m_MagneticTrackOptCtrl->SetToolTip(_("control the capture of the pcb cursor when the mouse cursor enters a track"));
|
||||
itemBoxSizer24->Add(m_MagneticTrackOptCtrl, 0, wxGROW|wxALL, 5);
|
||||
m_MagneticTrackOptCtrlStrings.Add( _( "Never" ) );
|
||||
m_MagneticTrackOptCtrlStrings.Add( _( "When creating tracks" ) );
|
||||
m_MagneticTrackOptCtrlStrings.Add( _( "Always" ) );
|
||||
m_MagneticTrackOptCtrl = new wxRadioBox( itemDialog1, ID_RADIOBOX3, _(
|
||||
"Magnetic Tracks" ), wxDefaultPosition,
|
||||
wxDefaultSize, m_MagneticTrackOptCtrlStrings, 1,
|
||||
wxRA_SPECIFY_COLS );
|
||||
|
||||
wxButton* itemButton27 = new wxButton( itemDialog1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemButton27->SetForegroundColour(wxColour(221, 0, 0));
|
||||
itemBoxSizer24->Add(itemButton27, 0, wxGROW|wxALL, 5);
|
||||
m_MagneticTrackOptCtrl->SetSelection( 0 );
|
||||
if( WinEDA_PcbGeneralOptionsFrame::ShowToolTips() )
|
||||
m_MagneticTrackOptCtrl->SetToolTip( _(
|
||||
"control the capture of the pcb cursor when the mouse cursor enters a track" ) );
|
||||
itemBoxSizer24->Add( m_MagneticTrackOptCtrl, 0, wxGROW | wxALL, 5 );
|
||||
|
||||
wxButton* itemButton28 = new wxButton( itemDialog1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemButton28->SetForegroundColour(wxColour(0, 0, 255));
|
||||
itemBoxSizer24->Add(itemButton28, 0, wxGROW|wxALL, 5);
|
||||
wxButton* itemButton27 = new wxButton( itemDialog1, wxID_OK, _(
|
||||
"&OK" ), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
|
||||
itemButton27->SetForegroundColour( wxColour( 221, 0, 0 ) );
|
||||
itemBoxSizer24->Add( itemButton27, 0, wxGROW | wxALL, 5 );
|
||||
|
||||
wxButton* itemButton28 = new wxButton( itemDialog1, wxID_CANCEL, _(
|
||||
"&Cancel" ), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
|
||||
itemButton28->SetForegroundColour( wxColour( 0, 0, 255 ) );
|
||||
itemBoxSizer24->Add( itemButton28, 0, wxGROW | wxALL, 5 );
|
||||
|
||||
// Set validators
|
||||
m_MagneticPadOptCtrl->SetValidator( wxGenericValidator(& g_MagneticPadOption) );
|
||||
m_MagneticTrackOptCtrl->SetValidator( wxGenericValidator(& g_MagneticTrackOption) );
|
||||
m_MagneticPadOptCtrl->SetValidator( wxGenericValidator( &g_MagneticPadOption ) );
|
||||
m_MagneticTrackOptCtrl->SetValidator( wxGenericValidator( &g_MagneticTrackOption ) );
|
||||
|
||||
////@end WinEDA_PcbGeneralOptionsFrame content construction
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* Should we show tooltips?
|
||||
*/
|
||||
|
@ -395,6 +504,7 @@ bool WinEDA_PcbGeneralOptionsFrame::ShowToolTips()
|
|||
return true;
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* Get bitmap resources
|
||||
*/
|
||||
|
@ -403,11 +513,13 @@ wxBitmap WinEDA_PcbGeneralOptionsFrame::GetBitmapResource( const wxString& name
|
|||
{
|
||||
// Bitmap retrieval
|
||||
////@begin WinEDA_PcbGeneralOptionsFrame bitmap retrieval
|
||||
wxUnusedVar(name);
|
||||
wxUnusedVar( name );
|
||||
return wxNullBitmap;
|
||||
|
||||
////@end WinEDA_PcbGeneralOptionsFrame bitmap retrieval
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* Get icon resources
|
||||
*/
|
||||
|
@ -416,11 +528,13 @@ wxIcon WinEDA_PcbGeneralOptionsFrame::GetIconResource( const wxString& name )
|
|||
{
|
||||
// Icon retrieval
|
||||
////@begin WinEDA_PcbGeneralOptionsFrame icon retrieval
|
||||
wxUnusedVar(name);
|
||||
wxUnusedVar( name );
|
||||
return wxNullIcon;
|
||||
|
||||
////@end WinEDA_PcbGeneralOptionsFrame icon retrieval
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL
|
||||
*/
|
||||
|
@ -430,62 +544,66 @@ void WinEDA_PcbGeneralOptionsFrame::OnCancelClick( wxCommandEvent& event )
|
|||
////@begin wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK in WinEDA_PcbGeneralOptionsFrame.
|
||||
// Before editing this code, remove the block markers.
|
||||
event.Skip();
|
||||
////@end wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK in WinEDA_PcbGeneralOptionsFrame.
|
||||
|
||||
////@end wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK in WinEDA_PcbGeneralOptionsFrame.
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK
|
||||
*/
|
||||
|
||||
void WinEDA_PcbGeneralOptionsFrame::OnOkClick( wxCommandEvent& event )
|
||||
{
|
||||
AcceptPcbOptions(event);
|
||||
AcceptPcbOptions( event );
|
||||
|
||||
////@begin wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK in WinEDA_PcbGeneralOptionsFrame.
|
||||
// Before editing this code, remove the block markers.
|
||||
event.Skip();
|
||||
////@end wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK in WinEDA_PcbGeneralOptionsFrame.
|
||||
|
||||
////@end wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK in WinEDA_PcbGeneralOptionsFrame.
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**************************************************************************/
|
||||
void WinEDA_PcbGeneralOptionsFrame::AcceptPcbOptions(wxCommandEvent& event)
|
||||
void WinEDA_PcbGeneralOptionsFrame::AcceptPcbOptions( wxCommandEvent& event )
|
||||
/**************************************************************************/
|
||||
{
|
||||
int ii;
|
||||
int ii;
|
||||
|
||||
DisplayOpt.DisplayPolarCood =
|
||||
(m_PolarDisplay->GetSelection() == 0) ? FALSE : TRUE;
|
||||
ii = g_UnitMetric;
|
||||
g_UnitMetric = (m_BoxUnits->GetSelection() == 0) ? 0 : 1;
|
||||
if ( ii != g_UnitMetric ) m_Parent->ReCreateAuxiliaryToolbar();
|
||||
if( ii != g_UnitMetric )
|
||||
m_Parent->ReCreateAuxiliaryToolbar();
|
||||
|
||||
g_CursorShape = m_CursorShape->GetSelection();
|
||||
g_TimeOut = 60 * m_SaveTime->GetValue();
|
||||
|
||||
/* Mise a jour de la combobox d'affichage de la couche active */
|
||||
g_DesignSettings.m_CopperLayerCount = m_LayerNumber->GetValue();
|
||||
m_Parent->ReCreateLayerBox(NULL);
|
||||
m_Parent->ReCreateLayerBox( NULL );
|
||||
|
||||
g_MaxLinksShowed = m_MaxShowLinks->GetValue();
|
||||
Drc_On = m_DrcOn->GetValue();
|
||||
if ( g_Show_Ratsnest != m_ShowGlobalRatsnest->GetValue() )
|
||||
if( g_Show_Ratsnest != m_ShowGlobalRatsnest->GetValue() )
|
||||
{
|
||||
g_Show_Ratsnest = m_ShowGlobalRatsnest->GetValue();
|
||||
m_Parent->Ratsnest_On_Off(m_DC);
|
||||
m_Parent->Ratsnest_On_Off( m_DC );
|
||||
}
|
||||
g_Show_Module_Ratsnest = m_ShowModuleRatsnest->GetValue();
|
||||
g_AutoDeleteOldTrack = m_TrackAutodel->GetValue();
|
||||
g_AutoDeleteOldTrack = m_TrackAutodel->GetValue();
|
||||
Segments_45_Only = m_Segments_45_Only_Ctrl->GetValue();
|
||||
Track_45_Only = m_Track_45_Only_Ctrl->GetValue();
|
||||
Track_45_Only = m_Track_45_Only_Ctrl->GetValue();
|
||||
m_Parent->DrawPanel->m_AutoPAN_Enable = m_AutoPANOpt->GetValue();
|
||||
g_TwoSegmentTrackBuild = m_Track_DoubleSegm_Ctrl->GetValue();
|
||||
|
||||
EndModal(1);
|
||||
EndModal( 1 );
|
||||
}
|
||||
|
||||
|
||||
enum id_optpcb
|
||||
{
|
||||
enum id_optpcb {
|
||||
ID_ACCEPT_OPT = 1000,
|
||||
ID_CANCEL_OPT
|
||||
};
|
||||
|
@ -495,42 +613,49 @@ enum id_optpcb
|
|||
#include "dialog_graphic_items_options.cpp"
|
||||
|
||||
/*****************************************************************/
|
||||
void WinEDA_PcbFrame::InstallPcbOptionsFrame(const wxPoint & pos,
|
||||
wxDC * DC, int id)
|
||||
void WinEDA_PcbFrame::InstallPcbOptionsFrame( const wxPoint& pos,
|
||||
wxDC* DC, int id )
|
||||
/*****************************************************************/
|
||||
{
|
||||
|
||||
switch ( id )
|
||||
switch( id )
|
||||
{
|
||||
case ID_PCB_TRACK_SIZE_SETUP:
|
||||
{
|
||||
WinEDA_PcbTracksDialog * OptionsFrame =
|
||||
new WinEDA_PcbTracksDialog(this);
|
||||
OptionsFrame->ShowModal(); OptionsFrame->Destroy();
|
||||
WinEDA_PcbTracksDialog* OptionsFrame =
|
||||
new WinEDA_PcbTracksDialog( this );
|
||||
|
||||
OptionsFrame->ShowModal();
|
||||
OptionsFrame->Destroy();
|
||||
}
|
||||
break;
|
||||
|
||||
case ID_PCB_DRAWINGS_WIDTHS_SETUP:
|
||||
{
|
||||
WinEDA_GraphicItemsOptionsDialog * OptionsFrame =
|
||||
new WinEDA_GraphicItemsOptionsDialog(this);
|
||||
OptionsFrame->ShowModal(); OptionsFrame->Destroy();
|
||||
WinEDA_GraphicItemsOptionsDialog* OptionsFrame =
|
||||
new WinEDA_GraphicItemsOptionsDialog( this );
|
||||
|
||||
OptionsFrame->ShowModal();
|
||||
OptionsFrame->Destroy();
|
||||
}
|
||||
break;
|
||||
|
||||
case ID_PCB_LOOK_SETUP:
|
||||
{
|
||||
WinEDA_DisplayOptionsDialog * OptionsFrame =
|
||||
new WinEDA_DisplayOptionsDialog(this);
|
||||
OptionsFrame->ShowModal(); OptionsFrame->Destroy();
|
||||
WinEDA_DisplayOptionsDialog* OptionsFrame =
|
||||
new WinEDA_DisplayOptionsDialog( this );
|
||||
|
||||
OptionsFrame->ShowModal();
|
||||
OptionsFrame->Destroy();
|
||||
}
|
||||
break;
|
||||
|
||||
case ID_OPTIONS_SETUP:
|
||||
{
|
||||
WinEDA_PcbGeneralOptionsFrame * OptionsFrame =
|
||||
new WinEDA_PcbGeneralOptionsFrame(this, DC);
|
||||
OptionsFrame->ShowModal(); OptionsFrame->Destroy();
|
||||
WinEDA_PcbGeneralOptionsFrame* OptionsFrame =
|
||||
new WinEDA_PcbGeneralOptionsFrame( this, DC );
|
||||
|
||||
OptionsFrame->ShowModal();
|
||||
OptionsFrame->Destroy();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -538,10 +663,10 @@ void WinEDA_PcbFrame::InstallPcbOptionsFrame(const wxPoint & pos,
|
|||
|
||||
|
||||
/*******************************************************************/
|
||||
void WinEDA_ModuleEditFrame::InstallOptionsFrame(const wxPoint & pos)
|
||||
void WinEDA_ModuleEditFrame::InstallOptionsFrame( const wxPoint& pos )
|
||||
/*******************************************************************/
|
||||
{
|
||||
WinEDA_GraphicItemsOptionsDialog OptionsFrame (this);
|
||||
WinEDA_GraphicItemsOptionsDialog OptionsFrame( this );
|
||||
|
||||
OptionsFrame.ShowModal();
|
||||
}
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ static void Show_MoveTexte_Module( WinEDA_DrawPanel* panel, wxDC* DC, bool erase
|
|||
static void ExitTextModule( WinEDA_DrawPanel* Panel, wxDC* DC );
|
||||
|
||||
/* local variables */
|
||||
wxPoint MoveVector; // Move vector for move edge, exported to dialog_edit mod_text.cpp
|
||||
wxPoint MoveVector; // Move vector for move edge, exported to dialog_edit mod_text.cpp
|
||||
static wxPoint CursorInitialPosition; // Mouse cursor inital position for move command
|
||||
|
||||
|
||||
|
@ -74,14 +74,15 @@ void WinEDA_BasePcbFrame::RotateTextModule( TEXTE_MODULE* Text, wxDC* DC )
|
|||
|
||||
MODULE* module = (MODULE*) Text->m_Parent;
|
||||
|
||||
Text->Draw( DrawPanel, DC, GR_XOR );
|
||||
// we expect MoveVector to be (0,0) if there is no move in progress
|
||||
Text->Draw( DrawPanel, DC, GR_XOR, MoveVector );
|
||||
|
||||
Text->m_Orient += 900;
|
||||
while( Text->m_Orient >= 1800 )
|
||||
Text->m_Orient -= 1800;
|
||||
|
||||
/* Redessin du Texte */
|
||||
Text->Draw( DrawPanel, DC, GR_XOR );
|
||||
Text->Draw( DrawPanel, DC, GR_XOR, MoveVector );
|
||||
|
||||
Text->Display_Infos( this );
|
||||
|
||||
|
@ -107,10 +108,11 @@ void WinEDA_BasePcbFrame::DeleteTextModule( TEXTE_MODULE* Text, wxDC* DC )
|
|||
|
||||
if( Text->m_Type == TEXT_is_DIVERS )
|
||||
{
|
||||
Text->Draw( DrawPanel, DC, GR_XOR );
|
||||
// Text->Draw( DrawPanel, DC, GR_XOR );
|
||||
DrawPanel->PostDirtyRect( Text->GetBoundingBox() );
|
||||
|
||||
/* liberation de la memoire : */
|
||||
Text ->DeleteStructure();
|
||||
Text->DeleteStructure();
|
||||
GetScreen()->SetModify();
|
||||
Module->m_LastEdit_Time = time( NULL );
|
||||
}
|
||||
|
@ -137,10 +139,15 @@ static void ExitTextModule( WinEDA_DrawPanel* Panel, wxDC* DC )
|
|||
return;
|
||||
|
||||
Module = (MODULE*) Text->m_Parent;
|
||||
|
||||
Text->Draw( Panel, DC, GR_XOR, MoveVector );
|
||||
|
||||
/* Redessin du Texte */
|
||||
Text->Draw( Panel, DC, GR_OR );
|
||||
// Text->Draw( Panel, DC, GR_OR );
|
||||
Panel->PostDirtyRect( Text->GetBoundingBox() );
|
||||
|
||||
// leave it at (0,0) so we can use it Rotate when not moving.
|
||||
MoveVector.x = MoveVector.y = 0;
|
||||
|
||||
Text->m_Flags = 0;
|
||||
Module->m_Flags = 0;
|
||||
|
@ -167,6 +174,7 @@ void WinEDA_BasePcbFrame::StartMoveTexteModule( TEXTE_MODULE* Text, wxDC* DC )
|
|||
Module->m_Flags |= IN_EDIT;
|
||||
|
||||
MoveVector.x = MoveVector.y = 0;
|
||||
|
||||
CursorInitialPosition = Text->m_Pos;
|
||||
|
||||
Text->Display_Infos( this );
|
||||
|
@ -189,6 +197,8 @@ void WinEDA_BasePcbFrame::PlaceTexteModule( TEXTE_MODULE* Text, wxDC* DC )
|
|||
{
|
||||
if( Text != NULL )
|
||||
{
|
||||
DrawPanel->PostDirtyRect( Text->GetBoundingBox() );
|
||||
|
||||
Text->m_Pos = GetScreen()->m_Curseur;
|
||||
/* mise a jour des coordonnées relatives a l'ancre */
|
||||
MODULE* Module = (MODULE*) Text->m_Parent;
|
||||
|
@ -205,10 +215,14 @@ void WinEDA_BasePcbFrame::PlaceTexteModule( TEXTE_MODULE* Text, wxDC* DC )
|
|||
GetScreen()->SetModify();
|
||||
|
||||
/* Redessin du Texte */
|
||||
Text->Draw( DrawPanel, DC, GR_OR );
|
||||
//Text->Draw( DrawPanel, DC, GR_OR );
|
||||
DrawPanel->PostDirtyRect( Text->GetBoundingBox() );
|
||||
}
|
||||
}
|
||||
|
||||
// leave it at (0,0) so we can use it Rotate when not moving.
|
||||
MoveVector.x = MoveVector.y = 0;
|
||||
|
||||
DrawPanel->ManageCurseur = NULL;
|
||||
DrawPanel->ForceCloseManageCurseur = NULL;
|
||||
}
|
||||
|
|
|
@ -34,42 +34,40 @@ void WinEDA_PcbFrame::Files_io( wxCommandEvent& event )
|
|||
{
|
||||
case ID_MENU_LOAD_FILE:
|
||||
case ID_LOAD_FILE:
|
||||
Clear_Pcb(TRUE );
|
||||
LoadOnePcbFile( wxEmptyString,FALSE );
|
||||
LoadOnePcbFile( wxEmptyString, false );
|
||||
ReCreateAuxiliaryToolbar();
|
||||
break;
|
||||
|
||||
case ID_MENU_READ_LAST_SAVED_VERSION_BOARD:
|
||||
case ID_MENU_RECOVER_BOARD:
|
||||
{
|
||||
wxString filename, oldfilename = GetScreen()->m_FileName;
|
||||
if( id == ID_MENU_RECOVER_BOARD )
|
||||
{
|
||||
filename = g_SaveFileName + PcbExtBuffer;
|
||||
}
|
||||
else
|
||||
{
|
||||
filename = oldfilename;
|
||||
ChangeFileNameExt( filename, wxT( ".000" ) );
|
||||
}
|
||||
if( !wxFileExists( filename ) )
|
||||
{
|
||||
msg = _( "Recovery file " ) + filename + _( " not found" );
|
||||
DisplayInfo( this, msg );
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
msg = _( "Ok to load Recovery file " ) + filename;
|
||||
if( !IsOK( this, msg ) )
|
||||
wxString filename, oldfilename = GetScreen()->m_FileName;
|
||||
if( id == ID_MENU_RECOVER_BOARD )
|
||||
{
|
||||
filename = g_SaveFileName + PcbExtBuffer;
|
||||
}
|
||||
else
|
||||
{
|
||||
filename = oldfilename;
|
||||
ChangeFileNameExt( filename, wxT( ".000" ) );
|
||||
}
|
||||
if( !wxFileExists( filename ) )
|
||||
{
|
||||
msg = _( "Recovery file " ) + filename + _( " not found" );
|
||||
DisplayInfo( this, msg );
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
msg = _( "Ok to load Recovery file " ) + filename;
|
||||
if( !IsOK( this, msg ) )
|
||||
break;
|
||||
}
|
||||
LoadOnePcbFile( filename, false );
|
||||
GetScreen()->m_FileName = oldfilename;
|
||||
SetTitle( GetScreen()->m_FileName );
|
||||
ReCreateAuxiliaryToolbar();
|
||||
}
|
||||
Clear_Pcb( TRUE );
|
||||
LoadOnePcbFile( filename, FALSE );
|
||||
GetScreen()->m_FileName = oldfilename;
|
||||
SetTitle( GetScreen()->m_FileName );
|
||||
ReCreateAuxiliaryToolbar();
|
||||
}
|
||||
break;
|
||||
|
||||
case ID_MENU_APPEND_FILE:
|
||||
|
@ -95,7 +93,6 @@ void WinEDA_PcbFrame::Files_io( wxCommandEvent& event )
|
|||
case ID_LOAD_FILE_8:
|
||||
case ID_LOAD_FILE_9:
|
||||
case ID_LOAD_FILE_10:
|
||||
Clear_Pcb(TRUE );
|
||||
wxSetWorkingDirectory( wxPathOnly( GetLastProject( id - ID_LOAD_FILE_1 ) ) );
|
||||
LoadOnePcbFile( GetLastProject( id - ID_LOAD_FILE_1 ).GetData(),
|
||||
false );
|
||||
|
@ -153,10 +150,12 @@ int WinEDA_PcbFrame::LoadOnePcbFile( const wxString& FullFileName, bool Append )
|
|||
m_Pcb->m_Status_Pcb = 0;
|
||||
}
|
||||
|
||||
wxString fileName;
|
||||
|
||||
if( FullFileName == wxEmptyString )
|
||||
{
|
||||
msg = wxT( "*" ) + PcbExtBuffer;
|
||||
wxString FileName =
|
||||
fileName =
|
||||
EDA_FileSelector( _( "Load board files:" ),
|
||||
wxEmptyString, /* Chemin par defaut */
|
||||
GetScreen()->m_FileName, /* nom fichier par defaut */
|
||||
|
@ -166,15 +165,20 @@ int WinEDA_PcbFrame::LoadOnePcbFile( const wxString& FullFileName, bool Append )
|
|||
wxFD_OPEN,
|
||||
FALSE
|
||||
);
|
||||
if( FileName == wxEmptyString )
|
||||
|
||||
if( fileName == wxEmptyString )
|
||||
return FALSE;
|
||||
GetScreen()->m_FileName = FileName;
|
||||
}
|
||||
else
|
||||
GetScreen()->m_FileName = FullFileName;
|
||||
fileName = FullFileName;
|
||||
|
||||
if( !Append )
|
||||
Clear_Pcb( false ); // pass false since we prompted above for a modified board
|
||||
|
||||
GetScreen()->m_FileName = fileName;
|
||||
|
||||
/* Start read PCB file
|
||||
*/
|
||||
*/
|
||||
|
||||
source = wxFopen( GetScreen()->m_FileName, wxT( "rt" ) );
|
||||
if( source == NULL )
|
||||
|
@ -202,7 +206,7 @@ int WinEDA_PcbFrame::LoadOnePcbFile( const wxString& FullFileName, bool Append )
|
|||
}
|
||||
else if ( ver < g_CurrentVersionPCB )
|
||||
{
|
||||
DisplayInfo( this, _( "This file was created by an older version of EESchema. It will be stored in the new file format when you save this file again."));
|
||||
DisplayInfo( this, _( "This file was created by an older version of PCBnew. It will be stored in the new file format when you save this file again."));
|
||||
}
|
||||
|
||||
SetTitle( GetScreen()->m_FileName );
|
||||
|
@ -242,7 +246,7 @@ int WinEDA_PcbFrame::LoadOnePcbFile( const wxString& FullFileName, bool Append )
|
|||
m_Pcb->Display_Infos( this );
|
||||
DrawPanel->Refresh( true);
|
||||
|
||||
/* reset the auto save timer */
|
||||
/* reset the auto save timer */
|
||||
g_SaveTime = time( NULL );
|
||||
|
||||
|
||||
|
@ -312,8 +316,8 @@ bool WinEDA_PcbFrame::SavePcbFile( const wxString& FileName )
|
|||
ChangeFileNameExt( BackupFileName, wxT( ".000" ) );
|
||||
|
||||
/* If an old backup file exists, delete it.
|
||||
if an old board file existes, rename it to the backup file name
|
||||
*/
|
||||
if an old board file existes, rename it to the backup file name
|
||||
*/
|
||||
if( wxFileExists( FullFileName ) )
|
||||
{
|
||||
/* rename the "old" file" from xxx.brd to xxx.000 */
|
||||
|
|
|
@ -139,6 +139,7 @@ bool WinEDA_BasePcbFrame::Clear_Pcb( bool query )
|
|||
|
||||
/* init pointeurs et variables */
|
||||
GetScreen()->m_FileName.Empty();
|
||||
|
||||
memset( buf_work, 0, BUFMEMSIZE );
|
||||
adr_lowmem = adr_max = buf_work;
|
||||
|
||||
|
|
|
@ -369,7 +369,6 @@ bool WinEDA_PcbFrame::OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu )
|
|||
switch( m_ID_current_state )
|
||||
{
|
||||
case ID_PCB_ZONES_BUTT:
|
||||
{
|
||||
if( m_Pcb->m_ZoneDescriptorList.size() > 0 )
|
||||
{
|
||||
ADD_MENUITEM( aPopMenu, ID_POPUP_PCB_FILL_ALL_ZONES,
|
||||
|
@ -380,11 +379,9 @@ bool WinEDA_PcbFrame::OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu )
|
|||
ADD_MENUITEM( aPopMenu, ID_POPUP_PCB_SELECT_LAYER,
|
||||
_( "Select Working Layer" ), Select_W_Layer_xpm );
|
||||
aPopMenu->AppendSeparator();
|
||||
}
|
||||
break;
|
||||
|
||||
case ID_TRACK_BUTT:
|
||||
{
|
||||
ADD_MENUITEM_WITH_SUBMENU( aPopMenu, Append_Track_Width_List(),
|
||||
ID_POPUP_PCB_SELECT_WIDTH,
|
||||
_( "Select Track Width" ), width_track_xpm );
|
||||
|
@ -393,7 +390,6 @@ bool WinEDA_PcbFrame::OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu )
|
|||
ADD_MENUITEM( aPopMenu, ID_POPUP_PCB_SELECT_LAYER_PAIR,
|
||||
_( "Select layer pair for vias" ), select_layer_pair_xpm );
|
||||
aPopMenu->AppendSeparator();
|
||||
}
|
||||
break;
|
||||
|
||||
case ID_PCB_CIRCLE_BUTT:
|
||||
|
|
|
@ -205,7 +205,8 @@ void WinEDA_PcbFrame::ReCreateHToolbar()
|
|||
wxString msg;
|
||||
|
||||
if( m_HToolBar != NULL )
|
||||
{ // simple mise a jour de la liste des fichiers anciens
|
||||
{
|
||||
// simple mise a jour de la liste des fichiers anciens
|
||||
wxMenuItem* item;
|
||||
for( ii = 9; ii >=0; ii-- )
|
||||
{
|
||||
|
@ -307,12 +308,12 @@ void WinEDA_PcbFrame::ReCreateHToolbar()
|
|||
m_HToolBar->AddTool( ID_TOOLBARH_PCB_AUTOROUTE, wxEmptyString, BITMAP( mode_track_xpm ),
|
||||
_( "Mode Track and Autorouting" ), wxITEM_CHECK );
|
||||
|
||||
// Fast call to FreeROUTE Web Bases router
|
||||
// Fast call to FreeROUTE Web Bases router
|
||||
m_HToolBar->AddSeparator();
|
||||
m_HToolBar->AddTool( ID_TOOLBARH_PCB_FREEROUTE_ACCESS, wxEmptyString, BITMAP( web_support_xpm ),
|
||||
_( "Fast access to theWeb Based FreeROUTE advanced routed" ));
|
||||
|
||||
// after adding the buttons to the toolbar, must call Realize() to reflect
|
||||
|
||||
// after adding the buttons to the toolbar, must call Realize() to reflect
|
||||
// the changes
|
||||
|
||||
m_HToolBar->Realize();
|
||||
|
@ -630,10 +631,7 @@ WinEDAChoiceBox* WinEDA_PcbFrame::ReCreateLayerBox( WinEDA_Toolbar* parent )
|
|||
/**************************************************************************/
|
||||
{
|
||||
int ii, jj, ll;
|
||||
unsigned lenght = 0;
|
||||
bool rebuild = FALSE;
|
||||
long current_mask_layer;
|
||||
|
||||
unsigned length = 0;
|
||||
if( m_SelLayerBox == NULL )
|
||||
{
|
||||
if( parent == NULL )
|
||||
|
@ -655,27 +653,39 @@ WinEDAChoiceBox* WinEDA_PcbFrame::ReCreateLayerBox( WinEDA_Toolbar* parent )
|
|||
parent->AddControl( m_SelLayerBox );
|
||||
}
|
||||
|
||||
// Test si reconstruction de la liste necessaire
|
||||
current_mask_layer = 0;
|
||||
int Masque_Layer = g_TabAllCopperLayerMask[g_DesignSettings.m_CopperLayerCount - 1];
|
||||
Masque_Layer |= ALL_NO_CU_LAYERS;
|
||||
|
||||
int layer_mask = g_TabAllCopperLayerMask[g_DesignSettings.m_CopperLayerCount - 1];
|
||||
|
||||
layer_mask |= ALL_NO_CU_LAYERS;
|
||||
|
||||
|
||||
// This is commented out because testing the number of layer is no longer
|
||||
// sufficient since the layer names may also have changed. And the time
|
||||
// required to test layer names is probably longer than the time required
|
||||
// to simply reconstruct the list.
|
||||
#if 0
|
||||
|
||||
// Test if reconstruction of the list is necessary
|
||||
int current_layer_mask = 0;
|
||||
for( ii = 0; ii < (int) m_SelLayerBox->GetCount(); ii++ )
|
||||
{
|
||||
jj = (int) ( (size_t) m_SelLayerBox->GetClientData( ii ) );
|
||||
current_mask_layer |= g_TabOneLayerMask[jj];
|
||||
}
|
||||
|
||||
if( current_mask_layer != Masque_Layer )
|
||||
bool rebuild = FALSE;
|
||||
if( current_layer_mask != layer_mask )
|
||||
rebuild = TRUE;
|
||||
|
||||
// Construction de la liste
|
||||
if( rebuild )
|
||||
#endif
|
||||
{
|
||||
m_SelLayerBox->Clear();
|
||||
for( ii = 0, jj = 0; ii <= EDGE_N; ii++ )
|
||||
{
|
||||
// List to append hotkeys in layer box selection
|
||||
static int HK_SwitchLayer[EDGE_N + 1] = {
|
||||
static const int HK_SwitchLayer[EDGE_N + 1] = {
|
||||
HK_SWITCH_LAYER_TO_COPPER,
|
||||
HK_SWITCH_LAYER_TO_INNER1,
|
||||
HK_SWITCH_LAYER_TO_INNER2,
|
||||
|
@ -694,20 +704,20 @@ WinEDAChoiceBox* WinEDA_PcbFrame::ReCreateLayerBox( WinEDA_Toolbar* parent )
|
|||
HK_SWITCH_LAYER_TO_COMPONENT
|
||||
};
|
||||
|
||||
if( (g_TabOneLayerMask[ii] & Masque_Layer) )
|
||||
if( (g_TabOneLayerMask[ii] & layer_mask) )
|
||||
{
|
||||
wxString msg = m_Pcb->GetLayerName( ii );
|
||||
msg = AddHotkeyName( msg, s_Board_Editor_Hokeys_Descr, HK_SwitchLayer[ii] );
|
||||
m_SelLayerBox->Append( msg );
|
||||
m_SelLayerBox->SetClientData( jj, (void*) ii );
|
||||
lenght = max( lenght, msg.Len() );
|
||||
length = MAX( length, msg.Len() );
|
||||
jj++;
|
||||
}
|
||||
}
|
||||
|
||||
// Test me:
|
||||
// int lchar = m_SelLayerBox->GetFont().GetPointSize();
|
||||
// m_SelLayerBox->SetSize(wxSize(lenght * lchar,-1));
|
||||
// m_SelLayerBox->SetSize(wxSize(length * lchar,-1));
|
||||
|
||||
m_SelLayerBox->SetToolTip( _( "+/- to switch" ) );
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue