mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-04-21 00:21:25 +00:00
ADDED: user layer types.
This allows a user to define user layers to be front or back (and therefore to flip with the board view). Fixes https://gitlab.com/kicad/code/kicad/-/issues/8455
This commit is contained in:
parent
7f6ab7043b
commit
aa5a370b3a
include
pcbnew
board.cppboard.hboard_item.cpppcb_painter.cpppcb_shape.cpppcb_table.cpppcb_target.cpppcb_text.cpppcb_textbox.cpppcb_track.cppzone.cpp
dialogs
panel_setup_layers.cpppanel_setup_layers.hpanel_setup_layers_base.cpppanel_setup_layers_base.fbppanel_setup_layers_base.h
footprint.cpppcb_dimension.cpppcb_generator.cpppcb_io
fabmaster
kicad_sexpr
pcad
@ -261,6 +261,8 @@ public:
|
||||
// Derived classes which support multiple layers must implement this
|
||||
}
|
||||
|
||||
bool IsSideSpecific() const;
|
||||
|
||||
/**
|
||||
* Set the layer this item is on.
|
||||
*
|
||||
|
@ -99,6 +99,8 @@ BOARD::BOARD() :
|
||||
|
||||
if( IsCopperLayer( layer ) )
|
||||
m_layers[layer].m_type = LT_SIGNAL;
|
||||
else if( layer >= User_1 && layer <= User_9 )
|
||||
m_layers[layer].m_type = LT_AUX;
|
||||
else
|
||||
m_layers[layer].m_type = LT_UNDEFINED;
|
||||
}
|
||||
@ -600,21 +602,20 @@ bool BOARD::SetLayerName( PCB_LAYER_ID aLayer, const wxString& aLayerName )
|
||||
|
||||
LAYER_T BOARD::GetLayerType( PCB_LAYER_ID aLayer ) const
|
||||
{
|
||||
if( !IsCopperLayer( aLayer ) )
|
||||
return LT_SIGNAL;
|
||||
|
||||
if( IsLayerEnabled( aLayer ) )
|
||||
return m_layers[aLayer].m_type;
|
||||
|
||||
return LT_SIGNAL;
|
||||
if( aLayer >= User_1 && aLayer <= User_9 )
|
||||
return LT_AUX;
|
||||
else if( IsCopperLayer( aLayer ) )
|
||||
return LT_SIGNAL;
|
||||
else
|
||||
return LT_UNDEFINED;
|
||||
}
|
||||
|
||||
|
||||
bool BOARD::SetLayerType( PCB_LAYER_ID aLayer, LAYER_T aLayerType )
|
||||
{
|
||||
if( !IsCopperLayer( aLayer ) )
|
||||
return false;
|
||||
|
||||
if( IsLayerEnabled( aLayer ) )
|
||||
{
|
||||
m_layers[aLayer].m_type = aLayerType;
|
||||
@ -634,22 +635,56 @@ const char* LAYER::ShowType( LAYER_T aType )
|
||||
case LT_POWER: return "power";
|
||||
case LT_MIXED: return "mixed";
|
||||
case LT_JUMPER: return "jumper";
|
||||
case LT_AUX: return "auxillary";
|
||||
case LT_FRONT: return "front";
|
||||
case LT_BACK: return "back";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
LAYER_T LAYER::ParseType( const char* aType )
|
||||
{
|
||||
if( strcmp( aType, "signal" ) == 0 )
|
||||
return LT_SIGNAL;
|
||||
else if( strcmp( aType, "power" ) == 0 )
|
||||
return LT_POWER;
|
||||
else if( strcmp( aType, "mixed" ) == 0 )
|
||||
return LT_MIXED;
|
||||
else if( strcmp( aType, "jumper" ) == 0 )
|
||||
return LT_JUMPER;
|
||||
else
|
||||
return LT_UNDEFINED;
|
||||
if( strcmp( aType, "signal" ) == 0 ) return LT_SIGNAL;
|
||||
else if( strcmp( aType, "power" ) == 0 ) return LT_POWER;
|
||||
else if( strcmp( aType, "mixed" ) == 0 ) return LT_MIXED;
|
||||
else if( strcmp( aType, "jumper" ) == 0 ) return LT_JUMPER;
|
||||
else if( strcmp( aType, "auxillary" ) == 0 ) return LT_AUX;
|
||||
else if( strcmp( aType, "front" ) == 0 ) return LT_FRONT;
|
||||
else if( strcmp( aType, "back" ) == 0 ) return LT_BACK;
|
||||
else return LT_UNDEFINED;
|
||||
}
|
||||
|
||||
|
||||
PCB_LAYER_ID BOARD::FlipLayer( PCB_LAYER_ID aLayer ) const
|
||||
{
|
||||
LAYER_T layerType = m_layers[aLayer].m_type;
|
||||
|
||||
if( aLayer >= User_1 && aLayer <= User_9 && ( layerType == LT_FRONT || layerType == LT_BACK ) )
|
||||
{
|
||||
LAYER_T opposite = layerType == LT_FRONT ? LT_BACK : LT_FRONT;
|
||||
|
||||
// See if there is a similarly-named layer
|
||||
wxString principalName = m_layers[aLayer].m_userName.AfterFirst( '.' );
|
||||
|
||||
for( int ii = User_1; ii <= User_9; ++ii )
|
||||
{
|
||||
if( ii == aLayer || m_layers[ii].m_type != opposite )
|
||||
continue;
|
||||
|
||||
wxString candidate = m_layers[ii].m_userName.AfterFirst( '.' );
|
||||
|
||||
if( candidate == principalName )
|
||||
return ToLAYER_ID( ii );
|
||||
}
|
||||
|
||||
// If not, see if there are consecutive front/back pairs
|
||||
if( layerType == LT_FRONT && aLayer < User_9 && m_layers[aLayer+1].m_type == opposite )
|
||||
return ToLAYER_ID( aLayer+1 );
|
||||
else if( layerType == LT_BACK && aLayer > User_1 && m_layers[aLayer-1].m_type == opposite )
|
||||
return ToLAYER_ID( aLayer-1 );
|
||||
}
|
||||
|
||||
return ::FlipLayer( aLayer, GetCopperLayerCount() );
|
||||
}
|
||||
|
||||
|
||||
|
@ -152,7 +152,10 @@ enum LAYER_T
|
||||
LT_SIGNAL,
|
||||
LT_POWER,
|
||||
LT_MIXED,
|
||||
LT_JUMPER
|
||||
LT_JUMPER,
|
||||
LT_AUX,
|
||||
LT_FRONT,
|
||||
LT_BACK
|
||||
};
|
||||
|
||||
|
||||
@ -555,6 +558,8 @@ public:
|
||||
int GetCopperLayerCount() const;
|
||||
void SetCopperLayerCount( int aCount );
|
||||
|
||||
PCB_LAYER_ID FlipLayer( PCB_LAYER_ID aLayer ) const;
|
||||
|
||||
int LayerDepth( PCB_LAYER_ID aStartLayer, PCB_LAYER_ID aEndLayer ) const;
|
||||
|
||||
/**
|
||||
|
@ -102,9 +102,7 @@ const KIFONT::METRICS& BOARD_ITEM::GetFontMetrics() const
|
||||
|
||||
wxString BOARD_ITEM::GetLayerName() const
|
||||
{
|
||||
const BOARD* board = GetBoard();
|
||||
|
||||
if( board )
|
||||
if( const BOARD* board = GetBoard() )
|
||||
return board->GetLayerName( m_layer );
|
||||
|
||||
// If no parent, return standard name
|
||||
@ -112,6 +110,23 @@ wxString BOARD_ITEM::GetLayerName() const
|
||||
}
|
||||
|
||||
|
||||
bool BOARD_ITEM::IsSideSpecific() const
|
||||
{
|
||||
if( ( GetLayerSet() & LSET::SideSpecificMask() ).any() )
|
||||
return true;
|
||||
|
||||
if( const BOARD* board = GetBoard() )
|
||||
{
|
||||
LAYER_T principalLayerType = board->GetLayerType( m_layer );
|
||||
|
||||
if( principalLayerType == LT_FRONT || principalLayerType == LT_BACK )
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
wxString BOARD_ITEM::layerMaskDescribe() const
|
||||
{
|
||||
const BOARD* board = GetBoard();
|
||||
|
@ -140,6 +140,7 @@ PANEL_SETUP_LAYERS_CTLs PANEL_SETUP_LAYERS::getCTLs( int aLayerNumber )
|
||||
#define RETURN_COPPER( x ) return PANEL_SETUP_LAYERS_CTLs( x##Name, x##CheckBox, x##Choice )
|
||||
#define RETURN_AUX( x ) return PANEL_SETUP_LAYERS_CTLs( x##Name, x##CheckBox, x##StaticText )
|
||||
#define RETURN_MANDATORY( x ) return PANEL_SETUP_LAYERS_CTLs( x##Name, nullptr, x##StaticText )
|
||||
#define RETURN_USER( x ) return PANEL_SETUP_LAYERS_CTLs( x##Name, x##CheckBox, x##Type )
|
||||
|
||||
switch( aLayerNumber )
|
||||
{
|
||||
@ -198,15 +199,15 @@ PANEL_SETUP_LAYERS_CTLs PANEL_SETUP_LAYERS::getCTLs( int aLayerNumber )
|
||||
case Cmts_User: RETURN_AUX( m_Comments );
|
||||
case Dwgs_User: RETURN_AUX( m_Drawings );
|
||||
|
||||
case User_1: RETURN_AUX( m_User1 );
|
||||
case User_2: RETURN_AUX( m_User2 );
|
||||
case User_3: RETURN_AUX( m_User3 );
|
||||
case User_4: RETURN_AUX( m_User4 );
|
||||
case User_5: RETURN_AUX( m_User5 );
|
||||
case User_6: RETURN_AUX( m_User6 );
|
||||
case User_7: RETURN_AUX( m_User7 );
|
||||
case User_8: RETURN_AUX( m_User8 );
|
||||
case User_9: RETURN_AUX( m_User9 );
|
||||
case User_1: RETURN_USER( m_User1 );
|
||||
case User_2: RETURN_USER( m_User2 );
|
||||
case User_3: RETURN_USER( m_User3 );
|
||||
case User_4: RETURN_USER( m_User4 );
|
||||
case User_5: RETURN_USER( m_User5 );
|
||||
case User_6: RETURN_USER( m_User6 );
|
||||
case User_7: RETURN_USER( m_User7 );
|
||||
case User_8: RETURN_USER( m_User8 );
|
||||
case User_9: RETURN_USER( m_User9 );
|
||||
|
||||
default:
|
||||
wxASSERT_MSG( 0, wxT( "bad layer id" ) );
|
||||
@ -335,12 +336,21 @@ void PANEL_SETUP_LAYERS::showSelectedLayerCheckBoxes( LSET enabledLayers )
|
||||
|
||||
void PANEL_SETUP_LAYERS::showLayerTypes()
|
||||
{
|
||||
for( LSEQ seq = LSET::AllCuMask().Seq(); seq; ++seq )
|
||||
for( PCB_LAYER_ID cu_layer : LSET::AllCuMask().Seq() )
|
||||
{
|
||||
PCB_LAYER_ID cu_layer = *seq;
|
||||
|
||||
wxChoice* ctl = getChoice( cu_layer );
|
||||
ctl->SetSelection( m_pcb->GetLayerType( cu_layer ) );
|
||||
ctl->SetStringSelection( LAYER::ShowType( m_pcb->GetLayerType( cu_layer ) ) );
|
||||
}
|
||||
|
||||
for( int ii = User_1; ii <= User_9; ++ii )
|
||||
{
|
||||
switch( m_pcb->GetLayerType( ToLAYER_ID( ii ) ) )
|
||||
{
|
||||
case LT_AUX: getChoice( ii )->SetSelection( 0 ); break;
|
||||
case LT_FRONT: getChoice( ii )->SetSelection( 1 ); break;
|
||||
case LT_BACK: getChoice( ii )->SetSelection( 2 ); break;
|
||||
default: getChoice( ii )->SetSelection( 0 ); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -586,10 +596,36 @@ bool PANEL_SETUP_LAYERS::TransferDataFromWindow()
|
||||
modified = true;
|
||||
}
|
||||
|
||||
// Only copper layers have a definable type.
|
||||
if( LSET::AllCuMask().Contains( layer ) )
|
||||
if( IsCopperLayer( layer ) )
|
||||
{
|
||||
LAYER_T t = (LAYER_T) getLayerTypeIndex( layer );
|
||||
LAYER_T t;
|
||||
|
||||
switch( getChoice( layer )->GetCurrentSelection() )
|
||||
{
|
||||
case 0: t = LT_SIGNAL; break;
|
||||
case 1: t = LT_POWER; break;
|
||||
case 2: t = LT_MIXED; break;
|
||||
case 3: t = LT_JUMPER; break;
|
||||
default: t = LT_UNDEFINED; break;
|
||||
}
|
||||
|
||||
if( m_pcb->GetLayerType( layer ) != t )
|
||||
{
|
||||
m_pcb->SetLayerType( layer, t );
|
||||
modified = true;
|
||||
}
|
||||
}
|
||||
else if( layer >= User_1 && layer <= User_9 )
|
||||
{
|
||||
LAYER_T t;
|
||||
|
||||
switch( getChoice( layer )->GetCurrentSelection() )
|
||||
{
|
||||
case 0: t = LT_AUX; break;
|
||||
case 1: t = LT_FRONT; break;
|
||||
case 2: t = LT_BACK; break;
|
||||
default: t = LT_UNDEFINED; break;
|
||||
}
|
||||
|
||||
if( m_pcb->GetLayerType( layer ) != t )
|
||||
{
|
||||
@ -624,14 +660,6 @@ bool PANEL_SETUP_LAYERS::TransferDataFromWindow()
|
||||
}
|
||||
|
||||
|
||||
int PANEL_SETUP_LAYERS::getLayerTypeIndex( int aLayer )
|
||||
{
|
||||
wxChoice* ctl = getChoice( aLayer );
|
||||
int ret = ctl->GetCurrentSelection(); // Indices must have same sequence as LAYER_T
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
wxString PANEL_SETUP_LAYERS::GetLayerName( int aLayer )
|
||||
{
|
||||
wxControl* control = getName( aLayer );
|
||||
@ -896,19 +924,24 @@ void PANEL_SETUP_LAYERS::addUserDefinedLayer( wxCommandEvent& aEvent )
|
||||
|
||||
// All user-defined layers should have a checkbox
|
||||
wxASSERT( ctl.checkbox );
|
||||
ctl.checkbox->SetValue( true );
|
||||
|
||||
wxTextCtrl* textCtrl = dynamic_cast<wxTextCtrl*>( ctl.name );
|
||||
|
||||
wxCHECK( textCtrl, /* void */ );
|
||||
textCtrl->ChangeValue( LSET::Name( *seq ) );
|
||||
|
||||
wxChoice* userLayerType = dynamic_cast<wxChoice*>( ctl.choice );
|
||||
|
||||
wxCHECK( userLayerType, /* void */ );
|
||||
userLayerType->SetSelection( 0 );
|
||||
|
||||
ctl.name->Show( true );
|
||||
ctl.checkbox->Show( true );
|
||||
ctl.choice->Show( true );
|
||||
|
||||
wxSizeEvent evt_size( m_LayersListPanel->GetSize() );
|
||||
m_LayersListPanel->GetEventHandler()->ProcessEvent( evt_size );
|
||||
|
||||
setLayerCheckBox( *seq, true );
|
||||
}
|
||||
|
||||
|
||||
|
@ -103,8 +103,6 @@ private:
|
||||
void showSelectedLayerCheckBoxes( LSET enableLayerMask );
|
||||
void showLayerTypes();
|
||||
|
||||
int getLayerTypeIndex( int layer );
|
||||
|
||||
void OnCheckBox( wxCommandEvent& event ) override;
|
||||
void DenyChangeCheckBox( wxCommandEvent& event ) override;
|
||||
bool TransferDataToWindow() override;
|
||||
|
@ -542,7 +542,7 @@ PANEL_SETUP_LAYERS_BASE::PANEL_SETUP_LAYERS_BASE( wxWindow* parent, wxWindowID i
|
||||
wxString m_In29ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") };
|
||||
int m_In29ChoiceNChoices = sizeof( m_In29ChoiceChoices ) / sizeof( wxString );
|
||||
m_In29Choice = new wxChoice( m_LayersListPanel, ID_IN29CHOICE, wxDefaultPosition, wxDefaultSize, m_In29ChoiceNChoices, m_In29ChoiceChoices, 0 );
|
||||
m_In29Choice->SetSelection( 1 );
|
||||
m_In29Choice->SetSelection( 0 );
|
||||
m_In29Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") );
|
||||
|
||||
m_LayerListFlexGridSizer->Add( m_In29Choice, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
|
||||
@ -556,7 +556,7 @@ PANEL_SETUP_LAYERS_BASE::PANEL_SETUP_LAYERS_BASE( wxWindow* parent, wxWindowID i
|
||||
wxString m_In30ChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") };
|
||||
int m_In30ChoiceNChoices = sizeof( m_In30ChoiceChoices ) / sizeof( wxString );
|
||||
m_In30Choice = new wxChoice( m_LayersListPanel, ID_IN30CHOICE, wxDefaultPosition, wxDefaultSize, m_In30ChoiceNChoices, m_In30ChoiceChoices, 0 );
|
||||
m_In30Choice->SetSelection( 3 );
|
||||
m_In30Choice->SetSelection( 0 );
|
||||
m_In30Choice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") );
|
||||
|
||||
m_LayerListFlexGridSizer->Add( m_In30Choice, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
|
||||
@ -574,7 +574,7 @@ PANEL_SETUP_LAYERS_BASE::PANEL_SETUP_LAYERS_BASE( wxWindow* parent, wxWindowID i
|
||||
wxString m_BackChoiceChoices[] = { _("signal"), _("power plane"), _("mixed"), _("jumper") };
|
||||
int m_BackChoiceNChoices = sizeof( m_BackChoiceChoices ) / sizeof( wxString );
|
||||
m_BackChoice = new wxChoice( m_LayersListPanel, ID_BACKCHOICE, wxDefaultPosition, wxDefaultSize, m_BackChoiceNChoices, m_BackChoiceChoices, 0 );
|
||||
m_BackChoice->SetSelection( 3 );
|
||||
m_BackChoice->SetSelection( 0 );
|
||||
m_BackChoice->SetToolTip( _("Copper layer type for Freerouter and other external routers.\nPower plane layers are removed from Freerouter's layer menus.") );
|
||||
|
||||
m_LayerListFlexGridSizer->Add( m_BackChoice, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
|
||||
@ -665,7 +665,7 @@ PANEL_SETUP_LAYERS_BASE::PANEL_SETUP_LAYERS_BASE( wxWindow* parent, wxWindowID i
|
||||
m_MarginName = new wxTextCtrl( m_LayersListPanel, wxID_ANY, _("Margin"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_LayerListFlexGridSizer->Add( m_MarginName, 0, wxEXPAND|wxRIGHT, 5 );
|
||||
|
||||
m_MarginStaticText = new wxStaticText( m_LayersListPanel, ID_ECO2CHOICE, _("Edge_Cuts setback"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_MarginStaticText = new wxStaticText( m_LayersListPanel, ID_ECO2CHOICE, _("Board contour setback"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_MarginStaticText->Wrap( -1 );
|
||||
m_LayerListFlexGridSizer->Add( m_MarginStaticText, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
@ -719,9 +719,13 @@ PANEL_SETUP_LAYERS_BASE::PANEL_SETUP_LAYERS_BASE( wxWindow* parent, wxWindowID i
|
||||
m_User1Name = new wxTextCtrl( m_LayersListPanel, wxID_ANY, _("User1"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_LayerListFlexGridSizer->Add( m_User1Name, 0, wxEXPAND|wxRIGHT, 5 );
|
||||
|
||||
m_User1StaticText = new wxStaticText( m_LayersListPanel, wxID_ANY, _("User defined layer"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_User1StaticText->Wrap( -1 );
|
||||
m_LayerListFlexGridSizer->Add( m_User1StaticText, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
|
||||
wxString m_User1TypeChoices[] = { _("Auxillary"), _(" Off-board, front"), _("Off-board, back") };
|
||||
int m_User1TypeNChoices = sizeof( m_User1TypeChoices ) / sizeof( wxString );
|
||||
m_User1Type = new wxChoice( m_LayersListPanel, ID_BACKCHOICE, wxDefaultPosition, wxDefaultSize, m_User1TypeNChoices, m_User1TypeChoices, 0 );
|
||||
m_User1Type->SetSelection( 0 );
|
||||
m_User1Type->SetToolTip( _("Auxillary layers do not flip with board side, while back and front layers do.") );
|
||||
|
||||
m_LayerListFlexGridSizer->Add( m_User1Type, 0, wxRIGHT|wxLEFT|wxEXPAND, 5 );
|
||||
|
||||
m_User2CheckBox = new wxCheckBox( m_LayersListPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_LayerListFlexGridSizer->Add( m_User2CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
|
||||
@ -729,9 +733,13 @@ PANEL_SETUP_LAYERS_BASE::PANEL_SETUP_LAYERS_BASE( wxWindow* parent, wxWindowID i
|
||||
m_User2Name = new wxTextCtrl( m_LayersListPanel, wxID_ANY, _("User2"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_LayerListFlexGridSizer->Add( m_User2Name, 0, wxEXPAND|wxRIGHT, 5 );
|
||||
|
||||
m_User2StaticText = new wxStaticText( m_LayersListPanel, wxID_ANY, _("User defined layer"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_User2StaticText->Wrap( -1 );
|
||||
m_LayerListFlexGridSizer->Add( m_User2StaticText, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
|
||||
wxString m_User2TypeChoices[] = { _("Auxillary"), _(" Off-board, front"), _("Off-board, back") };
|
||||
int m_User2TypeNChoices = sizeof( m_User2TypeChoices ) / sizeof( wxString );
|
||||
m_User2Type = new wxChoice( m_LayersListPanel, ID_BACKCHOICE, wxDefaultPosition, wxDefaultSize, m_User2TypeNChoices, m_User2TypeChoices, 0 );
|
||||
m_User2Type->SetSelection( 0 );
|
||||
m_User2Type->SetToolTip( _("Auxillary layers do not flip with board side, while back and front layers do.") );
|
||||
|
||||
m_LayerListFlexGridSizer->Add( m_User2Type, 0, wxRIGHT|wxLEFT|wxEXPAND, 5 );
|
||||
|
||||
m_User3CheckBox = new wxCheckBox( m_LayersListPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_LayerListFlexGridSizer->Add( m_User3CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
|
||||
@ -739,9 +747,13 @@ PANEL_SETUP_LAYERS_BASE::PANEL_SETUP_LAYERS_BASE( wxWindow* parent, wxWindowID i
|
||||
m_User3Name = new wxTextCtrl( m_LayersListPanel, wxID_ANY, _("User3"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_LayerListFlexGridSizer->Add( m_User3Name, 0, wxEXPAND|wxRIGHT, 5 );
|
||||
|
||||
m_User3StaticText = new wxStaticText( m_LayersListPanel, wxID_ANY, _("User defined layer"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_User3StaticText->Wrap( -1 );
|
||||
m_LayerListFlexGridSizer->Add( m_User3StaticText, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
|
||||
wxString m_User3TypeChoices[] = { _("Auxillary"), _(" Off-board, front"), _("Off-board, back") };
|
||||
int m_User3TypeNChoices = sizeof( m_User3TypeChoices ) / sizeof( wxString );
|
||||
m_User3Type = new wxChoice( m_LayersListPanel, ID_BACKCHOICE, wxDefaultPosition, wxDefaultSize, m_User3TypeNChoices, m_User3TypeChoices, 0 );
|
||||
m_User3Type->SetSelection( 0 );
|
||||
m_User3Type->SetToolTip( _("Auxillary layers do not flip with board side, while back and front layers do.") );
|
||||
|
||||
m_LayerListFlexGridSizer->Add( m_User3Type, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_User4CheckBox = new wxCheckBox( m_LayersListPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_LayerListFlexGridSizer->Add( m_User4CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
|
||||
@ -749,9 +761,13 @@ PANEL_SETUP_LAYERS_BASE::PANEL_SETUP_LAYERS_BASE( wxWindow* parent, wxWindowID i
|
||||
m_User4Name = new wxTextCtrl( m_LayersListPanel, wxID_ANY, _("User4"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_LayerListFlexGridSizer->Add( m_User4Name, 0, wxEXPAND|wxRIGHT, 5 );
|
||||
|
||||
m_User4StaticText = new wxStaticText( m_LayersListPanel, wxID_ANY, _("User defined layer"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_User4StaticText->Wrap( -1 );
|
||||
m_LayerListFlexGridSizer->Add( m_User4StaticText, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
|
||||
wxString m_User4TypeChoices[] = { _("Auxillary"), _(" Off-board, front"), _("Off-board, back") };
|
||||
int m_User4TypeNChoices = sizeof( m_User4TypeChoices ) / sizeof( wxString );
|
||||
m_User4Type = new wxChoice( m_LayersListPanel, ID_BACKCHOICE, wxDefaultPosition, wxDefaultSize, m_User4TypeNChoices, m_User4TypeChoices, 0 );
|
||||
m_User4Type->SetSelection( 0 );
|
||||
m_User4Type->SetToolTip( _("Auxillary layers do not flip with board side, while back and front layers do.") );
|
||||
|
||||
m_LayerListFlexGridSizer->Add( m_User4Type, 0, wxRIGHT|wxLEFT|wxEXPAND, 5 );
|
||||
|
||||
m_User5CheckBox = new wxCheckBox( m_LayersListPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_LayerListFlexGridSizer->Add( m_User5CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
|
||||
@ -759,9 +775,13 @@ PANEL_SETUP_LAYERS_BASE::PANEL_SETUP_LAYERS_BASE( wxWindow* parent, wxWindowID i
|
||||
m_User5Name = new wxTextCtrl( m_LayersListPanel, wxID_ANY, _("User5"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_LayerListFlexGridSizer->Add( m_User5Name, 0, wxEXPAND|wxRIGHT, 5 );
|
||||
|
||||
m_User5StaticText = new wxStaticText( m_LayersListPanel, wxID_ANY, _("User defined layer"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_User5StaticText->Wrap( -1 );
|
||||
m_LayerListFlexGridSizer->Add( m_User5StaticText, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
|
||||
wxString m_User5TypeChoices[] = { _("Auxillary"), _(" Off-board, front"), _("Off-board, back") };
|
||||
int m_User5TypeNChoices = sizeof( m_User5TypeChoices ) / sizeof( wxString );
|
||||
m_User5Type = new wxChoice( m_LayersListPanel, ID_BACKCHOICE, wxDefaultPosition, wxDefaultSize, m_User5TypeNChoices, m_User5TypeChoices, 0 );
|
||||
m_User5Type->SetSelection( 0 );
|
||||
m_User5Type->SetToolTip( _("Auxillary layers do not flip with board side, while back and front layers do.") );
|
||||
|
||||
m_LayerListFlexGridSizer->Add( m_User5Type, 0, wxRIGHT|wxLEFT|wxEXPAND, 5 );
|
||||
|
||||
m_User6CheckBox = new wxCheckBox( m_LayersListPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_LayerListFlexGridSizer->Add( m_User6CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
|
||||
@ -769,9 +789,13 @@ PANEL_SETUP_LAYERS_BASE::PANEL_SETUP_LAYERS_BASE( wxWindow* parent, wxWindowID i
|
||||
m_User6Name = new wxTextCtrl( m_LayersListPanel, wxID_ANY, _("User6"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_LayerListFlexGridSizer->Add( m_User6Name, 0, wxEXPAND|wxRIGHT, 5 );
|
||||
|
||||
m_User6StaticText = new wxStaticText( m_LayersListPanel, wxID_ANY, _("User defined layer"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_User6StaticText->Wrap( -1 );
|
||||
m_LayerListFlexGridSizer->Add( m_User6StaticText, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
|
||||
wxString m_User6TypeChoices[] = { _("Auxillary"), _(" Off-board, front"), _("Off-board, back") };
|
||||
int m_User6TypeNChoices = sizeof( m_User6TypeChoices ) / sizeof( wxString );
|
||||
m_User6Type = new wxChoice( m_LayersListPanel, ID_BACKCHOICE, wxDefaultPosition, wxDefaultSize, m_User6TypeNChoices, m_User6TypeChoices, 0 );
|
||||
m_User6Type->SetSelection( 0 );
|
||||
m_User6Type->SetToolTip( _("Auxillary layers do not flip with board side, while back and front layers do.") );
|
||||
|
||||
m_LayerListFlexGridSizer->Add( m_User6Type, 0, wxRIGHT|wxLEFT|wxEXPAND, 5 );
|
||||
|
||||
m_User7CheckBox = new wxCheckBox( m_LayersListPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_LayerListFlexGridSizer->Add( m_User7CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
|
||||
@ -779,9 +803,13 @@ PANEL_SETUP_LAYERS_BASE::PANEL_SETUP_LAYERS_BASE( wxWindow* parent, wxWindowID i
|
||||
m_User7Name = new wxTextCtrl( m_LayersListPanel, wxID_ANY, _("User7"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_LayerListFlexGridSizer->Add( m_User7Name, 0, wxEXPAND|wxRIGHT, 5 );
|
||||
|
||||
m_User7StaticText = new wxStaticText( m_LayersListPanel, wxID_ANY, _("User defined layer"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_User7StaticText->Wrap( -1 );
|
||||
m_LayerListFlexGridSizer->Add( m_User7StaticText, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
|
||||
wxString m_User7TypeChoices[] = { _("Auxillary"), _(" Off-board, front"), _("Off-board, back") };
|
||||
int m_User7TypeNChoices = sizeof( m_User7TypeChoices ) / sizeof( wxString );
|
||||
m_User7Type = new wxChoice( m_LayersListPanel, ID_BACKCHOICE, wxDefaultPosition, wxDefaultSize, m_User7TypeNChoices, m_User7TypeChoices, 0 );
|
||||
m_User7Type->SetSelection( 0 );
|
||||
m_User7Type->SetToolTip( _("Auxillary layers do not flip with board side, while back and front layers do.") );
|
||||
|
||||
m_LayerListFlexGridSizer->Add( m_User7Type, 0, wxRIGHT|wxLEFT|wxEXPAND, 5 );
|
||||
|
||||
m_User8CheckBox = new wxCheckBox( m_LayersListPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_LayerListFlexGridSizer->Add( m_User8CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
|
||||
@ -789,9 +817,13 @@ PANEL_SETUP_LAYERS_BASE::PANEL_SETUP_LAYERS_BASE( wxWindow* parent, wxWindowID i
|
||||
m_User8Name = new wxTextCtrl( m_LayersListPanel, wxID_ANY, _("User8"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_LayerListFlexGridSizer->Add( m_User8Name, 0, wxEXPAND|wxRIGHT, 5 );
|
||||
|
||||
m_User8StaticText = new wxStaticText( m_LayersListPanel, wxID_ANY, _("User defined layer"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_User8StaticText->Wrap( -1 );
|
||||
m_LayerListFlexGridSizer->Add( m_User8StaticText, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
|
||||
wxString m_User8TypeChoices[] = { _("Auxillary"), _(" Off-board, front"), _("Off-board, back") };
|
||||
int m_User8TypeNChoices = sizeof( m_User8TypeChoices ) / sizeof( wxString );
|
||||
m_User8Type = new wxChoice( m_LayersListPanel, ID_BACKCHOICE, wxDefaultPosition, wxDefaultSize, m_User8TypeNChoices, m_User8TypeChoices, 0 );
|
||||
m_User8Type->SetSelection( 0 );
|
||||
m_User8Type->SetToolTip( _("Auxillary layers do not flip with board side, while back and front layers do.") );
|
||||
|
||||
m_LayerListFlexGridSizer->Add( m_User8Type, 0, wxRIGHT|wxLEFT|wxEXPAND, 5 );
|
||||
|
||||
m_User9CheckBox = new wxCheckBox( m_LayersListPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_LayerListFlexGridSizer->Add( m_User9CheckBox, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
|
||||
@ -799,9 +831,13 @@ PANEL_SETUP_LAYERS_BASE::PANEL_SETUP_LAYERS_BASE( wxWindow* parent, wxWindowID i
|
||||
m_User9Name = new wxTextCtrl( m_LayersListPanel, wxID_ANY, _("User9"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_LayerListFlexGridSizer->Add( m_User9Name, 0, wxEXPAND|wxRIGHT, 5 );
|
||||
|
||||
m_User9StaticText = new wxStaticText( m_LayersListPanel, wxID_ANY, _("User defined layer"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_User9StaticText->Wrap( -1 );
|
||||
m_LayerListFlexGridSizer->Add( m_User9StaticText, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
|
||||
wxString m_User9TypeChoices[] = { _("Auxillary"), _(" Off-board, front"), _("Off-board, back") };
|
||||
int m_User9TypeNChoices = sizeof( m_User9TypeChoices ) / sizeof( wxString );
|
||||
m_User9Type = new wxChoice( m_LayersListPanel, ID_BACKCHOICE, wxDefaultPosition, wxDefaultSize, m_User9TypeNChoices, m_User9TypeChoices, 0 );
|
||||
m_User9Type->SetSelection( 0 );
|
||||
m_User9Type->SetToolTip( _("Auxillary layers do not flip with board side, while back and front layers do.") );
|
||||
|
||||
m_LayerListFlexGridSizer->Add( m_User9Type, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
|
||||
m_LayersListPanel->SetSizer( m_LayerListFlexGridSizer );
|
||||
|
@ -7288,7 +7288,7 @@
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="selection">1</property>
|
||||
<property name="selection">0</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
@ -7484,7 +7484,7 @@
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="selection">3</property>
|
||||
<property name="selection">0</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
@ -7680,7 +7680,7 @@
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="selection">3</property>
|
||||
<property name="selection">0</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
@ -9099,7 +9099,7 @@
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">ID_ECO2CHOICE</property>
|
||||
<property name="label">Edge_Cuts setback</property>
|
||||
<property name="label">Board contour setback</property>
|
||||
<property name="markup">0</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
@ -10033,9 +10033,9 @@
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT</property>
|
||||
<property name="flag">wxRIGHT|wxLEFT|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="true">
|
||||
<object class="wxChoice" expanded="true">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
@ -10049,6 +10049,7 @@
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="choices">"Auxillary" " Off-board, front" "Off-board, back"</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
@ -10063,9 +10064,7 @@
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">User defined layer</property>
|
||||
<property name="markup">0</property>
|
||||
<property name="id">ID_BACKCHOICE</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
@ -10073,7 +10072,7 @@
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_User1StaticText</property>
|
||||
<property name="name">m_User1Type</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
@ -10081,16 +10080,20 @@
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="selection">0</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="tooltip">Auxillary layers do not flip with board side, while back and front layers do.</property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
@ -10226,9 +10229,9 @@
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT</property>
|
||||
<property name="flag">wxRIGHT|wxLEFT|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="true">
|
||||
<object class="wxChoice" expanded="true">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
@ -10242,6 +10245,7 @@
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="choices">"Auxillary" " Off-board, front" "Off-board, back"</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
@ -10256,9 +10260,7 @@
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">User defined layer</property>
|
||||
<property name="markup">0</property>
|
||||
<property name="id">ID_BACKCHOICE</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
@ -10266,7 +10268,7 @@
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_User2StaticText</property>
|
||||
<property name="name">m_User2Type</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
@ -10274,16 +10276,20 @@
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="selection">0</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="tooltip">Auxillary layers do not flip with board side, while back and front layers do.</property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
@ -10419,9 +10425,9 @@
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT</property>
|
||||
<property name="flag">wxEXPAND|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="true">
|
||||
<object class="wxChoice" expanded="true">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
@ -10435,6 +10441,7 @@
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="choices">"Auxillary" " Off-board, front" "Off-board, back"</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
@ -10449,9 +10456,7 @@
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">User defined layer</property>
|
||||
<property name="markup">0</property>
|
||||
<property name="id">ID_BACKCHOICE</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
@ -10459,7 +10464,7 @@
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_User3StaticText</property>
|
||||
<property name="name">m_User3Type</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
@ -10467,16 +10472,20 @@
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="selection">0</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="tooltip">Auxillary layers do not flip with board side, while back and front layers do.</property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
@ -10612,9 +10621,9 @@
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT</property>
|
||||
<property name="flag">wxRIGHT|wxLEFT|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="true">
|
||||
<object class="wxChoice" expanded="true">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
@ -10628,6 +10637,7 @@
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="choices">"Auxillary" " Off-board, front" "Off-board, back"</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
@ -10642,9 +10652,7 @@
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">User defined layer</property>
|
||||
<property name="markup">0</property>
|
||||
<property name="id">ID_BACKCHOICE</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
@ -10652,7 +10660,7 @@
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_User4StaticText</property>
|
||||
<property name="name">m_User4Type</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
@ -10660,16 +10668,20 @@
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="selection">0</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="tooltip">Auxillary layers do not flip with board side, while back and front layers do.</property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
@ -10805,9 +10817,9 @@
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT</property>
|
||||
<property name="flag">wxRIGHT|wxLEFT|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="true">
|
||||
<object class="wxChoice" expanded="true">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
@ -10821,6 +10833,7 @@
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="choices">"Auxillary" " Off-board, front" "Off-board, back"</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
@ -10835,9 +10848,7 @@
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">User defined layer</property>
|
||||
<property name="markup">0</property>
|
||||
<property name="id">ID_BACKCHOICE</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
@ -10845,7 +10856,7 @@
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_User5StaticText</property>
|
||||
<property name="name">m_User5Type</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
@ -10853,16 +10864,20 @@
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="selection">0</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="tooltip">Auxillary layers do not flip with board side, while back and front layers do.</property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
@ -10998,9 +11013,9 @@
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT</property>
|
||||
<property name="flag">wxRIGHT|wxLEFT|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="true">
|
||||
<object class="wxChoice" expanded="true">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
@ -11014,6 +11029,7 @@
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="choices">"Auxillary" " Off-board, front" "Off-board, back"</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
@ -11028,9 +11044,7 @@
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">User defined layer</property>
|
||||
<property name="markup">0</property>
|
||||
<property name="id">ID_BACKCHOICE</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
@ -11038,7 +11052,7 @@
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_User6StaticText</property>
|
||||
<property name="name">m_User6Type</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
@ -11046,16 +11060,20 @@
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="selection">0</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="tooltip">Auxillary layers do not flip with board side, while back and front layers do.</property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
@ -11191,9 +11209,9 @@
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT</property>
|
||||
<property name="flag">wxRIGHT|wxLEFT|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="true">
|
||||
<object class="wxChoice" expanded="true">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
@ -11207,6 +11225,7 @@
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="choices">"Auxillary" " Off-board, front" "Off-board, back"</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
@ -11221,9 +11240,7 @@
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">User defined layer</property>
|
||||
<property name="markup">0</property>
|
||||
<property name="id">ID_BACKCHOICE</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
@ -11231,7 +11248,7 @@
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_User7StaticText</property>
|
||||
<property name="name">m_User7Type</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
@ -11239,16 +11256,20 @@
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="selection">0</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="tooltip">Auxillary layers do not flip with board side, while back and front layers do.</property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
@ -11384,9 +11405,9 @@
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT</property>
|
||||
<property name="flag">wxRIGHT|wxLEFT|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="true">
|
||||
<object class="wxChoice" expanded="true">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
@ -11400,6 +11421,7 @@
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="choices">"Auxillary" " Off-board, front" "Off-board, back"</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
@ -11414,9 +11436,7 @@
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">User defined layer</property>
|
||||
<property name="markup">0</property>
|
||||
<property name="id">ID_BACKCHOICE</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
@ -11424,7 +11444,7 @@
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_User8StaticText</property>
|
||||
<property name="name">m_User8Type</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
@ -11432,16 +11452,20 @@
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="selection">0</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="tooltip">Auxillary layers do not flip with board side, while back and front layers do.</property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
@ -11577,9 +11601,9 @@
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT</property>
|
||||
<property name="flag">wxEXPAND|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="true">
|
||||
<object class="wxChoice" expanded="true">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
@ -11593,6 +11617,7 @@
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="choices">"Auxillary" " Off-board, front" "Off-board, back"</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
@ -11607,9 +11632,7 @@
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">User defined layer</property>
|
||||
<property name="markup">0</property>
|
||||
<property name="id">ID_BACKCHOICE</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
@ -11617,7 +11640,7 @@
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_User9StaticText</property>
|
||||
<property name="name">m_User9Type</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
@ -11625,16 +11648,20 @@
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="selection">0</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="tooltip">Auxillary layers do not flip with board side, while back and front layers do.</property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
|
@ -319,31 +319,31 @@ class PANEL_SETUP_LAYERS_BASE : public wxPanel
|
||||
wxStaticText* m_DrawingsStaticText;
|
||||
wxCheckBox* m_User1CheckBox;
|
||||
wxTextCtrl* m_User1Name;
|
||||
wxStaticText* m_User1StaticText;
|
||||
wxChoice* m_User1Type;
|
||||
wxCheckBox* m_User2CheckBox;
|
||||
wxTextCtrl* m_User2Name;
|
||||
wxStaticText* m_User2StaticText;
|
||||
wxChoice* m_User2Type;
|
||||
wxCheckBox* m_User3CheckBox;
|
||||
wxTextCtrl* m_User3Name;
|
||||
wxStaticText* m_User3StaticText;
|
||||
wxChoice* m_User3Type;
|
||||
wxCheckBox* m_User4CheckBox;
|
||||
wxTextCtrl* m_User4Name;
|
||||
wxStaticText* m_User4StaticText;
|
||||
wxChoice* m_User4Type;
|
||||
wxCheckBox* m_User5CheckBox;
|
||||
wxTextCtrl* m_User5Name;
|
||||
wxStaticText* m_User5StaticText;
|
||||
wxChoice* m_User5Type;
|
||||
wxCheckBox* m_User6CheckBox;
|
||||
wxTextCtrl* m_User6Name;
|
||||
wxStaticText* m_User6StaticText;
|
||||
wxChoice* m_User6Type;
|
||||
wxCheckBox* m_User7CheckBox;
|
||||
wxTextCtrl* m_User7Name;
|
||||
wxStaticText* m_User7StaticText;
|
||||
wxChoice* m_User7Type;
|
||||
wxCheckBox* m_User8CheckBox;
|
||||
wxTextCtrl* m_User8Name;
|
||||
wxStaticText* m_User8StaticText;
|
||||
wxChoice* m_User8Type;
|
||||
wxCheckBox* m_User9CheckBox;
|
||||
wxTextCtrl* m_User9Name;
|
||||
wxStaticText* m_User9StaticText;
|
||||
wxChoice* m_User9Type;
|
||||
|
||||
// Virtual event handlers, override them in your derived class
|
||||
virtual void addUserDefinedLayer( wxCommandEvent& event ) { event.Skip(); }
|
||||
|
@ -2290,7 +2290,7 @@ void FOOTPRINT::Flip( const VECTOR2I& aCentre, bool aFlipLeftRight )
|
||||
SetPosition( finalPos );
|
||||
|
||||
// Flip layer
|
||||
BOARD_ITEM::SetLayer( FlipLayer( GetLayer() ) );
|
||||
BOARD_ITEM::SetLayer( GetBoard()->FlipLayer( GetLayer() ) );
|
||||
|
||||
// Calculate the new orientation, and then clear it for pad flipping.
|
||||
EDA_ANGLE newOrientation = -m_orient;
|
||||
|
@ -363,7 +363,7 @@ void PCB_DIMENSION_BASE::Flip( const VECTOR2I& aCentre, bool aFlipLeftRight )
|
||||
{
|
||||
Mirror( aCentre );
|
||||
|
||||
SetLayer( FlipLayer( GetLayer(), GetBoard()->GetCopperLayerCount() ) );
|
||||
SetLayer( GetBoard()->FlipLayer( GetLayer() ) );
|
||||
}
|
||||
|
||||
|
||||
@ -394,7 +394,7 @@ void PCB_DIMENSION_BASE::Mirror( const VECTOR2I& axis_pos, bool aMirrorLeftRight
|
||||
INVERT( m_end.y );
|
||||
}
|
||||
|
||||
if( ( GetLayerSet() & LSET::SideSpecificMask() ).any() )
|
||||
if( IsSideSpecific() )
|
||||
SetMirrored( !IsMirrored() );
|
||||
|
||||
Update();
|
||||
|
@ -142,7 +142,7 @@ void PCB_GENERATOR::Flip( const VECTOR2I& aCentre, bool aFlipLeftRight )
|
||||
else
|
||||
MIRROR( m_origin.y, aCentre.y );
|
||||
|
||||
SetLayer( FlipLayer( GetLayer(), GetBoard()->GetCopperLayerCount() ) );
|
||||
SetLayer( GetBoard()->FlipLayer( GetLayer() ) );
|
||||
|
||||
PCB_GROUP::Flip( aCentre, aFlipLeftRight );
|
||||
}
|
||||
|
@ -2062,7 +2062,7 @@ bool FABMASTER::loadFootprints( BOARD* aBoard )
|
||||
|
||||
if( src->mirror )
|
||||
{
|
||||
txt->SetLayer( FlipLayer( layer ) );
|
||||
txt->SetLayer( aBoard->FlipLayer( layer ) );
|
||||
txt->SetTextPos( VECTOR2I( lsrc->start_x,
|
||||
2 * src->y - ( lsrc->start_y - lsrc->height / 2 ) ) );
|
||||
}
|
||||
@ -2121,7 +2121,7 @@ bool FABMASTER::loadFootprints( BOARD* aBoard )
|
||||
|
||||
if( src->mirror )
|
||||
{
|
||||
line->SetLayer( FlipLayer( layer ) );
|
||||
line->SetLayer( aBoard->FlipLayer( layer ) );
|
||||
line->SetStart( VECTOR2I( lsrc->start_x, 2 * src->y - lsrc->start_y ) );
|
||||
line->SetEnd( VECTOR2I( lsrc->end_x, 2 * src->y - lsrc->end_y ) );
|
||||
}
|
||||
@ -2190,7 +2190,7 @@ bool FABMASTER::loadFootprints( BOARD* aBoard )
|
||||
|
||||
if( src->mirror )
|
||||
{
|
||||
rect->SetLayer( FlipLayer( layer ) );
|
||||
rect->SetLayer( aBoard->FlipLayer( layer ) );
|
||||
rect->SetStart( VECTOR2I( lsrc->start_x, 2 * src->y - lsrc->start_y ) );
|
||||
rect->SetEnd( VECTOR2I( lsrc->end_x, 2 * src->y - lsrc->end_y ) );
|
||||
}
|
||||
@ -2215,7 +2215,7 @@ bool FABMASTER::loadFootprints( BOARD* aBoard )
|
||||
|
||||
if( src->mirror )
|
||||
{
|
||||
txt->SetLayer( FlipLayer( layer ) );
|
||||
txt->SetLayer( aBoard->FlipLayer( layer ) );
|
||||
txt->SetTextPos( VECTOR2I( lsrc->start_x,
|
||||
2 * src->y - ( lsrc->start_y - lsrc->height / 2 ) ) );
|
||||
}
|
||||
|
@ -659,7 +659,8 @@ void PCB_IO_KICAD_SEXPR::formatBoardLayers( const BOARD* aBoard, int aNestLevel
|
||||
{
|
||||
PCB_LAYER_ID layer = *cu;
|
||||
|
||||
m_out->Print( aNestLevel+1, "(%d %s %s", layer,
|
||||
m_out->Print( aNestLevel+1, "(%d %s %s",
|
||||
layer,
|
||||
m_out->Quotew( LSET::Name( layer ) ).c_str(),
|
||||
LAYER::ShowType( aBoard->GetLayerType( layer ) ) );
|
||||
|
||||
@ -706,9 +707,15 @@ void PCB_IO_KICAD_SEXPR::formatBoardLayers( const BOARD* aBoard, int aNestLevel
|
||||
{
|
||||
PCB_LAYER_ID layer = *seq;
|
||||
|
||||
m_out->Print( aNestLevel+1, "(%d %s user", layer,
|
||||
m_out->Print( aNestLevel+1, "(%d %s",
|
||||
layer,
|
||||
m_out->Quotew( LSET::Name( layer ) ).c_str() );
|
||||
|
||||
if( layer >= User_1 && layer <= User_9 )
|
||||
m_out->Print( 0, " %s", LAYER::ShowType( aBoard->GetLayerType( layer ) ) );
|
||||
else
|
||||
m_out->Print( 0, " user" );
|
||||
|
||||
if( m_board->GetLayerName( layer ) != LSET::Name( layer ) )
|
||||
m_out->Print( 0, " %s", m_out->Quotew( m_board->GetLayerName( layer ) ).c_str() );
|
||||
|
||||
|
@ -155,7 +155,8 @@ class PCB_IO_KICAD_SEXPR; // forward decl
|
||||
//#define SEXPR_BOARD_FILE_VERSION 20240202 // Tables
|
||||
//#define SEXPR_BOARD_FILE_VERSION 20240225 // Rationalization of solder_paste_margin
|
||||
//#define SEXPR_BOARD_FILE_VERSION 20240609 // Add 'tenting' keyword
|
||||
#define SEXPR_BOARD_FILE_VERSION 20240617 // Table angles
|
||||
//#define SEXPR_BOARD_FILE_VERSION 20240617 // Table angles
|
||||
#define SEXPR_BOARD_FILE_VERSION 20240703 // User layer types
|
||||
|
||||
#define BOARD_FILE_HOST_VERSION 20200825 ///< Earlier files than this include the host tag
|
||||
#define LEGACY_ARC_FORMATTING 20210925 ///< These were the last to use old arc formatting
|
||||
|
@ -168,7 +168,7 @@ void PCAD_ARC::Flip()
|
||||
m_StartX = -m_StartX;
|
||||
m_Angle = -m_Angle;
|
||||
|
||||
m_KiCadLayer = FlipLayer( m_KiCadLayer );
|
||||
m_KiCadLayer = m_board->FlipLayer( m_KiCadLayer );
|
||||
}
|
||||
|
||||
|
||||
|
@ -525,7 +525,7 @@ void PCAD_FOOTPRINT::AddToBoard( FOOTPRINT* aFootprint )
|
||||
ref_text->SetMirrored( m_Name.mirror );
|
||||
ref_text->SetVisible( m_Name.textIsVisible );
|
||||
|
||||
ref_text->SetLayer( m_Mirror ? FlipLayer( m_KiCadLayer ) : m_KiCadLayer );
|
||||
ref_text->SetLayer( m_Mirror ? m_board->FlipLayer( m_KiCadLayer ) : m_KiCadLayer );
|
||||
|
||||
// value text
|
||||
PCB_FIELD* val_text = &footprint->Value();
|
||||
@ -550,7 +550,7 @@ void PCAD_FOOTPRINT::AddToBoard( FOOTPRINT* aFootprint )
|
||||
val_text->SetMirrored( m_Value.mirror );
|
||||
val_text->SetVisible( m_Value.textIsVisible );
|
||||
|
||||
val_text->SetLayer( m_Value.mirror ? FlipLayer( m_KiCadLayer ) : m_KiCadLayer );
|
||||
val_text->SetLayer( m_Value.mirror ? m_board->FlipLayer( m_KiCadLayer ) : m_KiCadLayer );
|
||||
|
||||
// TEXTS
|
||||
for( i = 0; i < (int) m_FootprintItems.GetCount(); i++ )
|
||||
|
@ -110,7 +110,7 @@ void PCAD_LINE::Flip()
|
||||
PCAD_PCB_COMPONENT::Flip();
|
||||
|
||||
m_ToX = -m_ToX;
|
||||
m_KiCadLayer = FlipLayer( m_KiCadLayer );
|
||||
m_KiCadLayer = m_board->FlipLayer( m_KiCadLayer );
|
||||
}
|
||||
|
||||
|
||||
|
@ -187,7 +187,7 @@ void PCAD_PAD::Flip()
|
||||
m_Rotation = -m_Rotation;
|
||||
|
||||
for( i = 0; i < (int)m_Shapes.GetCount(); i++ )
|
||||
m_Shapes[i]->m_KiCadLayer = FlipLayer( m_Shapes[i]->m_KiCadLayer );
|
||||
m_Shapes[i]->m_KiCadLayer = m_board->FlipLayer( m_Shapes[i]->m_KiCadLayer );
|
||||
}
|
||||
|
||||
|
||||
|
@ -230,7 +230,7 @@ void PCAD_POLYGON::Flip()
|
||||
{
|
||||
PCAD_PCB_COMPONENT::Flip();
|
||||
|
||||
m_KiCadLayer = FlipLayer( m_KiCadLayer );
|
||||
m_KiCadLayer = m_board->FlipLayer( m_KiCadLayer );
|
||||
}
|
||||
|
||||
|
||||
|
@ -2149,7 +2149,7 @@ void PCB_PAINTER::draw( const PCB_TEXT* aText, int aLayer )
|
||||
else
|
||||
attrs.m_StrokeWidth = getLineThickness( aText->GetEffectiveTextPenWidth() );
|
||||
|
||||
if( m_gal->IsFlippedX() && !( aText->GetLayerSet() & LSET::SideSpecificMask() ).any() )
|
||||
if( m_gal->IsFlippedX() && !aText->IsSideSpecific() )
|
||||
{
|
||||
VECTOR2I textPos = aText->GetTextPos();
|
||||
VECTOR2I textWidth = VECTOR2I( aText->GetTextBox().GetWidth(), 0 );
|
||||
@ -2307,7 +2307,7 @@ void PCB_PAINTER::draw( const PCB_TEXTBOX* aTextBox, int aLayer )
|
||||
TEXT_ATTRIBUTES attrs = aTextBox->GetAttributes();
|
||||
attrs.m_StrokeWidth = getLineThickness( aTextBox->GetEffectiveTextPenWidth() );
|
||||
|
||||
if( m_gal->IsFlippedX() && !( aTextBox->GetLayerSet() & LSET::SideSpecificMask() ).any() )
|
||||
if( m_gal->IsFlippedX() && !aTextBox->IsSideSpecific() )
|
||||
{
|
||||
attrs.m_Mirrored = !attrs.m_Mirrored;
|
||||
strokeText( resolvedText, aTextBox->GetDrawPos( true ), attrs, metrics );
|
||||
@ -2786,7 +2786,7 @@ void PCB_PAINTER::draw( const PCB_DIMENSION_BASE* aDimension, int aLayer )
|
||||
wxString resolvedText = aDimension->GetShownText( true );
|
||||
TEXT_ATTRIBUTES attrs = aDimension->GetAttributes();
|
||||
|
||||
if( m_gal->IsFlippedX() && !( aDimension->GetLayerSet() & LSET::SideSpecificMask() ).any() )
|
||||
if( m_gal->IsFlippedX() && !aDimension->IsSideSpecific() )
|
||||
attrs.m_Mirrored = !attrs.m_Mirrored;
|
||||
|
||||
if( outline_mode )
|
||||
|
@ -532,7 +532,7 @@ void PCB_SHAPE::Flip( const VECTOR2I& aCentre, bool aFlipLeftRight )
|
||||
{
|
||||
flip( aCentre, aFlipLeftRight );
|
||||
|
||||
SetLayer( FlipLayer( GetLayer(), GetBoard()->GetCopperLayerCount() ) );
|
||||
SetLayer( GetBoard()->FlipLayer( GetLayer() ) );
|
||||
}
|
||||
|
||||
|
||||
|
@ -227,7 +227,7 @@ void PCB_TABLE::Flip( const VECTOR2I& aCentre, bool aFlipLeftRight )
|
||||
rowOffset += GetColCount();
|
||||
}
|
||||
|
||||
SetLayer( FlipLayer( GetLayer(), GetBoard()->GetCopperLayerCount() ) );
|
||||
SetLayer( GetBoard()->FlipLayer( GetLayer() ) );
|
||||
Normalize();
|
||||
}
|
||||
|
||||
|
@ -97,7 +97,7 @@ void PCB_TARGET::Flip( const VECTOR2I& aCentre, bool aFlipLeftRight )
|
||||
else
|
||||
m_pos.y = aCentre.y - ( m_pos.y - aCentre.y );
|
||||
|
||||
SetLayer( FlipLayer( GetLayer(), GetBoard()->GetCopperLayerCount() ) );
|
||||
SetLayer( GetBoard()->FlipLayer( GetLayer() ) );
|
||||
}
|
||||
|
||||
|
||||
|
@ -475,9 +475,9 @@ void PCB_TEXT::Flip( const VECTOR2I& aCentre, bool aFlipLeftRight )
|
||||
SetTextAngle( ANGLE_180 - GetTextAngle() );
|
||||
}
|
||||
|
||||
SetLayer( FlipLayer( GetLayer(), GetBoard()->GetCopperLayerCount() ) );
|
||||
SetLayer( GetBoard()->FlipLayer( GetLayer() ) );
|
||||
|
||||
if( ( GetLayerSet() & LSET::SideSpecificMask() ).any() )
|
||||
if( IsSideSpecific() )
|
||||
SetMirrored( !IsMirrored() );
|
||||
}
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user