mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-04-19 18:01:21 +00:00
ADDED new footprint fabrication attributes.
This commit also adds mapping of the new symbol properties "exclude from BOM" and "exclude from board" to be correctly handled in Update Board from Schematic. Fixes https://gitlab.com/kicad/code/kicad/issues/2399 Fixes https://gitlab.com/kicad/code/kicad/issues/4643 Fixes https://gitlab.com/kicad/code/kicad/issues/2233
This commit is contained in:
parent
b8aee85b94
commit
e7db43285f
3d-viewer/3d_canvas
common
eeschema/netlist_exporters
pcbnew
class_module.cppclass_module.h
dialogs
dialog_board_statistics.cppdialog_edit_footprint_for_BoardEditor.cppdialog_edit_footprint_for_BoardEditor_base.cppdialog_edit_footprint_for_BoardEditor_base.fbpdialog_edit_footprint_for_BoardEditor_base.hdialog_edit_footprint_for_fp_editor.cppdialog_edit_footprint_for_fp_editor_base.cppdialog_edit_footprint_for_fp_editor_base.fbpdialog_edit_footprint_for_fp_editor_base.hdialog_exchange_footprints.cppdialog_exchange_footprints_base.cppdialog_exchange_footprints_base.fbpdialog_exchange_footprints_base.hdialog_gen_footprint_position_file_base.cppdialog_gen_footprint_position_file_base.fbpdialog_gen_footprint_position_file_base.hdialog_netlist.cppdialog_netlist_base.cppdialog_netlist_base.fbpdialog_update_pcb.cpp
exporters
export_footprints_placefile.cppexport_footprints_placefile.hexport_gencad.cppgen_footprints_placefile.cppgerber_placefile_writer.cpp
kicad_plugin.cppkicad_plugin.hlegacy_plugin.cppmicrowave
netlist_reader
pcad2kicadpcb_plugin
pcb_edit_frame.hpcb_parser.cpp@ -227,17 +227,12 @@ void BOARD_ADAPTER::SetFlag( DISPLAY3D_FLG aFlag, bool aState )
|
||||
|
||||
bool BOARD_ADAPTER::ShouldModuleBeDisplayed( MODULE_ATTR_T aModuleAttributs ) const
|
||||
{
|
||||
if( ( ( aModuleAttributs == MOD_DEFAULT ) &&
|
||||
GetFlag( FL_MODULE_ATTRIBUTES_NORMAL ) ) ||
|
||||
( ( ( aModuleAttributs & MOD_CMS) == MOD_CMS ) &&
|
||||
GetFlag( FL_MODULE_ATTRIBUTES_NORMAL_INSERT ) ) ||
|
||||
( ( ( aModuleAttributs & MOD_VIRTUAL) == MOD_VIRTUAL ) &&
|
||||
GetFlag( FL_MODULE_ATTRIBUTES_VIRTUAL ) ) )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
if( aModuleAttributs & MOD_SMD )
|
||||
return GetFlag( FL_MODULE_ATTRIBUTES_NORMAL_INSERT );
|
||||
else if( aModuleAttributs & MOD_THROUGH_HOLE )
|
||||
return GetFlag( FL_MODULE_ATTRIBUTES_NORMAL );
|
||||
else
|
||||
return GetFlag( FL_MODULE_ATTRIBUTES_VIRTUAL );
|
||||
}
|
||||
|
||||
|
||||
|
@ -44,6 +44,7 @@ aux_axis_origin
|
||||
bevelled
|
||||
blind
|
||||
blind_buried_vias_allowed
|
||||
board_only
|
||||
bold
|
||||
bottom
|
||||
bottom_left
|
||||
@ -90,6 +91,8 @@ edge_width
|
||||
effects
|
||||
end
|
||||
epsilon_r
|
||||
exclude_from_pos_files
|
||||
exclude_from_bom
|
||||
fab_layers_line_width
|
||||
fab_layers_text_dims
|
||||
feature1
|
||||
@ -239,6 +242,7 @@ thermal_width
|
||||
thermal_gap
|
||||
thermal_bridge_width
|
||||
thickness
|
||||
through_hole
|
||||
through_hole_min
|
||||
top
|
||||
top_left
|
||||
|
@ -37,7 +37,7 @@
|
||||
static bool sortPinsByNumber( LIB_PIN* aPin1, LIB_PIN* aPin2 );
|
||||
|
||||
bool NETLIST_EXPORTER_GENERIC::WriteNetlist( const wxString& aOutFileName,
|
||||
unsigned aNetlistOptions )
|
||||
unsigned aNetlistOptions )
|
||||
{
|
||||
// output the XML format netlist.
|
||||
wxXmlDocument xdoc;
|
||||
@ -87,7 +87,7 @@ struct COMP_FIELDS
|
||||
|
||||
|
||||
void NETLIST_EXPORTER_GENERIC::addComponentFields( XNODE* xcomp, SCH_COMPONENT* comp,
|
||||
SCH_SHEET_PATH* aSheet )
|
||||
SCH_SHEET_PATH* aSheet )
|
||||
{
|
||||
COMP_FIELDS fields;
|
||||
|
||||
@ -123,15 +123,30 @@ void NETLIST_EXPORTER_GENERIC::addComponentFields( XNODE* xcomp, SCH_COMPONENT*
|
||||
// field value)
|
||||
if( !comp2->GetField( VALUE )->IsVoid()
|
||||
&& ( unit < minUnit || fields.value.IsEmpty() ) )
|
||||
fields.value = comp2->GetField( VALUE )->GetShownText();
|
||||
{
|
||||
if( m_resolveTextVars )
|
||||
fields.value = comp2->GetField( VALUE )->GetShownText();
|
||||
else
|
||||
fields.value = comp2->GetField( VALUE )->GetText();
|
||||
}
|
||||
|
||||
if( !comp2->GetField( FOOTPRINT )->IsVoid()
|
||||
&& ( unit < minUnit || fields.footprint.IsEmpty() ) )
|
||||
fields.footprint = comp2->GetField( FOOTPRINT )->GetShownText();
|
||||
{
|
||||
if( m_resolveTextVars )
|
||||
fields.footprint = comp2->GetField( FOOTPRINT )->GetShownText();
|
||||
else
|
||||
fields.footprint = comp2->GetField( FOOTPRINT )->GetText();
|
||||
}
|
||||
|
||||
if( !comp2->GetField( DATASHEET )->IsVoid()
|
||||
&& ( unit < minUnit || fields.datasheet.IsEmpty() ) )
|
||||
fields.datasheet = comp2->GetField( DATASHEET )->GetShownText();
|
||||
{
|
||||
if( m_resolveTextVars )
|
||||
fields.datasheet = comp2->GetField( DATASHEET )->GetShownText();
|
||||
else
|
||||
fields.datasheet = comp2->GetField( DATASHEET )->GetText();
|
||||
}
|
||||
|
||||
for( int fldNdx = MANDATORY_FIELDS; fldNdx < comp2->GetFieldCount(); ++fldNdx )
|
||||
{
|
||||
@ -140,7 +155,10 @@ void NETLIST_EXPORTER_GENERIC::addComponentFields( XNODE* xcomp, SCH_COMPONENT*
|
||||
if( f->GetText().size()
|
||||
&& ( unit < minUnit || fields.f.count( f->GetName() ) == 0 ) )
|
||||
{
|
||||
fields.f[ f->GetName() ] = f->GetShownText();
|
||||
if( m_resolveTextVars )
|
||||
fields.f[ f->GetName() ] = f->GetShownText();
|
||||
else
|
||||
fields.f[ f->GetName() ] = f->GetText();
|
||||
}
|
||||
}
|
||||
|
||||
@ -150,16 +168,32 @@ void NETLIST_EXPORTER_GENERIC::addComponentFields( XNODE* xcomp, SCH_COMPONENT*
|
||||
}
|
||||
else
|
||||
{
|
||||
fields.value = comp->GetField( VALUE )->GetShownText();
|
||||
fields.footprint = comp->GetField( FOOTPRINT )->GetShownText();
|
||||
fields.datasheet = comp->GetField( DATASHEET )->GetShownText();
|
||||
if( m_resolveTextVars )
|
||||
fields.value = comp->GetField( VALUE )->GetShownText();
|
||||
else
|
||||
fields.value = comp->GetField( VALUE )->GetText();
|
||||
|
||||
if( m_resolveTextVars )
|
||||
fields.footprint = comp->GetField( FOOTPRINT )->GetShownText();
|
||||
else
|
||||
fields.footprint = comp->GetField( FOOTPRINT )->GetText();
|
||||
|
||||
if( m_resolveTextVars )
|
||||
fields.datasheet = comp->GetField( DATASHEET )->GetShownText();
|
||||
else
|
||||
fields.datasheet = comp->GetField( DATASHEET )->GetText();
|
||||
|
||||
for( int fldNdx = MANDATORY_FIELDS; fldNdx < comp->GetFieldCount(); ++fldNdx )
|
||||
{
|
||||
SCH_FIELD* f = comp->GetField( fldNdx );
|
||||
|
||||
if( f->GetText().size() )
|
||||
fields.f[ f->GetName() ] = f->GetShownText();
|
||||
{
|
||||
if( m_resolveTextVars )
|
||||
fields.f[ f->GetName() ] = f->GetShownText();
|
||||
else
|
||||
fields.f[ f->GetName() ] = f->GetText();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -265,26 +299,36 @@ XNODE* NETLIST_EXPORTER_GENERIC::makeComponents( unsigned aCtl )
|
||||
|
||||
xlibsource->AddAttribute( "description", comp->GetDescription() );
|
||||
|
||||
XNODE* xproperty;
|
||||
|
||||
std::vector<SCH_FIELD>& fields = comp->GetFields();
|
||||
|
||||
for( size_t jj = MANDATORY_FIELDS; jj < fields.size(); ++jj )
|
||||
{
|
||||
XNODE* xproperty;
|
||||
xcomp->AddChild( xproperty = node( "property" ) );
|
||||
|
||||
xproperty->AddAttribute( "name", fields[jj].GetName() );
|
||||
xproperty->AddAttribute( "value", fields[jj].GetText() );
|
||||
}
|
||||
|
||||
for( const SCH_FIELD& sheetField : sheet.Last()->GetFields() )
|
||||
{
|
||||
XNODE* xproperty;
|
||||
xcomp->AddChild( xproperty = node( "property" ) );
|
||||
|
||||
xproperty->AddAttribute( "name", sheetField.GetName() );
|
||||
xproperty->AddAttribute( "value", sheetField.GetText() );
|
||||
}
|
||||
|
||||
if( !comp->GetIncludeInBom() )
|
||||
{
|
||||
xcomp->AddChild( xproperty = node( "property" ) );
|
||||
xproperty->AddAttribute( "name", "exclude_from_bom" );
|
||||
}
|
||||
|
||||
if( !comp->GetIncludeOnBoard() )
|
||||
{
|
||||
xcomp->AddChild( xproperty = node( "property" ) );
|
||||
xproperty->AddAttribute( "name", "exclude_from_board" );
|
||||
}
|
||||
|
||||
XNODE* xsheetpath;
|
||||
xcomp->AddChild( xsheetpath = node( "sheetpath" ) );
|
||||
|
||||
|
@ -62,11 +62,15 @@ enum GNL_T
|
||||
class NETLIST_EXPORTER_GENERIC : public NETLIST_EXPORTER
|
||||
{
|
||||
private:
|
||||
std::set< wxString > m_libraries; ///< Set of library nicknames.
|
||||
std::set<wxString> m_libraries; // Set of library nicknames.
|
||||
|
||||
protected:
|
||||
bool m_resolveTextVars; // Export textVar references resolved
|
||||
|
||||
public:
|
||||
NETLIST_EXPORTER_GENERIC( SCHEMATIC* aSchematic ) :
|
||||
NETLIST_EXPORTER( aSchematic )
|
||||
NETLIST_EXPORTER( aSchematic ),
|
||||
m_resolveTextVars( true )
|
||||
{}
|
||||
|
||||
/**
|
||||
|
@ -39,7 +39,9 @@ class NETLIST_EXPORTER_KICAD : public NETLIST_EXPORTER_GENERIC
|
||||
public:
|
||||
NETLIST_EXPORTER_KICAD( SCHEMATIC* aSchematic ) :
|
||||
NETLIST_EXPORTER_GENERIC( aSchematic )
|
||||
{}
|
||||
{
|
||||
m_resolveTextVars = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Write netlist to \a aOutFileName.
|
||||
|
@ -40,7 +40,7 @@ MODULE::MODULE( BOARD* parent ) :
|
||||
BOARD_ITEM_CONTAINER( (BOARD_ITEM*) parent, PCB_MODULE_T ),
|
||||
m_initial_comments( 0 )
|
||||
{
|
||||
m_Attributs = MOD_DEFAULT;
|
||||
m_Attributs = 0;
|
||||
m_Layer = F_Cu;
|
||||
m_Orient = 0;
|
||||
m_ModuleStatus = MODULE_PADS_LOCKED;
|
||||
@ -673,26 +673,33 @@ void MODULE::GetMsgPanelInfo( EDA_DRAW_FRAME* aFrame, std::vector<MSG_PANEL_ITEM
|
||||
: _( "Front" ), RED );
|
||||
}
|
||||
|
||||
msg = wxT( ". ." );
|
||||
auto addToken = []( wxString* aStr, const wxString& aAttr )
|
||||
{
|
||||
if( !aStr->IsEmpty() )
|
||||
*aStr += wxT( ", " );
|
||||
|
||||
*aStr += aAttr;
|
||||
};
|
||||
|
||||
wxString status;
|
||||
wxString attrs;
|
||||
|
||||
if( IsLocked() )
|
||||
msg[0] = 'L';
|
||||
addToken( &status, _( "locked" ) );
|
||||
|
||||
if( m_ModuleStatus & MODULE_is_PLACED )
|
||||
msg[2] = 'P';
|
||||
addToken( &status, _( "autoplaced" ) );
|
||||
|
||||
aList.emplace_back( _( "Status" ), msg, MAGENTA );
|
||||
if( m_Attributs & MOD_BOARD_ONLY )
|
||||
addToken( &attrs, _( "not in schematic" ) );
|
||||
|
||||
// Controls on right side of the dialog
|
||||
switch( m_Attributs & 255 )
|
||||
{
|
||||
case 0: msg = _( "Normal" ); break;
|
||||
case MOD_CMS: msg = _( "Insert" ); break;
|
||||
case MOD_VIRTUAL: msg = _( "Virtual" ); break;
|
||||
default: msg = wxT( "???" ); break;
|
||||
}
|
||||
if( m_Attributs & MOD_EXCLUDE_FROM_POS_FILES )
|
||||
addToken( &attrs, _( "exclude from pos files" ) );
|
||||
|
||||
aList.emplace_back( _( "Attributes" ), msg, BROWN );
|
||||
if( m_Attributs * MOD_EXCLUDE_FROM_BOM )
|
||||
addToken( &attrs, _( "exclude from BOM" ) );
|
||||
|
||||
aList.emplace_back( _( "Status: " ) + status, _( "Attributes: " ) + attrs, BROWN );
|
||||
|
||||
msg.Printf( "%.2f", GetOrientationDegrees() );
|
||||
aList.emplace_back( _( "Rotation" ), msg, BROWN );
|
||||
@ -1634,11 +1641,9 @@ void MODULE::SwapData( BOARD_ITEM* aImage )
|
||||
}
|
||||
|
||||
|
||||
bool MODULE::HasNonSMDPins() const
|
||||
bool MODULE::HasThroughHolePads() const
|
||||
{
|
||||
// returns true if the given module has at lesat one non smd pin, such as through hole
|
||||
|
||||
for( auto pad : Pads() )
|
||||
for( D_PAD* pad : Pads() )
|
||||
{
|
||||
if( pad->GetAttribute() != PAD_ATTRIB_SMD )
|
||||
return true;
|
||||
|
@ -64,37 +64,37 @@ enum INCLUDE_NPTH_T
|
||||
*/
|
||||
enum MODULE_ATTR_T
|
||||
{
|
||||
MOD_DEFAULT = 0, ///< default
|
||||
MOD_CMS = 1, ///< Set for modules listed in the automatic insertion list
|
||||
///< (usually SMD footprints)
|
||||
MOD_VIRTUAL = 2 ///< Virtual component: when created by copper shapes on
|
||||
///< board (Like edge card connectors, mounting hole...)
|
||||
MOD_THROUGH_HOLE = 0x0001,
|
||||
MOD_SMD = 0x0002,
|
||||
MOD_EXCLUDE_FROM_POS_FILES = 0x0004,
|
||||
MOD_EXCLUDE_FROM_BOM = 0x0008,
|
||||
MOD_BOARD_ONLY = 0x0010 // Footprint has no corresponding symbol
|
||||
};
|
||||
|
||||
class MODULE_3D_SETTINGS
|
||||
{
|
||||
public:
|
||||
MODULE_3D_SETTINGS() :
|
||||
// Initialize with sensible values
|
||||
m_Scale { 1, 1, 1 },
|
||||
m_Rotation { 0, 0, 0 },
|
||||
m_Offset { 0, 0, 0 },
|
||||
m_Opacity( 1.0 ),
|
||||
m_Show( true )
|
||||
{
|
||||
}
|
||||
public:
|
||||
MODULE_3D_SETTINGS() :
|
||||
// Initialize with sensible values
|
||||
m_Scale { 1, 1, 1 },
|
||||
m_Rotation { 0, 0, 0 },
|
||||
m_Offset { 0, 0, 0 },
|
||||
m_Opacity( 1.0 ),
|
||||
m_Show( true )
|
||||
{
|
||||
}
|
||||
|
||||
struct VECTOR3D
|
||||
{
|
||||
double x, y, z;
|
||||
};
|
||||
struct VECTOR3D
|
||||
{
|
||||
double x, y, z;
|
||||
};
|
||||
|
||||
VECTOR3D m_Scale; ///< 3D model scaling factor (dimensionless)
|
||||
VECTOR3D m_Rotation; ///< 3D model rotation (degrees)
|
||||
VECTOR3D m_Offset; ///< 3D model offset (mm)
|
||||
double m_Opacity;
|
||||
wxString m_Filename; ///< The 3D shape filename in 3D library
|
||||
bool m_Show; ///< Include module in rendering
|
||||
VECTOR3D m_Scale; ///< 3D model scaling factor (dimensionless)
|
||||
VECTOR3D m_Rotation; ///< 3D model rotation (degrees)
|
||||
VECTOR3D m_Offset; ///< 3D model offset (mm)
|
||||
double m_Opacity;
|
||||
wxString m_Filename; ///< The 3D shape filename in 3D library
|
||||
bool m_Show; ///< Include module in rendering
|
||||
};
|
||||
|
||||
DECL_DEQ_FOR_SWIG( PADS, D_PAD* )
|
||||
@ -201,12 +201,7 @@ public:
|
||||
return m_fp_zones;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true if the given module has any non smd pins, such as through hole
|
||||
* and therefore cannot be placed automatically.
|
||||
* Used in Pick and Place files writers
|
||||
*/
|
||||
bool HasNonSMDPins() const;
|
||||
bool HasThroughHolePads() const;
|
||||
|
||||
std::list<MODULE_3D_SETTINGS>& Models() { return m_3D_Drawings; }
|
||||
const std::list<MODULE_3D_SETTINGS>& Models() const { return m_3D_Drawings; }
|
||||
|
@ -132,9 +132,8 @@ void DIALOG_BOARD_STATISTICS::refreshItemsTypes()
|
||||
|
||||
// If you need some more types to be shown, simply add them to the
|
||||
// corresponding list
|
||||
m_componentsTypes.push_back( componentsType_t( MOD_DEFAULT, _( "THT:" ) ) );
|
||||
m_componentsTypes.push_back( componentsType_t( MOD_CMS, _( "SMD:" ) ) );
|
||||
m_componentsTypes.push_back( componentsType_t( MOD_VIRTUAL, _( "Virtual:" ) ) );
|
||||
m_componentsTypes.push_back( componentsType_t( MOD_THROUGH_HOLE, _( "THT:" ) ) );
|
||||
m_componentsTypes.push_back( componentsType_t( MOD_SMD, _( "SMD:" ) ) );
|
||||
|
||||
m_padsTypes.clear();
|
||||
m_padsTypes.push_back( padsType_t( PAD_ATTRIB_STANDARD, _( "Through hole:" ) ) );
|
||||
@ -177,21 +176,19 @@ bool DIALOG_BOARD_STATISTICS::TransferDataToWindow()
|
||||
|
||||
void DIALOG_BOARD_STATISTICS::getDataFromPCB()
|
||||
{
|
||||
auto board = m_parentFrame->GetBoard();
|
||||
BOARD* board = m_parentFrame->GetBoard();
|
||||
|
||||
// Get modules and pads count
|
||||
for( MODULE* module : board->Modules() )
|
||||
{
|
||||
auto& pads = module->Pads();
|
||||
|
||||
// Do not proceed modules with no pads if checkbox checked
|
||||
if( m_checkBoxExcludeComponentsNoPins->GetValue() && !pads.size() )
|
||||
if( m_checkBoxExcludeComponentsNoPins->GetValue() && ! module->Pads().size() )
|
||||
continue;
|
||||
|
||||
// Go through components types list
|
||||
for( auto& type : m_componentsTypes )
|
||||
{
|
||||
if( module->GetAttributes() == type.attribute )
|
||||
if( ( module->GetAttributes() & type.attribute ) > 0 )
|
||||
{
|
||||
if( module->IsFlipped() )
|
||||
type.backSideQty++;
|
||||
@ -201,7 +198,7 @@ void DIALOG_BOARD_STATISTICS::getDataFromPCB()
|
||||
}
|
||||
}
|
||||
|
||||
for( auto& pad : pads )
|
||||
for( D_PAD* pad : module->Pads() )
|
||||
{
|
||||
// Go through pads types list
|
||||
for( auto& type : m_padsTypes )
|
||||
@ -254,9 +251,9 @@ void DIALOG_BOARD_STATISTICS::getDataFromPCB()
|
||||
}
|
||||
|
||||
// Get via counts
|
||||
for( auto& track : board->Tracks() )
|
||||
for( TRACK* track : board->Tracks() )
|
||||
{
|
||||
if( auto via = dyn_cast<VIA*>( track ) )
|
||||
if( VIA* via = dyn_cast<VIA*>( track ) )
|
||||
{
|
||||
for( auto& type : m_viasTypes )
|
||||
{
|
||||
@ -300,7 +297,8 @@ void DIALOG_BOARD_STATISTICS::getDataFromPCB()
|
||||
// If board has no Edge Cuts lines, board->GetBoardPolygonOutlines will
|
||||
// return small rectangle, so we double check that
|
||||
bool edgeCutsExists = false;
|
||||
for( auto& drawing : board->Drawings() )
|
||||
|
||||
for( BOARD_ITEM* drawing : board->Drawings() )
|
||||
{
|
||||
if( drawing->GetLayer() == Edge_Cuts )
|
||||
{
|
||||
|
@ -299,20 +299,16 @@ bool DIALOG_FOOTPRINT_BOARD_EDITOR::TransferDataToWindow()
|
||||
m_CostRot90Ctrl->SetValue( m_footprint->GetPlacementCost90() );
|
||||
m_CostRot180Ctrl->SetValue( m_footprint->GetPlacementCost180() );
|
||||
|
||||
m_AttributsCtrl->SetItemToolTip( 0, _( "Use this attribute for most non SMD footprints\n"
|
||||
"Footprints with this option are not put in the footprint position list file" ) );
|
||||
m_AttributsCtrl->SetItemToolTip( 1, _( "Use this attribute for SMD footprints.\n"
|
||||
"Only footprints with this option are put in the footprint position list file" ) );
|
||||
m_AttributsCtrl->SetItemToolTip( 2, _( "Use this attribute for \"virtual\" footprints drawn "
|
||||
"on board\nsuch as an edge connector (old ISA PC bus for instance)" ) );
|
||||
if( m_footprint->GetAttributes() & MOD_THROUGH_HOLE )
|
||||
m_componentType->SetSelection( 0 );
|
||||
else if( m_footprint->GetAttributes() & MOD_SMD )
|
||||
m_componentType->SetSelection( 1 );
|
||||
else
|
||||
m_componentType->SetSelection( 2 );
|
||||
|
||||
switch( m_footprint->GetAttributes() & 255 )
|
||||
{
|
||||
case MOD_CMS: m_AttributsCtrl->SetSelection( 1 ); break;
|
||||
case MOD_VIRTUAL: m_AttributsCtrl->SetSelection( 2 ); break;
|
||||
case 0:
|
||||
default: m_AttributsCtrl->SetSelection( 0 ); break;
|
||||
}
|
||||
m_boardOnly->SetValue( m_footprint->GetAttributes() & MOD_BOARD_ONLY );
|
||||
m_excludeFromPosFiles->SetValue( m_footprint->GetAttributes() & MOD_EXCLUDE_FROM_POS_FILES );
|
||||
m_excludeFromBOM->SetValue( m_footprint->GetAttributes() & MOD_EXCLUDE_FROM_BOM );
|
||||
|
||||
// Local Clearances
|
||||
|
||||
@ -677,18 +673,10 @@ bool DIALOG_FOOTPRINT_BOARD_EDITOR::TransferDataFromWindow()
|
||||
switch( m_ZoneConnectionChoice->GetSelection() )
|
||||
{
|
||||
default:
|
||||
case 0:
|
||||
m_footprint->SetZoneConnection( ZONE_CONNECTION::INHERITED );
|
||||
break;
|
||||
case 1:
|
||||
m_footprint->SetZoneConnection( ZONE_CONNECTION::FULL );
|
||||
break;
|
||||
case 2:
|
||||
m_footprint->SetZoneConnection( ZONE_CONNECTION::THERMAL );
|
||||
break;
|
||||
case 3:
|
||||
m_footprint->SetZoneConnection( ZONE_CONNECTION::NONE );
|
||||
break;
|
||||
case 0: m_footprint->SetZoneConnection( ZONE_CONNECTION::INHERITED ); break;
|
||||
case 1: m_footprint->SetZoneConnection( ZONE_CONNECTION::FULL ); break;
|
||||
case 2: m_footprint->SetZoneConnection( ZONE_CONNECTION::THERMAL ); break;
|
||||
case 3: m_footprint->SetZoneConnection( ZONE_CONNECTION::NONE ); break;
|
||||
}
|
||||
|
||||
// Set Module Position
|
||||
@ -697,14 +685,26 @@ bool DIALOG_FOOTPRINT_BOARD_EDITOR::TransferDataFromWindow()
|
||||
m_footprint->SetLocked( m_AutoPlaceCtrl->GetSelection() == 2 );
|
||||
m_footprint->SetPadsLocked( m_AutoPlaceCtrl->GetSelection() == 1 );
|
||||
|
||||
switch( m_AttributsCtrl->GetSelection() )
|
||||
int attributes = 0;
|
||||
|
||||
switch( m_componentType->GetSelection() )
|
||||
{
|
||||
case 0: m_footprint->SetAttributes( 0 ); break;
|
||||
case 1: m_footprint->SetAttributes( MOD_CMS ); break;
|
||||
case 2: m_footprint->SetAttributes( MOD_VIRTUAL ); break;
|
||||
default: wxFAIL;
|
||||
case 0: attributes |= MOD_THROUGH_HOLE; break;
|
||||
case 1: attributes |= MOD_SMD; break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
if( m_boardOnly->GetValue() )
|
||||
attributes |= MOD_BOARD_ONLY;
|
||||
|
||||
if( m_excludeFromPosFiles->GetValue() )
|
||||
attributes |= MOD_EXCLUDE_FROM_POS_FILES;
|
||||
|
||||
if( m_excludeFromBOM->GetValue() )
|
||||
attributes |= MOD_EXCLUDE_FROM_BOM;
|
||||
|
||||
m_footprint->SetAttributes( attributes );
|
||||
|
||||
m_footprint->SetPlacementCost90( m_CostRot90Ctrl->GetValue() );
|
||||
m_footprint->SetPlacementCost180( m_CostRot180Ctrl->GetValue() );
|
||||
|
||||
|
@ -247,7 +247,7 @@ DIALOG_FOOTPRINT_BOARD_EDITOR_BASE::DIALOG_FOOTPRINT_BOARD_EDITOR_BASE( wxWindow
|
||||
bButtonsSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_buttonUpdate = new wxButton( m_PanelGeneral, wxID_ANY, _("Update Footprint from Library..."), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bButtonsSizer->Add( m_buttonUpdate, 0, wxALL|wxEXPAND, 5 );
|
||||
bButtonsSizer->Add( m_buttonUpdate, 0, wxEXPAND|wxALL, 5 );
|
||||
|
||||
m_buttonExchange = new wxButton( m_PanelGeneral, wxID_ANY, _("Change Footprint..."), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bButtonsSizer->Add( m_buttonExchange, 0, wxEXPAND|wxALL, 5 );
|
||||
@ -256,10 +256,10 @@ DIALOG_FOOTPRINT_BOARD_EDITOR_BASE::DIALOG_FOOTPRINT_BOARD_EDITOR_BASE( wxWindow
|
||||
bButtonsSizer->Add( m_buttonModuleEditor, 0, wxEXPAND|wxALL, 5 );
|
||||
|
||||
|
||||
bButtonsSizer->Add( 0, 15, 1, wxEXPAND, 5 );
|
||||
bButtonsSizer->Add( 0, 10, 0, wxEXPAND, 5 );
|
||||
|
||||
m_button5 = new wxButton( m_PanelGeneral, wxID_ANY, _("Edit Library Footprint..."), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bButtonsSizer->Add( m_button5, 0, wxALL|wxEXPAND, 5 );
|
||||
bButtonsSizer->Add( m_button5, 0, wxEXPAND|wxALL, 5 );
|
||||
|
||||
|
||||
bSizerRight->Add( bButtonsSizer, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
@ -267,11 +267,36 @@ DIALOG_FOOTPRINT_BOARD_EDITOR_BASE::DIALOG_FOOTPRINT_BOARD_EDITOR_BASE( wxWindow
|
||||
|
||||
bSizerRight->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||
|
||||
wxString m_AttributsCtrlChoices[] = { _("Through hole"), _("Surface mount"), _("Virtual") };
|
||||
int m_AttributsCtrlNChoices = sizeof( m_AttributsCtrlChoices ) / sizeof( wxString );
|
||||
m_AttributsCtrl = new wxRadioBox( m_PanelGeneral, wxID_ANY, _("Fabrication Attributes"), wxDefaultPosition, wxDefaultSize, m_AttributsCtrlNChoices, m_AttributsCtrlChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_AttributsCtrl->SetSelection( 0 );
|
||||
bSizerRight->Add( m_AttributsCtrl, 0, wxALL|wxEXPAND, 5 );
|
||||
wxStaticBoxSizer* sbFabSizer;
|
||||
sbFabSizer = new wxStaticBoxSizer( new wxStaticBox( m_PanelGeneral, wxID_ANY, _("Fabrication Attributes") ), wxVERTICAL );
|
||||
|
||||
wxBoxSizer* bPartTypeSizer;
|
||||
bPartTypeSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
m_componentTypeLabel = new wxStaticText( sbFabSizer->GetStaticBox(), wxID_ANY, _("Component:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_componentTypeLabel->Wrap( -1 );
|
||||
bPartTypeSizer->Add( m_componentTypeLabel, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
wxString m_componentTypeChoices[] = { _("Through hole"), _("SMD"), _("Other") };
|
||||
int m_componentTypeNChoices = sizeof( m_componentTypeChoices ) / sizeof( wxString );
|
||||
m_componentType = new wxChoice( sbFabSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_componentTypeNChoices, m_componentTypeChoices, 0 );
|
||||
m_componentType->SetSelection( 0 );
|
||||
bPartTypeSizer->Add( m_componentType, 1, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
|
||||
sbFabSizer->Add( bPartTypeSizer, 1, wxEXPAND, 5 );
|
||||
|
||||
m_boardOnly = new wxCheckBox( sbFabSizer->GetStaticBox(), wxID_ANY, _("Not in schematic"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
sbFabSizer->Add( m_boardOnly, 0, wxALL, 5 );
|
||||
|
||||
m_excludeFromPosFiles = new wxCheckBox( sbFabSizer->GetStaticBox(), wxID_ANY, _("Exclude from position files"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
sbFabSizer->Add( m_excludeFromPosFiles, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_excludeFromBOM = new wxCheckBox( sbFabSizer->GetStaticBox(), wxID_ANY, _("Exclude from BOM"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
sbFabSizer->Add( m_excludeFromBOM, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
|
||||
bSizerRight->Add( sbFabSizer, 0, wxEXPAND|wxALL, 5 );
|
||||
|
||||
|
||||
bSizerProperties->Add( bSizerRight, 1, wxEXPAND|wxTOP, 5 );
|
||||
|
@ -1831,27 +1831,27 @@
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND|wxTOP</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizerRight</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bButtonsSizer</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="flag">wxEXPAND|wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxButton" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
@ -2068,19 +2068,19 @@
|
||||
<event name="OnButtonClick">EditFootprint</event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="spacer" expanded="0">
|
||||
<property name="height">15</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="spacer" expanded="1">
|
||||
<property name="height">10</property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="width">0</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="flag">wxEXPAND|wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxButton" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
@ -2163,70 +2163,346 @@
|
||||
<property name="width">0</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="flag">wxEXPAND|wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxRadioBox" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="choices">"Through hole" "Surface mount" "Virtual"</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<object class="wxStaticBoxSizer" expanded="1">
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Fabrication Attributes</property>
|
||||
<property name="majorDimension">1</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_AttributsCtrl</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<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">wxRA_SPECIFY_COLS</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></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="name">sbFabSizer</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="parent">1</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bPartTypeSizer</property>
|
||||
<property name="orient">wxHORIZONTAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Component:</property>
|
||||
<property name="markup">0</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_componentTypeLabel</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></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="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxChoice" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="choices">"Through hole" "SMD" "Other"</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_componentType</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<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="toolbar_pane">0</property>
|
||||
<property name="tooltip"></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>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxCheckBox" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="checked">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Not in schematic</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_boardOnly</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></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>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxCheckBox" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="checked">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Exclude from position files</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_excludeFromPosFiles</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></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>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxCheckBox" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="checked">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Exclude from BOM</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_excludeFromBOM</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></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>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
|
@ -34,6 +34,7 @@ class WX_GRID;
|
||||
#include <wx/gbsizer.h>
|
||||
#include <wx/radiobox.h>
|
||||
#include <wx/slider.h>
|
||||
#include <wx/checkbox.h>
|
||||
#include <wx/panel.h>
|
||||
#include <wx/notebook.h>
|
||||
#include <wx/dialog.h>
|
||||
@ -83,7 +84,11 @@ class DIALOG_FOOTPRINT_BOARD_EDITOR_BASE : public DIALOG_SHIM
|
||||
wxButton* m_buttonExchange;
|
||||
wxButton* m_buttonModuleEditor;
|
||||
wxButton* m_button5;
|
||||
wxRadioBox* m_AttributsCtrl;
|
||||
wxStaticText* m_componentTypeLabel;
|
||||
wxChoice* m_componentType;
|
||||
wxCheckBox* m_boardOnly;
|
||||
wxCheckBox* m_excludeFromPosFiles;
|
||||
wxCheckBox* m_excludeFromBOM;
|
||||
wxPanel* m_PanelClearances;
|
||||
wxStaticText* m_staticTextInfo;
|
||||
wxStaticText* m_staticTextInfoValPos;
|
||||
|
@ -225,20 +225,16 @@ bool DIALOG_FOOTPRINT_FP_EDITOR::TransferDataToWindow()
|
||||
m_CostRot90Ctrl->SetValue( m_footprint->GetPlacementCost90() );
|
||||
m_CostRot180Ctrl->SetValue( m_footprint->GetPlacementCost180() );
|
||||
|
||||
m_AttributsCtrl->SetItemToolTip( 0, _( "Use this attribute for most non SMD footprints\n"
|
||||
"Footprints with this option are not put in the footprint position list file" ) );
|
||||
m_AttributsCtrl->SetItemToolTip( 1, _( "Use this attribute for SMD footprints.\n"
|
||||
"Only footprints with this option are put in the footprint position list file" ) );
|
||||
m_AttributsCtrl->SetItemToolTip( 2, _( "Use this attribute for \"virtual\" footprints drawn on board\n"
|
||||
"such as an edge connector (old ISA PC bus for instance)" ) );
|
||||
if( m_footprint->GetAttributes() & MOD_THROUGH_HOLE )
|
||||
m_componentType->SetSelection( 0 );
|
||||
else if( m_footprint->GetAttributes() & MOD_SMD )
|
||||
m_componentType->SetSelection( 1 );
|
||||
else
|
||||
m_componentType->SetSelection( 2 );
|
||||
|
||||
switch( m_footprint->GetAttributes() & 255 )
|
||||
{
|
||||
case MOD_CMS: m_AttributsCtrl->SetSelection( 1 ); break;
|
||||
case MOD_VIRTUAL: m_AttributsCtrl->SetSelection( 2 ); break;
|
||||
case 0:
|
||||
default: m_AttributsCtrl->SetSelection( 0 ); break;
|
||||
}
|
||||
m_boardOnly->SetValue( m_footprint->GetAttributes() & MOD_BOARD_ONLY );
|
||||
m_excludeFromPosFiles->SetValue( m_footprint->GetAttributes() & MOD_EXCLUDE_FROM_POS_FILES );
|
||||
m_excludeFromBOM->SetValue( m_footprint->GetAttributes() & MOD_EXCLUDE_FROM_BOM );
|
||||
|
||||
// Local Clearances
|
||||
|
||||
@ -640,14 +636,26 @@ bool DIALOG_FOOTPRINT_FP_EDITOR::TransferDataFromWindow()
|
||||
|
||||
m_footprint->SetLocked( m_AutoPlaceCtrl->GetSelection() == 1 );
|
||||
|
||||
switch( m_AttributsCtrl->GetSelection() )
|
||||
int attributes = 0;
|
||||
|
||||
switch( m_componentType->GetSelection() )
|
||||
{
|
||||
case 0: m_footprint->SetAttributes( 0 ); break;
|
||||
case 1: m_footprint->SetAttributes( MOD_CMS ); break;
|
||||
case 2: m_footprint->SetAttributes( MOD_VIRTUAL ); break;
|
||||
default: wxFAIL;
|
||||
case 0: attributes |= MOD_THROUGH_HOLE; break;
|
||||
case 1: attributes |= MOD_SMD; break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
if( m_boardOnly->GetValue() )
|
||||
attributes |= MOD_BOARD_ONLY;
|
||||
|
||||
if( m_excludeFromPosFiles->GetValue() )
|
||||
attributes |= MOD_EXCLUDE_FROM_POS_FILES;
|
||||
|
||||
if( m_excludeFromBOM->GetValue() )
|
||||
attributes |= MOD_EXCLUDE_FROM_BOM;
|
||||
|
||||
m_footprint->SetAttributes( attributes );
|
||||
|
||||
m_footprint->SetPlacementCost90( m_CostRot90Ctrl->GetValue() );
|
||||
m_footprint->SetPlacementCost180( m_CostRot180Ctrl->GetValue() );
|
||||
|
||||
@ -673,18 +681,10 @@ bool DIALOG_FOOTPRINT_FP_EDITOR::TransferDataFromWindow()
|
||||
switch( m_ZoneConnectionChoice->GetSelection() )
|
||||
{
|
||||
default:
|
||||
case 0:
|
||||
m_footprint->SetZoneConnection( ZONE_CONNECTION::INHERITED );
|
||||
break;
|
||||
case 1:
|
||||
m_footprint->SetZoneConnection( ZONE_CONNECTION::FULL );
|
||||
break;
|
||||
case 2:
|
||||
m_footprint->SetZoneConnection( ZONE_CONNECTION::THERMAL );
|
||||
break;
|
||||
case 3:
|
||||
m_footprint->SetZoneConnection( ZONE_CONNECTION::NONE );
|
||||
break;
|
||||
case 0: m_footprint->SetZoneConnection( ZONE_CONNECTION::INHERITED ); break;
|
||||
case 1: m_footprint->SetZoneConnection( ZONE_CONNECTION::FULL ); break;
|
||||
case 2: m_footprint->SetZoneConnection( ZONE_CONNECTION::THERMAL ); break;
|
||||
case 3: m_footprint->SetZoneConnection( ZONE_CONNECTION::NONE ); break;
|
||||
}
|
||||
|
||||
std::list<MODULE_3D_SETTINGS>* draw3D = &m_footprint->Models();
|
||||
|
@ -172,13 +172,38 @@ DIALOG_FOOTPRINT_FP_EDITOR_BASE::DIALOG_FOOTPRINT_FP_EDITOR_BASE( wxWindow* pare
|
||||
m_sizerAP->Add( m_sizerAllow180, 0, wxEXPAND, 5 );
|
||||
|
||||
|
||||
bSizerProperties->Add( m_sizerAP, 1, wxEXPAND|wxTOP, 5 );
|
||||
bSizerProperties->Add( m_sizerAP, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
wxString m_AttributsCtrlChoices[] = { _("Through hole"), _("Surface mount"), _("Virtual") };
|
||||
int m_AttributsCtrlNChoices = sizeof( m_AttributsCtrlChoices ) / sizeof( wxString );
|
||||
m_AttributsCtrl = new wxRadioBox( m_PanelGeneral, wxID_ANY, _("Fabrication Attributes"), wxDefaultPosition, wxDefaultSize, m_AttributsCtrlNChoices, m_AttributsCtrlChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_AttributsCtrl->SetSelection( 1 );
|
||||
bSizerProperties->Add( m_AttributsCtrl, 1, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
wxStaticBoxSizer* sbFabSizer;
|
||||
sbFabSizer = new wxStaticBoxSizer( new wxStaticBox( m_PanelGeneral, wxID_ANY, _("Fabrication Attributes") ), wxVERTICAL );
|
||||
|
||||
wxBoxSizer* bPartTypeSizer;
|
||||
bPartTypeSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
m_componentTypeLabel = new wxStaticText( sbFabSizer->GetStaticBox(), wxID_ANY, _("Component:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_componentTypeLabel->Wrap( -1 );
|
||||
bPartTypeSizer->Add( m_componentTypeLabel, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
wxString m_componentTypeChoices[] = { _("Through hole"), _("SMD"), _("Other") };
|
||||
int m_componentTypeNChoices = sizeof( m_componentTypeChoices ) / sizeof( wxString );
|
||||
m_componentType = new wxChoice( sbFabSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_componentTypeNChoices, m_componentTypeChoices, 0 );
|
||||
m_componentType->SetSelection( 0 );
|
||||
bPartTypeSizer->Add( m_componentType, 1, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
|
||||
sbFabSizer->Add( bPartTypeSizer, 0, wxEXPAND, 5 );
|
||||
|
||||
m_boardOnly = new wxCheckBox( sbFabSizer->GetStaticBox(), wxID_ANY, _("Not in schematic"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
sbFabSizer->Add( m_boardOnly, 0, wxALL, 5 );
|
||||
|
||||
m_excludeFromPosFiles = new wxCheckBox( sbFabSizer->GetStaticBox(), wxID_ANY, _("Exclude from position files"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
sbFabSizer->Add( m_excludeFromPosFiles, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_excludeFromBOM = new wxCheckBox( sbFabSizer->GetStaticBox(), wxID_ANY, _("Exclude from BOM"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
sbFabSizer->Add( m_excludeFromBOM, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
|
||||
bSizerProperties->Add( sbFabSizer, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
|
||||
m_PanelPropertiesBoxSizer->Add( bSizerProperties, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
|
||||
|
@ -918,7 +918,7 @@
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND|wxTOP</property>
|
||||
<property name="flag">wxEXPAND|wxTOP|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxStaticBoxSizer" expanded="1">
|
||||
<property name="id">wxID_ANY</property>
|
||||
@ -1214,70 +1214,346 @@
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
|
||||
<property name="flag">wxEXPAND|wxTOP|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxRadioBox" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="choices">"Through hole" "Surface mount" "Virtual"</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<object class="wxStaticBoxSizer" expanded="1">
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Fabrication Attributes</property>
|
||||
<property name="majorDimension">1</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_AttributsCtrl</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="selection">1</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style">wxRA_SPECIFY_COLS</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></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="name">sbFabSizer</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="parent">1</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bPartTypeSizer</property>
|
||||
<property name="orient">wxHORIZONTAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Component:</property>
|
||||
<property name="markup">0</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_componentTypeLabel</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></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="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxChoice" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="choices">"Through hole" "SMD" "Other"</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_componentType</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<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="toolbar_pane">0</property>
|
||||
<property name="tooltip"></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>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxCheckBox" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="checked">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Not in schematic</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_boardOnly</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></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>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxCheckBox" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="checked">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Exclude from position files</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_excludeFromPosFiles</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></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>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxCheckBox" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="checked">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Exclude from BOM</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_excludeFromBOM</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></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>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
|
@ -31,8 +31,9 @@ class WX_GRID;
|
||||
#include <wx/textctrl.h>
|
||||
#include <wx/radiobox.h>
|
||||
#include <wx/slider.h>
|
||||
#include <wx/panel.h>
|
||||
#include <wx/choice.h>
|
||||
#include <wx/checkbox.h>
|
||||
#include <wx/panel.h>
|
||||
#include <wx/notebook.h>
|
||||
#include <wx/dialog.h>
|
||||
|
||||
@ -66,7 +67,11 @@ class DIALOG_FOOTPRINT_FP_EDITOR_BASE : public DIALOG_SHIM
|
||||
wxBoxSizer* m_sizerAllow180;
|
||||
wxStaticText* m_allow180Label;
|
||||
wxSlider* m_CostRot180Ctrl;
|
||||
wxRadioBox* m_AttributsCtrl;
|
||||
wxStaticText* m_componentTypeLabel;
|
||||
wxChoice* m_componentType;
|
||||
wxCheckBox* m_boardOnly;
|
||||
wxCheckBox* m_excludeFromPosFiles;
|
||||
wxCheckBox* m_excludeFromBOM;
|
||||
wxPanel* m_PanelClearances;
|
||||
wxStaticText* m_staticTextInfo;
|
||||
wxStaticText* m_staticTextInfoValPos;
|
||||
|
@ -51,10 +51,11 @@ int g_matchModeForUpdateSelected = ID_MATCH_FP_SELECTED;
|
||||
int g_matchModeForExchange = ID_MATCH_FP_REF;
|
||||
int g_matchModeForExchangeSelected = ID_MATCH_FP_SELECTED;
|
||||
|
||||
bool g_removeExtraTextItems = false;
|
||||
bool g_resetTextItemLayers = false;
|
||||
bool g_resetTextItemEffects = false;
|
||||
bool g_reset3DModels = false;
|
||||
bool g_removeExtraTextItems = false;
|
||||
bool g_resetTextItemLayers = false;
|
||||
bool g_resetTextItemEffects = false;
|
||||
bool g_resetFabricationAttrs = false;
|
||||
bool g_reset3DModels = false;
|
||||
|
||||
|
||||
DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS( PCB_EDIT_FRAME* aParent, MODULE* aModule,
|
||||
@ -139,6 +140,7 @@ DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS( PCB_EDIT_FRAME* aParent,
|
||||
m_removeExtraBox->SetValue( g_removeExtraTextItems );
|
||||
m_resetTextItemLayers->SetValue( g_resetTextItemLayers );
|
||||
m_resetTextItemEffects->SetValue( g_resetTextItemEffects );
|
||||
m_resetFabricationAttrs->SetValue( g_resetFabricationAttrs );
|
||||
m_reset3DModels->SetValue( g_reset3DModels );
|
||||
|
||||
m_MessageWindow->SetLazyUpdate( true );
|
||||
@ -163,6 +165,7 @@ DIALOG_EXCHANGE_FOOTPRINTS::~DIALOG_EXCHANGE_FOOTPRINTS()
|
||||
g_removeExtraTextItems = m_removeExtraBox->GetValue();
|
||||
g_resetTextItemLayers = m_resetTextItemLayers->GetValue();
|
||||
g_resetTextItemEffects = m_resetTextItemEffects->GetValue();
|
||||
g_resetFabricationAttrs = m_resetFabricationAttrs->GetValue();
|
||||
g_reset3DModels = m_reset3DModels->GetValue();
|
||||
}
|
||||
|
||||
@ -374,6 +377,7 @@ bool DIALOG_EXCHANGE_FOOTPRINTS::processModule( MODULE* aModule, const LIB_ID& a
|
||||
m_removeExtraBox->GetValue(),
|
||||
m_resetTextItemLayers->GetValue(),
|
||||
m_resetTextItemEffects->GetValue(),
|
||||
m_resetFabricationAttrs->GetValue(),
|
||||
m_reset3DModels->GetValue() );
|
||||
|
||||
if( aModule == m_currentModule )
|
||||
@ -458,7 +462,8 @@ TEXTE_MODULE* getMatchingTextItem( TEXTE_MODULE* aRefItem, MODULE* aModule )
|
||||
|
||||
void PCB_EDIT_FRAME::Exchange_Module( MODULE* aSrc, MODULE* aDest, BOARD_COMMIT& aCommit,
|
||||
bool deleteExtraTexts, bool resetTextLayers,
|
||||
bool resetTextEffects, bool reset3DModels )
|
||||
bool resetTextEffects, bool resetFabricationAttrs,
|
||||
bool reset3DModels )
|
||||
{
|
||||
aDest->SetParent( GetBoard() );
|
||||
|
||||
@ -517,6 +522,9 @@ void PCB_EDIT_FRAME::Exchange_Module( MODULE* aSrc, MODULE* aDest, BOARD_COMMIT&
|
||||
}
|
||||
}
|
||||
|
||||
if( !resetFabricationAttrs )
|
||||
aDest->SetAttributes( aSrc->GetAttributes() );
|
||||
|
||||
// Copy 3D model settings in accordance with the reset* flag
|
||||
if( !reset3DModels )
|
||||
aDest->Models() = aSrc->Models(); // Linked list of 3D models.
|
||||
|
@ -1,5 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version 3.9.0 Jun 3 2020)
|
||||
// C++ code generated with wxFormBuilder (version Oct 26 2018)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO *NOT* EDIT THIS FILE!
|
||||
@ -104,6 +104,9 @@ DIALOG_EXCHANGE_FOOTPRINTS_BASE::DIALOG_EXCHANGE_FOOTPRINTS_BASE( wxWindow* pare
|
||||
m_resetTextItemEffects = new wxCheckBox( m_updateOptionsSizer->GetStaticBox(), wxID_ANY, _("Reset text sizes, styles and positions"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_updateOptionsSizer->Add( m_resetTextItemEffects, 0, wxBOTTOM|wxRIGHT, 5 );
|
||||
|
||||
m_resetFabricationAttrs = new wxCheckBox( m_updateOptionsSizer->GetStaticBox(), wxID_ANY, _("Reset fabrication attributes"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_updateOptionsSizer->Add( m_resetFabricationAttrs, 0, wxBOTTOM|wxRIGHT, 5 );
|
||||
|
||||
m_reset3DModels = new wxCheckBox( m_updateOptionsSizer->GetStaticBox(), wxID_ANY, _("Reset 3D models"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_updateOptionsSizer->Add( m_reset3DModels, 0, wxBOTTOM|wxRIGHT, 5 );
|
||||
|
||||
|
@ -14,7 +14,6 @@
|
||||
<property name="file">dialog_exchange_footprints_base</property>
|
||||
<property name="first_id">4200</property>
|
||||
<property name="help_provider">none</property>
|
||||
<property name="image_path_wrapper_function_name"></property>
|
||||
<property name="indent_with_spaces"></property>
|
||||
<property name="internationalize">1</property>
|
||||
<property name="name">dialog_exchange_footprints_base</property>
|
||||
@ -26,7 +25,6 @@
|
||||
<property name="skip_php_events">1</property>
|
||||
<property name="skip_python_events">1</property>
|
||||
<property name="ui_table">UI</property>
|
||||
<property name="use_array_enum">0</property>
|
||||
<property name="use_enum">0</property>
|
||||
<property name="use_microsoft_bom">0</property>
|
||||
<object class="Dialog" expanded="1">
|
||||
@ -644,7 +642,6 @@
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="auth_needed">0</property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="bitmap"></property>
|
||||
@ -921,7 +918,6 @@
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="auth_needed">0</property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="bitmap"></property>
|
||||
@ -1190,6 +1186,70 @@
|
||||
<property name="window_style"></property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxBOTTOM|wxRIGHT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxCheckBox" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="checked">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Reset fabrication attributes</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_resetFabricationAttrs</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></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>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxBOTTOM|wxRIGHT</property>
|
||||
|
@ -1,5 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version 3.9.0 Jun 3 2020)
|
||||
// C++ code generated with wxFormBuilder (version Oct 26 2018)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO *NOT* EDIT THIS FILE!
|
||||
@ -63,6 +63,7 @@ class DIALOG_EXCHANGE_FOOTPRINTS_BASE : public DIALOG_SHIM
|
||||
wxCheckBox* m_removeExtraBox;
|
||||
wxCheckBox* m_resetTextItemLayers;
|
||||
wxCheckBox* m_resetTextItemEffects;
|
||||
wxCheckBox* m_resetFabricationAttrs;
|
||||
wxCheckBox* m_reset3DModels;
|
||||
WX_HTML_REPORT_PANEL* m_MessageWindow;
|
||||
wxStdDialogButtonSizer* m_sdbSizer;
|
||||
|
@ -73,8 +73,8 @@ DIALOG_GEN_FOOTPRINT_POSITION_BASE::DIALOG_GEN_FOOTPRINT_POSITION_BASE( wxWindow
|
||||
wxBoxSizer* bSizerLower;
|
||||
bSizerLower = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_forceSMDOpt = new wxCheckBox( this, wxID_ANY, _("Include footprints with SMD pads even if not marked Surface Mount"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizerLower->Add( m_forceSMDOpt, 0, wxALL, 5 );
|
||||
m_excludeTH = new wxCheckBox( this, wxID_ANY, _("Exclude all footprints with through hole pads"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizerLower->Add( m_excludeTH, 0, wxALL, 5 );
|
||||
|
||||
m_cbIncludeBoardEdge = new wxCheckBox( this, wxID_ANY, _("Include board edge layer"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizerLower->Add( m_cbIncludeBoardEdge, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
@ -110,7 +110,7 @@ DIALOG_GEN_FOOTPRINT_POSITION_BASE::DIALOG_GEN_FOOTPRINT_POSITION_BASE( wxWindow
|
||||
m_rbFormat->Connect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onSelectFormat ), NULL, this );
|
||||
m_radioBoxUnits->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIUnits ), NULL, this );
|
||||
m_radioBoxFilesCount->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIFileOpt ), NULL, this );
|
||||
m_forceSMDOpt->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIforceSMDOpt ), NULL, this );
|
||||
m_excludeTH->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIExcludeTH ), NULL, this );
|
||||
m_cbIncludeBoardEdge->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIincludeBoardEdge ), NULL, this );
|
||||
m_sdbSizerOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::OnGenerate ), NULL, this );
|
||||
}
|
||||
@ -122,7 +122,7 @@ DIALOG_GEN_FOOTPRINT_POSITION_BASE::~DIALOG_GEN_FOOTPRINT_POSITION_BASE()
|
||||
m_rbFormat->Disconnect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onSelectFormat ), NULL, this );
|
||||
m_radioBoxUnits->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIUnits ), NULL, this );
|
||||
m_radioBoxFilesCount->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIFileOpt ), NULL, this );
|
||||
m_forceSMDOpt->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIforceSMDOpt ), NULL, this );
|
||||
m_excludeTH->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIExcludeTH ), NULL, this );
|
||||
m_cbIncludeBoardEdge->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::onUpdateUIincludeBoardEdge ), NULL, this );
|
||||
m_sdbSizerOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_GEN_FOOTPRINT_POSITION_BASE::OnGenerate ), NULL, this );
|
||||
|
||||
|
@ -532,7 +532,7 @@
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Include footprints with SMD pads even if not marked Surface Mount</property>
|
||||
<property name="label">Exclude all footprints with through hole pads</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
@ -540,7 +540,7 @@
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_forceSMDOpt</property>
|
||||
<property name="name">m_excludeTH</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
@ -561,7 +561,7 @@
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnUpdateUI">onUpdateUIforceSMDOpt</event>
|
||||
<event name="OnUpdateUI">onUpdateUIExcludeTH</event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
|
@ -49,7 +49,7 @@ class DIALOG_GEN_FOOTPRINT_POSITION_BASE : public DIALOG_SHIM
|
||||
wxRadioBox* m_rbFormat;
|
||||
wxRadioBox* m_radioBoxUnits;
|
||||
wxRadioBox* m_radioBoxFilesCount;
|
||||
wxCheckBox* m_forceSMDOpt;
|
||||
wxCheckBox* m_excludeTH;
|
||||
wxCheckBox* m_cbIncludeBoardEdge;
|
||||
WX_HTML_REPORT_PANEL* m_messagesPanel;
|
||||
wxStaticLine* m_staticline;
|
||||
@ -62,7 +62,7 @@ class DIALOG_GEN_FOOTPRINT_POSITION_BASE : public DIALOG_SHIM
|
||||
virtual void onSelectFormat( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void onUpdateUIUnits( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||
virtual void onUpdateUIFileOpt( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||
virtual void onUpdateUIforceSMDOpt( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||
virtual void onUpdateUIExcludeTH( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||
virtual void onUpdateUIincludeBoardEdge( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||
virtual void OnGenerate( wxCommandEvent& event ) { event.Skip(); }
|
||||
|
||||
|
@ -289,7 +289,6 @@ void DIALOG_NETLIST::loadNetlist( bool aDryRun )
|
||||
|
||||
NETLIST netlist;
|
||||
|
||||
netlist.SetDeleteExtraFootprints( m_cbDeleteExtraFootprints->GetValue() );
|
||||
netlist.SetFindByTimeStamp( m_matchByUUID );
|
||||
netlist.SetReplaceFootprints( m_cbUpdateFootprints->GetValue() );
|
||||
|
||||
|
@ -35,7 +35,7 @@ DIALOG_NETLIST_BASE::DIALOG_NETLIST_BASE( wxWindow* parent, wxWindowID id, const
|
||||
bSizerNetlistFilename->Add( m_browseButton, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 2 );
|
||||
|
||||
|
||||
bMainSizer->Add( bSizerNetlistFilename, 0, wxALL|wxEXPAND, 5 );
|
||||
bMainSizer->Add( bSizerNetlistFilename, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 );
|
||||
|
||||
wxBoxSizer* bUpperSizer;
|
||||
bUpperSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
@ -72,7 +72,7 @@ DIALOG_NETLIST_BASE::DIALOG_NETLIST_BASE( wxWindow* parent, wxWindowID id, const
|
||||
bUpperSizer->Add( sbSizer1, 1, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
|
||||
|
||||
|
||||
bMainSizer->Add( bUpperSizer, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
|
||||
bMainSizer->Add( bUpperSizer, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
wxBoxSizer* bLowerSizer;
|
||||
bLowerSizer = new wxBoxSizer( wxVERTICAL );
|
||||
@ -89,7 +89,7 @@ DIALOG_NETLIST_BASE::DIALOG_NETLIST_BASE( wxWindow* parent, wxWindowID id, const
|
||||
m_buttonFPTest = new wxButton( this, ID_TEST_NETLIST, _("Test Footprints"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_buttonFPTest->SetToolTip( _("Read the current netlist file and list missing and extra footprints") );
|
||||
|
||||
m_buttonsSizer->Add( m_buttonFPTest, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 );
|
||||
m_buttonsSizer->Add( m_buttonFPTest, 0, wxEXPAND|wxLEFT|wxRIGHT, 10 );
|
||||
|
||||
m_sdbSizer1 = new wxStdDialogButtonSizer();
|
||||
m_sdbSizer1OK = new wxButton( this, wxID_OK );
|
||||
@ -103,7 +103,7 @@ DIALOG_NETLIST_BASE::DIALOG_NETLIST_BASE( wxWindow* parent, wxWindowID id, const
|
||||
m_buttonsSizer->Add( m_sdbSizer1, 1, wxEXPAND, 5 );
|
||||
|
||||
|
||||
bMainSizer->Add( m_buttonsSizer, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxTOP, 5 );
|
||||
bMainSizer->Add( m_buttonsSizer, 0, wxEXPAND|wxALL, 5 );
|
||||
|
||||
|
||||
this->SetSizer( bMainSizer );
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user