Improve spelling.
The groundwork here is thanks to kunda1. Fixes: lp:1831510 * https://bugs.launchpad.net/kicad/+bug/1831510
This commit is contained in:
parent
baeb3689b5
commit
a25368cc6b
|
@ -65,7 +65,7 @@ CINFO3D_VISU::CINFO3D_VISU() :
|
||||||
m_boardSize = wxSize();
|
m_boardSize = wxSize();
|
||||||
m_boardCenter = SFVEC3F( 0.0f );
|
m_boardCenter = SFVEC3F( 0.0f );
|
||||||
|
|
||||||
m_boardBoudingBox.Reset();
|
m_boardBoundingBox.Reset();
|
||||||
|
|
||||||
m_layers_container2D.clear();
|
m_layers_container2D.clear();
|
||||||
m_layers_holes2D.clear();
|
m_layers_holes2D.clear();
|
||||||
|
@ -415,7 +415,7 @@ void CINFO3D_VISU::InitSettings( REPORTER *aStatusTextReporter )
|
||||||
boardMin.z = m_layerZcoordTop[B_Adhes];
|
boardMin.z = m_layerZcoordTop[B_Adhes];
|
||||||
boardMax.z = m_layerZcoordTop[F_Adhes];
|
boardMax.z = m_layerZcoordTop[F_Adhes];
|
||||||
|
|
||||||
m_boardBoudingBox = CBBOX( boardMin, boardMax );
|
m_boardBoundingBox = CBBOX( boardMin, boardMax );
|
||||||
|
|
||||||
#ifdef PRINT_STATISTICS_3D_VIEWER
|
#ifdef PRINT_STATISTICS_3D_VIEWER
|
||||||
unsigned stats_startCreateBoardPolyTime = GetRunningMicroSecs();
|
unsigned stats_startCreateBoardPolyTime = GetRunningMicroSecs();
|
||||||
|
|
|
@ -144,7 +144,7 @@ class CINFO3D_VISU
|
||||||
* @brief GetBBox3DU - Get the bbox of the pcb board
|
* @brief GetBBox3DU - Get the bbox of the pcb board
|
||||||
* @return the board bbox in 3d units
|
* @return the board bbox in 3d units
|
||||||
*/
|
*/
|
||||||
const CBBOX &GetBBox3DU() const { return m_boardBoudingBox; }
|
const CBBOX &GetBBox3DU() const { return m_boardBoundingBox; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief GetEpoxyThickness3DU - Get the current epoxy thickness
|
* @brief GetEpoxyThickness3DU - Get the current epoxy thickness
|
||||||
|
@ -541,8 +541,8 @@ private:
|
||||||
|
|
||||||
// Pcb board bounding boxes
|
// Pcb board bounding boxes
|
||||||
|
|
||||||
/// 3d bouding box of the pcb board in 3d units
|
/// 3d bounding box of the pcb board in 3d units
|
||||||
CBBOX m_boardBoudingBox;
|
CBBOX m_boardBoundingBox;
|
||||||
|
|
||||||
/// It contains polygon contours for each layer
|
/// It contains polygon contours for each layer
|
||||||
MAP_POLY m_layers_poly;
|
MAP_POLY m_layers_poly;
|
||||||
|
|
|
@ -109,9 +109,9 @@ public:
|
||||||
float *aOutT,
|
float *aOutT,
|
||||||
SFVEC2F *aNormalOut ) const = 0;
|
SFVEC2F *aNormalOut ) const = 0;
|
||||||
|
|
||||||
/** Function IsBBoxInside
|
/**
|
||||||
* @brief Tests if the bouding is out, intersects or is complety inside
|
* Function IsBBoxInside
|
||||||
* @param aBBox - The bounding box to test
|
* @brief Tests if the bounding is out, intersects or is complety inside
|
||||||
* @return INTERSECTION_RESULT
|
* @return INTERSECTION_RESULT
|
||||||
*/
|
*/
|
||||||
virtual INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const = 0;
|
virtual INTERSECTION_RESULT IsBBoxInside( const CBBOX2D &aBBox ) const = 0;
|
||||||
|
|
|
@ -88,7 +88,7 @@ bool CPOLYGON4PTS2D::Intersects( const CBBOX2D &aBBox ) const
|
||||||
if( !m_bbox.Intersects( aBBox ) )
|
if( !m_bbox.Intersects( aBBox ) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Check if the bouding box complety have inside the small bouding box
|
// Check if the bounding box complety have inside the small bounding box
|
||||||
if( (aBBox.Max().x > m_bbox.Max().x) &&
|
if( (aBBox.Max().x > m_bbox.Max().x) &&
|
||||||
(aBBox.Max().y > m_bbox.Max().x) &&
|
(aBBox.Max().y > m_bbox.Max().x) &&
|
||||||
(aBBox.Min().x < m_bbox.Min().x) &&
|
(aBBox.Min().x < m_bbox.Min().x) &&
|
||||||
|
|
|
@ -268,7 +268,7 @@ public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor ( LINE_READER* )
|
* Constructor ( LINE_READER* )
|
||||||
* intializes a lexer and prepares to read from @a aLineReader which
|
* initializes a lexer and prepares to read from @a aLineReader which
|
||||||
* is assumed ready, and may be in use by other DSNLEXERs also. No ownership
|
* is assumed ready, and may be in use by other DSNLEXERs also. No ownership
|
||||||
* is taken of @a aLineReader. This enables it to be used by other lexers also.
|
* is taken of @a aLineReader. This enables it to be used by other lexers also.
|
||||||
* The transition between grammars in such a case, must happen on a text
|
* The transition between grammars in such a case, must happen on a text
|
||||||
|
|
|
@ -161,7 +161,7 @@ int BITMAPCONV_INFO::ConvertBitmap( potrace_bitmap_t* aPotrace_bitmap,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const char* BITMAPCONV_INFO::getBrdLayerName( BMP2CMP_MOD_LAYER aChoice )
|
const char* BITMAPCONV_INFO::getBoardLayerName( BMP2CMP_MOD_LAYER aChoice )
|
||||||
{
|
{
|
||||||
const char * layerName = "F.SilkS";
|
const char * layerName = "F.SilkS";
|
||||||
|
|
||||||
|
@ -270,7 +270,7 @@ void BITMAPCONV_INFO::outputDataEnd()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void BITMAPCONV_INFO::ouputOnePolygon( SHAPE_LINE_CHAIN & aPolygon, const char* aBrdLayerName )
|
void BITMAPCONV_INFO::outputOnePolygon( SHAPE_LINE_CHAIN & aPolygon, const char* aBrdLayerName )
|
||||||
{
|
{
|
||||||
// write one polygon to output file.
|
// write one polygon to output file.
|
||||||
// coordinates are expected in target unit.
|
// coordinates are expected in target unit.
|
||||||
|
@ -403,7 +403,7 @@ void BITMAPCONV_INFO::createOutputData( BMP2CMP_MOD_LAYER aModLayer )
|
||||||
// The layer name has meaning only for .kicad_mod files.
|
// The layer name has meaning only for .kicad_mod files.
|
||||||
// For these files the header creates 2 invisible texts: value and ref
|
// For these files the header creates 2 invisible texts: value and ref
|
||||||
// (needed but not usefull) on silk screen layer
|
// (needed but not usefull) on silk screen layer
|
||||||
outputDataHeader( getBrdLayerName( MOD_LYR_FSILKS ) );
|
outputDataHeader( getBoardLayerName( MOD_LYR_FSILKS ) );
|
||||||
|
|
||||||
bool main_outline = true;
|
bool main_outline = true;
|
||||||
|
|
||||||
|
@ -484,7 +484,7 @@ void BITMAPCONV_INFO::createOutputData( BMP2CMP_MOD_LAYER aModLayer )
|
||||||
for( int ii = 0; ii < polyset_areas.OutlineCount(); ii++ )
|
for( int ii = 0; ii < polyset_areas.OutlineCount(); ii++ )
|
||||||
{
|
{
|
||||||
SHAPE_LINE_CHAIN& poly = polyset_areas.Outline( ii );
|
SHAPE_LINE_CHAIN& poly = polyset_areas.Outline( ii );
|
||||||
ouputOnePolygon(poly, getBrdLayerName( aModLayer ) );
|
outputOnePolygon( poly, getBoardLayerName( aModLayer ));
|
||||||
}
|
}
|
||||||
|
|
||||||
polyset_areas.RemoveAllContours();
|
polyset_areas.RemoveAllContours();
|
||||||
|
|
|
@ -99,14 +99,14 @@ private:
|
||||||
* @return the board layer name depending on the board layer selected
|
* @return the board layer name depending on the board layer selected
|
||||||
* @param aChoice = the choice (MOD_LYR_FSILKS to MOD_LYR_FINAL)
|
* @param aChoice = the choice (MOD_LYR_FSILKS to MOD_LYR_FINAL)
|
||||||
*/
|
*/
|
||||||
const char * getBrdLayerName( BMP2CMP_MOD_LAYER aChoice );
|
const char * getBoardLayerName( BMP2CMP_MOD_LAYER aChoice );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function ouputOnePolygon
|
* Function outputOnePolygon
|
||||||
* write one polygon to output file.
|
* write one polygon to output file.
|
||||||
* Polygon coordinates are expected scaled by the polygon extraction function
|
* Polygon coordinates are expected scaled by the polygon extraction function
|
||||||
*/
|
*/
|
||||||
void ouputOnePolygon( SHAPE_LINE_CHAIN & aPolygon, const char* aBrdLayerName );
|
void outputOnePolygon( SHAPE_LINE_CHAIN & aPolygon, const char* aBrdLayerName );
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -22,18 +22,11 @@
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
|
||||||
* @file confirm.cpp
|
|
||||||
* @brief utilities to display some error, warning and info short messges
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <wx/stockitem.h>
|
#include <wx/stockitem.h>
|
||||||
#include <wx/richmsgdlg.h>
|
#include <wx/richmsgdlg.h>
|
||||||
|
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <bitmaps.h>
|
#include <bitmaps.h>
|
||||||
#include <html_messagebox.h>
|
#include <html_messagebox.h>
|
||||||
|
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|
||||||
|
@ -124,11 +117,11 @@ wxString KIDIALOG::getCaption( KD_TYPE aType, const wxString& aCaption )
|
||||||
|
|
||||||
switch( aType )
|
switch( aType )
|
||||||
{
|
{
|
||||||
case KD_NONE: /* fall through */
|
case KD_NONE: /* fall through */
|
||||||
case KD_INFO: return _( "Message" );
|
case KD_INFO: return _( "Message" );
|
||||||
case KD_QUESTION: return _( "Question" );
|
case KD_QUESTION: return _( "Question" );
|
||||||
case KD_WARNING: return _( "Warning" );
|
case KD_WARNING: return _( "Warning" );
|
||||||
case KD_ERROR: return _( "Error" );
|
case KD_ERROR: return _( "Error" );
|
||||||
}
|
}
|
||||||
|
|
||||||
return wxEmptyString;
|
return wxEmptyString;
|
||||||
|
@ -141,11 +134,11 @@ long KIDIALOG::getStyle( KD_TYPE aType )
|
||||||
|
|
||||||
switch( aType )
|
switch( aType )
|
||||||
{
|
{
|
||||||
case KD_NONE: break;
|
case KD_NONE: break;
|
||||||
case KD_INFO: style |= wxICON_INFORMATION; break;
|
case KD_INFO: style |= wxICON_INFORMATION; break;
|
||||||
case KD_QUESTION: style |= wxICON_QUESTION; break;
|
case KD_QUESTION: style |= wxICON_QUESTION; break;
|
||||||
case KD_WARNING: style |= wxICON_WARNING; break;
|
case KD_WARNING: style |= wxICON_WARNING; break;
|
||||||
case KD_ERROR: style |= wxICON_ERROR; break;
|
case KD_ERROR: style |= wxICON_ERROR; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return style;
|
return style;
|
||||||
|
@ -240,33 +233,29 @@ int OKOrCancelDialog( wxWindow* aParent, const wxString& aWarning, const wxStrin
|
||||||
|
|
||||||
|
|
||||||
// DisplayError should be deprecated, use DisplayErrorMessage instead
|
// DisplayError should be deprecated, use DisplayErrorMessage instead
|
||||||
void DisplayError( wxWindow* parent, const wxString& text, int displaytime )
|
void DisplayError( wxWindow* aParent, const wxString& aText, int aDisplayTime )
|
||||||
{
|
{
|
||||||
wxMessageDialog* dialog;
|
wxMessageDialog* dlg;
|
||||||
|
int icon = aDisplayTime > 0 ? wxICON_INFORMATION : wxICON_ERROR;
|
||||||
|
|
||||||
int icon = displaytime > 0 ? wxICON_INFORMATION : wxICON_ERROR;
|
dlg = new wxMessageDialog( aParent, aText, _( "Warning" ),
|
||||||
|
wxOK | wxCENTRE | wxRESIZE_BORDER | icon | wxSTAY_ON_TOP );
|
||||||
|
|
||||||
dialog = new wxMessageDialog( parent, text, _( "Warning" ),
|
dlg->ShowModal();
|
||||||
wxOK | wxCENTRE | wxRESIZE_BORDER |
|
dlg->Destroy();
|
||||||
icon | wxSTAY_ON_TOP );
|
|
||||||
|
|
||||||
dialog->ShowModal();
|
|
||||||
dialog->Destroy();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DisplayErrorMessage( wxWindow* aParent, const wxString& aText, const wxString& aExtraInfo )
|
void DisplayErrorMessage( wxWindow* aParent, const wxString& aText, const wxString& aExtraInfo )
|
||||||
{
|
{
|
||||||
wxRichMessageDialog* dlg;
|
wxRichMessageDialog* dlg;
|
||||||
|
int icon = wxICON_ERROR;
|
||||||
|
|
||||||
dlg = new wxRichMessageDialog( aParent, aText, _( "Error" ),
|
dlg = new wxRichMessageDialog( aParent, aText, _( "Error" ),
|
||||||
wxOK | wxCENTRE | wxRESIZE_BORDER |
|
wxOK | wxCENTRE | wxRESIZE_BORDER | icon | wxSTAY_ON_TOP );
|
||||||
wxICON_ERROR | wxSTAY_ON_TOP );
|
|
||||||
|
|
||||||
if( !aExtraInfo.IsEmpty() )
|
if( !aExtraInfo.IsEmpty() )
|
||||||
{
|
|
||||||
dlg->ShowDetailedText( aExtraInfo );
|
dlg->ShowDetailedText( aExtraInfo );
|
||||||
}
|
|
||||||
|
|
||||||
dlg->ShowModal();
|
dlg->ShowModal();
|
||||||
dlg->Destroy();
|
dlg->Destroy();
|
||||||
|
@ -276,15 +265,13 @@ void DisplayErrorMessage( wxWindow* aParent, const wxString& aText, const wxStri
|
||||||
void DisplayInfoMessage( wxWindow* aParent, const wxString& aMessage, const wxString& aExtraInfo )
|
void DisplayInfoMessage( wxWindow* aParent, const wxString& aMessage, const wxString& aExtraInfo )
|
||||||
{
|
{
|
||||||
wxRichMessageDialog* dlg;
|
wxRichMessageDialog* dlg;
|
||||||
|
int icon = wxICON_INFORMATION;
|
||||||
|
|
||||||
dlg = new wxRichMessageDialog( aParent, aMessage, _( "Info" ),
|
dlg = new wxRichMessageDialog( aParent, aMessage, _( "Info" ),
|
||||||
wxOK | wxCENTRE | wxRESIZE_BORDER |
|
wxOK | wxCENTRE | wxRESIZE_BORDER | icon | wxSTAY_ON_TOP );
|
||||||
wxICON_INFORMATION | wxSTAY_ON_TOP );
|
|
||||||
|
|
||||||
if( !aExtraInfo.IsEmpty() )
|
if( !aExtraInfo.IsEmpty() )
|
||||||
{
|
|
||||||
dlg->ShowDetailedText( aExtraInfo );
|
dlg->ShowDetailedText( aExtraInfo );
|
||||||
}
|
|
||||||
|
|
||||||
dlg->ShowModal();
|
dlg->ShowModal();
|
||||||
dlg->Destroy();
|
dlg->Destroy();
|
||||||
|
|
|
@ -400,7 +400,7 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
|
||||||
wxEmptyString,
|
wxEmptyString,
|
||||||
OTHERS_IN_TRANSLATION ) );
|
OTHERS_IN_TRANSLATION ) );
|
||||||
|
|
||||||
// Programm credits for icons
|
// Program credits for icons
|
||||||
#define ICON_CONTRIBUTION _( "Icons by" )
|
#define ICON_CONTRIBUTION _( "Icons by" )
|
||||||
aInfo.AddArtist( new CONTRIBUTOR( wxT( "Iñigo Zuluaga" ),
|
aInfo.AddArtist( new CONTRIBUTOR( wxT( "Iñigo Zuluaga" ),
|
||||||
wxEmptyString,
|
wxEmptyString,
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
* dialogs in eeschema and pcbnew. Provides error filtering functionality
|
* dialogs in eeschema and pcbnew. Provides error filtering functionality
|
||||||
* and saving report files.
|
* and saving report files.
|
||||||
*
|
*
|
||||||
* The messages are reported throuth a REPORTER object
|
* The messages are reported through a REPORTER object
|
||||||
*/
|
*/
|
||||||
class WX_HTML_REPORT_PANEL : public WX_HTML_REPORT_PANEL_BASE
|
class WX_HTML_REPORT_PANEL : public WX_HTML_REPORT_PANEL_BASE
|
||||||
{
|
{
|
||||||
|
|
|
@ -172,8 +172,8 @@ void CACHED_CONTAINER::Delete( VERTEX_ITEM* aItem )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// This dynamic memory freeing optimize memory usage, but in fact can create
|
// This dynamic memory freeing optimize memory usage, but in fact can create
|
||||||
// out of memory issues because freeing and reallocation large chuncks of memory
|
// out of memory issues because freeing and reallocation large chunks of memory
|
||||||
// can create memory fragmentation and no room to reallocate large chuncks
|
// can create memory fragmentation and no room to reallocate large chunks
|
||||||
// after many free/reallocate cycles during a session using the same complex board
|
// after many free/reallocate cycles during a session using the same complex board
|
||||||
// So it can be disable.
|
// So it can be disable.
|
||||||
// Currently: it is disable to avoid "out of memory" issues
|
// Currently: it is disable to avoid "out of memory" issues
|
||||||
|
|
|
@ -44,7 +44,7 @@ CACHED_CONTAINER_GPU::CACHED_CONTAINER_GPU( unsigned int aSize ) :
|
||||||
|
|
||||||
wxString vendor( glGetString(GL_VENDOR) );
|
wxString vendor( glGetString(GL_VENDOR) );
|
||||||
|
|
||||||
// workaround for intel GPU drivers: diable glCopyBuffer, causes crashes/freezes on certain driver versions
|
// workaround for intel GPU drivers: disable glCopyBuffer, causes crashes/freezes on certain driver versions
|
||||||
if( vendor.Contains ( "Intel ") )
|
if( vendor.Contains ( "Intel ") )
|
||||||
{
|
{
|
||||||
wxLogDebug("Disabling glCopyBuffer() on intel GPU\n");
|
wxLogDebug("Disabling glCopyBuffer() on intel GPU\n");
|
||||||
|
|
|
@ -112,7 +112,7 @@ GLuint GL_BITMAP_CACHE::RequestBitmap( const BITMAP_BASE* aBitmap )
|
||||||
if ( it != m_bitmaps.end() )
|
if ( it != m_bitmaps.end() )
|
||||||
{
|
{
|
||||||
// A bitmap is found in cache bitmap.
|
// A bitmap is found in cache bitmap.
|
||||||
// Ensure the associated texture is still valide (can be destoyed somewhere)
|
// Ensure the associated texture is still valid (can be destroyed somewhere)
|
||||||
if( glIsTexture( it->second.id ) )
|
if( glIsTexture( it->second.id ) )
|
||||||
return it->second.id;
|
return it->second.id;
|
||||||
|
|
||||||
|
|
|
@ -374,7 +374,7 @@ bool FormatNetAttribute( std::string& aPrintedText, std::string& aLastNetAttribu
|
||||||
}
|
}
|
||||||
|
|
||||||
// print a Gerber net attribute record.
|
// print a Gerber net attribute record.
|
||||||
// it is added to the object attributes dictionnary
|
// it is added to the object attributes dictionary
|
||||||
// On file, only modified or new attributes are printed.
|
// On file, only modified or new attributes are printed.
|
||||||
if( aData == NULL )
|
if( aData == NULL )
|
||||||
return false;
|
return false;
|
||||||
|
@ -451,7 +451,7 @@ bool FormatNetAttribute( std::string& aPrintedText, std::string& aLastNetAttribu
|
||||||
{
|
{
|
||||||
// first, remove no more existing attributes.
|
// first, remove no more existing attributes.
|
||||||
// Because in Kicad the full attribute list is evaluated for each object,
|
// Because in Kicad the full attribute list is evaluated for each object,
|
||||||
// the entire dictionnary is cleared
|
// the entire dictionary is cleared
|
||||||
bool clearDict = false;
|
bool clearDict = false;
|
||||||
|
|
||||||
if( aLastNetAttributes.find( "TO.P," ) != std::string::npos )
|
if( aLastNetAttributes.find( "TO.P," ) != std::string::npos )
|
||||||
|
|
|
@ -117,7 +117,7 @@ const wxString KIWAY::dso_search_path( FACE_T aFaceId )
|
||||||
if( m_ctl & (KFCTL_STANDALONE | KFCTL_CPP_PROJECT_SUITE) )
|
if( m_ctl & (KFCTL_STANDALONE | KFCTL_CPP_PROJECT_SUITE) )
|
||||||
{
|
{
|
||||||
// The 2 *.cpp program launchers: single_top.cpp and kicad.cpp expect
|
// The 2 *.cpp program launchers: single_top.cpp and kicad.cpp expect
|
||||||
// the *.kiface's to reside in same diretory as their binaries do.
|
// the *.kiface's to reside in same directory as their binaries do.
|
||||||
// Not so for python launcher, identified by KFCTL_PY_PROJECT_SUITE
|
// Not so for python launcher, identified by KFCTL_PY_PROJECT_SUITE
|
||||||
path = wxStandardPaths::Get().GetExecutablePath();
|
path = wxStandardPaths::Get().GetExecutablePath();
|
||||||
}
|
}
|
||||||
|
|
|
@ -112,7 +112,7 @@ void GERBER_PLOTTER::clearNetAttribute()
|
||||||
if( m_objectAttributesDictionnary.empty() ) // No net attribute or not X2 mode
|
if( m_objectAttributesDictionnary.empty() ) // No net attribute or not X2 mode
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Remove all net attributes from object attributes dictionnary
|
// Remove all net attributes from object attributes dictionary
|
||||||
if( m_useX2format )
|
if( m_useX2format )
|
||||||
fputs( "%TD*%\n", outputFile );
|
fputs( "%TD*%\n", outputFile );
|
||||||
else
|
else
|
||||||
|
@ -131,7 +131,7 @@ void GERBER_PLOTTER::StartBlock( void* aData )
|
||||||
|
|
||||||
void GERBER_PLOTTER::EndBlock( void* aData )
|
void GERBER_PLOTTER::EndBlock( void* aData )
|
||||||
{
|
{
|
||||||
// Remove all net attributes from object attributes dictionnary
|
// Remove all net attributes from object attributes dictionary
|
||||||
clearNetAttribute();
|
clearNetAttribute();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -139,7 +139,7 @@ void GERBER_PLOTTER::EndBlock( void* aData )
|
||||||
void GERBER_PLOTTER::formatNetAttribute( GBR_NETLIST_METADATA* aData )
|
void GERBER_PLOTTER::formatNetAttribute( GBR_NETLIST_METADATA* aData )
|
||||||
{
|
{
|
||||||
// print a Gerber net attribute record.
|
// print a Gerber net attribute record.
|
||||||
// it is added to the object attributes dictionnary
|
// it is added to the object attributes dictionary
|
||||||
// On file, only modified or new attributes are printed.
|
// On file, only modified or new attributes are printed.
|
||||||
if( aData == NULL )
|
if( aData == NULL )
|
||||||
return;
|
return;
|
||||||
|
@ -187,7 +187,7 @@ bool GERBER_PLOTTER::StartPlot()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set coordinate format to 3.6 or 4.5 absolute, leading zero omitted
|
// Set coordinate format to 3.6 or 4.5 absolute, leading zero omitted
|
||||||
// the number of digits for the integer part of coordintes is needed
|
// the number of digits for the integer part of coordinates is needed
|
||||||
// in gerber format, but is not very important when omitting leading zeros
|
// in gerber format, but is not very important when omitting leading zeros
|
||||||
// It is fixed here to 3 (inch) or 4 (mm), but is not actually used
|
// It is fixed here to 3 (inch) or 4 (mm), but is not actually used
|
||||||
int leadingDigitCount = m_gerberUnitInch ? 3 : 4;
|
int leadingDigitCount = m_gerberUnitInch ? 3 : 4;
|
||||||
|
|
|
@ -359,7 +359,7 @@ void PDF_PLOTTER::PlotImage( const wxImage & aImage, const wxPoint& aPos,
|
||||||
they kept the matrix stack to save restore environments. Also images
|
they kept the matrix stack to save restore environments. Also images
|
||||||
are always emitted at the origin with a size of 1x1 user units.
|
are always emitted at the origin with a size of 1x1 user units.
|
||||||
What we need to do is:
|
What we need to do is:
|
||||||
1) save the CTM end estabilish the new one
|
1) save the CTM end establish the new one
|
||||||
2) plot the image
|
2) plot the image
|
||||||
3) restore the CTM
|
3) restore the CTM
|
||||||
4) profit
|
4) profit
|
||||||
|
@ -690,7 +690,7 @@ bool PDF_PLOTTER::EndPlot()
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Declare the font resources. Since they're builtin fonts, no descriptors (yay!)
|
/* Declare the font resources. Since they're builtin fonts, no descriptors (yay!)
|
||||||
We'll need metrics anyway to do any aligment (these are in the shared with
|
We'll need metrics anyway to do any alignment (these are in the shared with
|
||||||
the postscript engine) */
|
the postscript engine) */
|
||||||
for( int i = 0; i < 4; i++ )
|
for( int i = 0; i < 4; i++ )
|
||||||
{
|
{
|
||||||
|
@ -838,7 +838,7 @@ void PDF_PLOTTER::Text( const wxPoint& aPos,
|
||||||
const char *fontname = aItalic ? (aBold ? "/KicadFontBI" : "/KicadFontI")
|
const char *fontname = aItalic ? (aBold ? "/KicadFontBI" : "/KicadFontI")
|
||||||
: (aBold ? "/KicadFontB" : "/KicadFont");
|
: (aBold ? "/KicadFontB" : "/KicadFont");
|
||||||
|
|
||||||
// Compute the copious tranformation parameters of the Curent Transform Matrix
|
// Compute the copious transformation parameters of the Curent Transform Matrix
|
||||||
double ctm_a, ctm_b, ctm_c, ctm_d, ctm_e, ctm_f;
|
double ctm_a, ctm_b, ctm_c, ctm_d, ctm_e, ctm_f;
|
||||||
double wideningFactor, heightFactor;
|
double wideningFactor, heightFactor;
|
||||||
|
|
||||||
|
|
|
@ -366,7 +366,7 @@ int PSLIKE_PLOTTER::returnPostscriptTextWidth( const wxString& aText, int aXSize
|
||||||
* Computes the x coordinates for the overlining in a string of text.
|
* Computes the x coordinates for the overlining in a string of text.
|
||||||
* Fills the passed vector with couples of (start, stop) values to be
|
* Fills the passed vector with couples of (start, stop) values to be
|
||||||
* used in the text coordinate system (use computeTextParameters to
|
* used in the text coordinate system (use computeTextParameters to
|
||||||
* obtain the parameters to estabilish such a system)
|
* obtain the parameters to establish such a system)
|
||||||
*/
|
*/
|
||||||
void PSLIKE_PLOTTER::postscriptOverlinePositions( const wxString& aText, int aXSize,
|
void PSLIKE_PLOTTER::postscriptOverlinePositions( const wxString& aText, int aXSize,
|
||||||
bool aItalic, bool aBold,
|
bool aItalic, bool aBold,
|
||||||
|
@ -998,7 +998,7 @@ void PS_PLOTTER::Text( const wxPoint& aPos,
|
||||||
: (aBold ? "/KicadFont-Bold"
|
: (aBold ? "/KicadFont-Bold"
|
||||||
: "/KicadFont");
|
: "/KicadFont");
|
||||||
|
|
||||||
// Compute the copious tranformation parameters
|
// Compute the copious transformation parameters
|
||||||
double ctm_a, ctm_b, ctm_c, ctm_d, ctm_e, ctm_f;
|
double ctm_a, ctm_b, ctm_c, ctm_d, ctm_e, ctm_f;
|
||||||
double wideningFactor, heightFactor;
|
double wideningFactor, heightFactor;
|
||||||
computeTextParameters( aPos, aText, aOrient, aSize, m_plotMirror, aH_justify,
|
computeTextParameters( aPos, aText, aOrient, aSize, m_plotMirror, aH_justify,
|
||||||
|
|
|
@ -614,7 +614,7 @@ mpFXY::mpFXY( const wxString& name, int flags )
|
||||||
|
|
||||||
void mpFXY::UpdateViewBoundary( wxCoord xnew, wxCoord ynew )
|
void mpFXY::UpdateViewBoundary( wxCoord xnew, wxCoord ynew )
|
||||||
{
|
{
|
||||||
// Keep track of how many points have been drawn and the bouding box
|
// Keep track of how many points have been drawn and the bounding box
|
||||||
maxDrawX = (xnew > maxDrawX) ? xnew : maxDrawX;
|
maxDrawX = (xnew > maxDrawX) ? xnew : maxDrawX;
|
||||||
minDrawX = (xnew < minDrawX) ? xnew : minDrawX;
|
minDrawX = (xnew < minDrawX) ? xnew : minDrawX;
|
||||||
maxDrawY = (maxDrawY > ynew) ? maxDrawY : ynew;
|
maxDrawY = (maxDrawY > ynew) ? maxDrawY : ynew;
|
||||||
|
|
|
@ -144,7 +144,7 @@ bool DIALOG_LIB_EDIT_PIN::TransferDataFromWindow()
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Draw (on m_panelShowPin) the pin currently edited accroding to current settings in dialog
|
* Draw (on m_panelShowPin) the pin according to current settings in dialog
|
||||||
*/
|
*/
|
||||||
void DIALOG_LIB_EDIT_PIN::OnPaintShowPanel( wxPaintEvent& event )
|
void DIALOG_LIB_EDIT_PIN::OnPaintShowPanel( wxPaintEvent& event )
|
||||||
{
|
{
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
/**
|
/**
|
||||||
* Migrates buses using legacy multi-label joining behavior.
|
* Migrates buses using legacy multi-label joining behavior.
|
||||||
*
|
*
|
||||||
* In KiCad verions before 6.0, you were allowed to place multiple labels
|
* In KiCad versions before 6.0, you were allowed to place multiple labels
|
||||||
* on a given bus subgraph, and that would have the effect of making those
|
* on a given bus subgraph, and that would have the effect of making those
|
||||||
* bus descriptions equivalent according to the bus vector number.
|
* bus descriptions equivalent according to the bus vector number.
|
||||||
*
|
*
|
||||||
|
|
|
@ -138,8 +138,8 @@ private:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a file name with an absolute path name
|
* Create a file name with an absolute path name
|
||||||
* @param aOutputDirectoryName the diretory name to plot,
|
* @param aOutputDirectoryName the directory name to plot, this can be a relative name of the
|
||||||
* this can be a relative name of the current project diretory or an absolute directory name.
|
* current project directory or an absolute directory name.
|
||||||
* @param aPlotFileName the name for the file to plot without a path
|
* @param aPlotFileName the name for the file to plot without a path
|
||||||
* @param aExtension the extension for the file to plot
|
* @param aExtension the extension for the file to plot
|
||||||
* @param aReporter a point to a REPORTER object use to show messages (can be NULL)
|
* @param aReporter a point to a REPORTER object use to show messages (can be NULL)
|
||||||
|
|
|
@ -495,7 +495,7 @@ bool DIALOG_SPICE_MODEL::parsePowerSource( const wxString& aModel )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the next token now, so if any of the branches catches an expection, try to
|
// Get the next token now, so if any of the branches catches an exception, try to
|
||||||
// process it in another branch
|
// process it in another branch
|
||||||
tkn = tokenizer.GetNextToken().Lower();
|
tkn = tokenizer.GetNextToken().Lower();
|
||||||
}
|
}
|
||||||
|
|
|
@ -461,9 +461,9 @@ void PANEL_SYM_LIB_TABLE::deleteRowHandler( wxCommandEvent& event )
|
||||||
int curCol = m_cur_grid->GetGridCursorCol();
|
int curCol = m_cur_grid->GetGridCursorCol();
|
||||||
|
|
||||||
// In a wxGrid, collect rows that have a selected cell, or are selected
|
// In a wxGrid, collect rows that have a selected cell, or are selected
|
||||||
// is not so easy: it depend on the way the selection was made.
|
// It is not so easy: it depends on the way the selection was made.
|
||||||
// Here, we collect row selected by clicking on a row label, and
|
// Here, we collect rows selected by clicking on a row label, and rows that contain
|
||||||
// row that contain a cell previously selected.
|
// previously-selected cells.
|
||||||
// If no candidate, just delete the row with the grid cursor.
|
// If no candidate, just delete the row with the grid cursor.
|
||||||
wxArrayInt selectedRows = m_cur_grid->GetSelectedRows();
|
wxArrayInt selectedRows = m_cur_grid->GetSelectedRows();
|
||||||
wxGridCellCoordsArray cells = m_cur_grid->GetSelectedCells();
|
wxGridCellCoordsArray cells = m_cur_grid->GetSelectedCells();
|
||||||
|
|
|
@ -309,7 +309,7 @@ private:
|
||||||
void SelectActiveLibrary( const wxString& aLibrary = wxEmptyString );
|
void SelectActiveLibrary( const wxString& aLibrary = wxEmptyString );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dispaly a list of loaded libraries in the symbol library and allows the user to select
|
* Display a list of loaded libraries in the symbol library and allows the user to select
|
||||||
* a library.
|
* a library.
|
||||||
*
|
*
|
||||||
* This list is sorted, with the library cache always at end of the list
|
* This list is sorted, with the library cache always at end of the list
|
||||||
|
|
|
@ -54,7 +54,7 @@ public:
|
||||||
* Function Format
|
* Function Format
|
||||||
* outputs this s-expression netlist into @a aOutputFormatter.
|
* outputs this s-expression netlist into @a aOutputFormatter.
|
||||||
* @param aOutputFormatter is the destination of the serialization to text.
|
* @param aOutputFormatter is the destination of the serialization to text.
|
||||||
* @param aCtl is bit set composed by OR-ing together enum GNL bits, it allows ouputting
|
* @param aCtl is bit set composed by OR-ing together enum GNL bits, it allows outputting
|
||||||
* a subset of the full document model.
|
* a subset of the full document model.
|
||||||
* @throw IO_ERROR if any problems.
|
* @throw IO_ERROR if any problems.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -23,21 +23,13 @@
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
|
||||||
* @file eeschema/netlist_object_list.cpp
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <netlist.h>
|
|
||||||
#include <netlist_object.h>
|
#include <netlist_object.h>
|
||||||
#include <class_library.h>
|
#include <class_library.h>
|
||||||
#include <lib_pin.h>
|
|
||||||
#include <sch_junction.h>
|
#include <sch_junction.h>
|
||||||
#include <sch_component.h>
|
#include <sch_component.h>
|
||||||
#include <sch_line.h>
|
#include <sch_line.h>
|
||||||
#include <sch_no_connect.h>
|
|
||||||
#include <sch_text.h>
|
#include <sch_text.h>
|
||||||
#include <sch_sheet.h>
|
#include <sch_sheet.h>
|
||||||
#include <sch_screen.h>
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
#define IS_WIRE false
|
#define IS_WIRE false
|
||||||
|
@ -395,15 +387,13 @@ void NETLIST_OBJECT_LIST::findBestNetNameForEachNet()
|
||||||
case NET_PINLABEL:
|
case NET_PINLABEL:
|
||||||
case NET_GLOBLABEL:
|
case NET_GLOBLABEL:
|
||||||
case NET_GLOBBUSLABELMEMBER:
|
case NET_GLOBBUSLABELMEMBER:
|
||||||
// A candidate is found: select the better between the previous
|
// A candidate is found: select the better between the previous and this one
|
||||||
// and this one
|
|
||||||
if( candidate == NULL )
|
if( candidate == NULL )
|
||||||
candidate = item;
|
candidate = item;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if( evalLabelsPriority( item, candidate ) )
|
if( evalLabelsPriority( item, candidate ) )
|
||||||
// item has a highter priority than candidate
|
// item has a higher priority than candidate so update the best candidate
|
||||||
// so update the best candidate
|
|
||||||
candidate = item;
|
candidate = item;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -435,7 +435,7 @@ class netlist():
|
||||||
|
|
||||||
self._curr_element = None
|
self._curr_element = None
|
||||||
|
|
||||||
# component blacklist regexs, made from exluded_* above.
|
# component blacklist regexs, made from excluded_* above.
|
||||||
self.excluded_references = []
|
self.excluded_references = []
|
||||||
self.excluded_values = []
|
self.excluded_values = []
|
||||||
self.excluded_footprints = []
|
self.excluded_footprints = []
|
||||||
|
@ -569,7 +569,7 @@ class netlist():
|
||||||
Omit those that should not, by consulting the blacklists:
|
Omit those that should not, by consulting the blacklists:
|
||||||
excluded_values, excluded_refs, and excluded_footprints, which hold one
|
excluded_values, excluded_refs, and excluded_footprints, which hold one
|
||||||
or more regular expressions. If any of the the regular expressions match
|
or more regular expressions. If any of the the regular expressions match
|
||||||
the corresponding field's value in a component, then the component is exluded.
|
the corresponding field's value in a component, then the component is excluded.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# pre-compile all the regex expressions:
|
# pre-compile all the regex expressions:
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
Based on Stefan Helmert bom2csv.xsl
|
Based on Stefan Helmert bom2csv.xsl
|
||||||
|
|
||||||
Note:
|
Note:
|
||||||
The project infomation (i.e title, company and revision) is taken from the root sheet.
|
The project information (i.e title, company and revision) is taken from the root sheet.
|
||||||
|
|
||||||
Arthur:
|
Arthur:
|
||||||
Ronald Sousa HashDefineElectronics.com
|
Ronald Sousa HashDefineElectronics.com
|
||||||
|
|
|
@ -54,7 +54,7 @@ class SYMBOL_LIB_TABLE;
|
||||||
/// A container for several SCH_PIN items
|
/// A container for several SCH_PIN items
|
||||||
typedef std::vector<SCH_PIN> SCH_PINS;
|
typedef std::vector<SCH_PIN> SCH_PINS;
|
||||||
|
|
||||||
/// A map from the libary pin pointer to the SCH_PIN's index
|
/// A map from the library pin pointer to the SCH_PIN's index
|
||||||
typedef std::unordered_map<LIB_PIN*, unsigned> SCH_PIN_MAP;
|
typedef std::unordered_map<LIB_PIN*, unsigned> SCH_PIN_MAP;
|
||||||
|
|
||||||
/// A container for several SCH_FIELD items
|
/// A container for several SCH_FIELD items
|
||||||
|
|
|
@ -355,7 +355,7 @@ void SCH_CONNECTION::AppendDebugInfoToMsgPanel( MSG_PANEL_ITEMS& aList ) const
|
||||||
if( !ADVANCED_CFG::GetCfg().m_realTimeConnectivity || !CONNECTION_GRAPH::m_allowRealTime )
|
if( !ADVANCED_CFG::GetCfg().m_realTimeConnectivity || !CONNECTION_GRAPH::m_allowRealTime )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// These messages are not flagged as translatable, because they are only debug messges
|
// These messages are not flagged as translatable, because they are only debug messages
|
||||||
wxString msg;
|
wxString msg;
|
||||||
|
|
||||||
AppendInfoToMsgPanel( aList );
|
AppendInfoToMsgPanel( aList );
|
||||||
|
|
|
@ -1987,7 +1987,7 @@ void SCH_LEGACY_PLUGIN::saveComponent( SCH_COMPONENT* aComponent )
|
||||||
|
|
||||||
// Fixed fields:
|
// Fixed fields:
|
||||||
// Save mandatory fields even if they are blank,
|
// Save mandatory fields even if they are blank,
|
||||||
// because the visibility, size and orientation are set from libary editor.
|
// because the visibility, size and orientation are set from library editor.
|
||||||
for( unsigned i = 0; i < MANDATORY_FIELDS; ++i )
|
for( unsigned i = 0; i < MANDATORY_FIELDS; ++i )
|
||||||
saveField( aComponent->GetField( i ) );
|
saveField( aComponent->GetField( i ) );
|
||||||
|
|
||||||
|
|
|
@ -259,7 +259,7 @@ public:
|
||||||
|
|
||||||
/* Sort functions:
|
/* Sort functions:
|
||||||
* Sort functions are used to sort components for annotation or BOM generation.
|
* Sort functions are used to sort components for annotation or BOM generation.
|
||||||
* Because sorting depend on we want to do, there are many sort functions.
|
* Because sorting depends on what we want to do, there are many sort functions.
|
||||||
* Note:
|
* Note:
|
||||||
* When creating BOM, components are fully annotated.
|
* When creating BOM, components are fully annotated.
|
||||||
* references are something like U3, U5 or R4, R8
|
* references are something like U3, U5 or R4, R8
|
||||||
|
|
|
@ -46,7 +46,7 @@ public:
|
||||||
///> Creates a simulator instance of particular type (currently only ngspice is handled)
|
///> Creates a simulator instance of particular type (currently only ngspice is handled)
|
||||||
static std::shared_ptr<SPICE_SIMULATOR> CreateInstance( const std::string& aName );
|
static std::shared_ptr<SPICE_SIMULATOR> CreateInstance( const std::string& aName );
|
||||||
|
|
||||||
///> Intializes the simulator
|
///> Initializes the simulator
|
||||||
virtual void Init() = 0;
|
virtual void Init() = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -219,9 +219,7 @@ private:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function selectionContains()
|
* Function selectionContains()
|
||||||
* Checks if the given point is placed within any of selected items' bounding box.
|
* @return True if the given point is contained in any of selected items' bounding box.
|
||||||
*
|
|
||||||
* @return True if the given point is contained in any of selected items' bouding box.
|
|
||||||
*/
|
*/
|
||||||
bool selectionContains( const VECTOR2I& aPoint ) const;
|
bool selectionContains( const VECTOR2I& aPoint ) const;
|
||||||
|
|
||||||
|
|
|
@ -1198,7 +1198,7 @@ int SCH_EDIT_TOOL::Properties( const TOOL_EVENT& aEvent )
|
||||||
screensList.ClearAnnotationOfNewSheetPaths( initial_sheetpathList );
|
screensList.ClearAnnotationOfNewSheetPaths( initial_sheetpathList );
|
||||||
// Clear annotation of g_CurrentSheet itself, because its sheetpath
|
// Clear annotation of g_CurrentSheet itself, because its sheetpath
|
||||||
// is not a new path, but components managed by its sheet path must have
|
// is not a new path, but components managed by its sheet path must have
|
||||||
// their annotation cleared, becuase they are new:
|
// their annotation cleared, because they are new:
|
||||||
((SCH_SHEET*) item)->GetScreen()->ClearAnnotation( g_CurrentSheet );
|
((SCH_SHEET*) item)->GetScreen()->ClearAnnotation( g_CurrentSheet );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -761,7 +761,7 @@ int SCH_EDITOR_CONTROL::UpdateNetHighlighting( const TOOL_EVENT& aEvent )
|
||||||
itemsToRedraw.push_back( item );
|
itemsToRedraw.push_back( item );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Be sure hightlight change will be redrawn
|
// Be sure highlight change will be redrawn
|
||||||
KIGFX::VIEW* view = getView();
|
KIGFX::VIEW* view = getView();
|
||||||
|
|
||||||
for( auto redrawItem : itemsToRedraw )
|
for( auto redrawItem : itemsToRedraw )
|
||||||
|
|
|
@ -645,7 +645,7 @@ int SCH_LINE_WIRE_BUS_TOOL::doDrawSegments( const std::string& aTool, int aType,
|
||||||
if( evt->GetCommandId().get() >= ID_POPUP_SCH_UNFOLD_BUS
|
if( evt->GetCommandId().get() >= ID_POPUP_SCH_UNFOLD_BUS
|
||||||
&& evt->GetCommandId().get() <= ID_POPUP_SCH_UNFOLD_BUS_END )
|
&& evt->GetCommandId().get() <= ID_POPUP_SCH_UNFOLD_BUS_END )
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( !aSegment, "Bus unfold event recieved when already drawing!" );
|
wxASSERT_MSG( !aSegment, "Bus unfold event received when already drawing!" );
|
||||||
|
|
||||||
aType = LAYER_WIRE;
|
aType = LAYER_WIRE;
|
||||||
wxString net = *evt->Parameter<wxString*>();
|
wxString net = *evt->Parameter<wxString*>();
|
||||||
|
|
|
@ -35,12 +35,12 @@
|
||||||
class EDA_RECT;
|
class EDA_RECT;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class for tranforming drawing coordinates for a wxDC device context.
|
* Class for transforming drawing coordinates for a wxDC device context.
|
||||||
*
|
*
|
||||||
* This probably should be a base class with all pure methods and a derived class
|
* This probably should be a base class with all pure virtual methods and a WXDC_TRANSFORM
|
||||||
* named WXDC_TRANFORM be created. Then in the future if some new device context
|
* derived class. Then in the future if some new device context is used, a new transform could
|
||||||
* is used, a new transform could be derived from the base class and all the drawable
|
* be derived from the base class and all the drawable objects would have to do is provide
|
||||||
* objects would have to do is provide overloaded draw methods to use the new transorm.
|
* overloaded draw methods to use the new transorm.
|
||||||
*/
|
*/
|
||||||
class TRANSFORM
|
class TRANSFORM
|
||||||
{
|
{
|
||||||
|
@ -51,7 +51,7 @@ public:
|
||||||
int y2;
|
int y2;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The default construct creates a tranform that draws object is the normal orientation.
|
* The default construct creates a transform that draws object is the normal orientation.
|
||||||
*/
|
*/
|
||||||
TRANSFORM() : x1( 1 ), y1( 0 ), x2( 0 ), y2( -1 ) {}
|
TRANSFORM() : x1( 1 ), y1( 0 ), x2( 0 ), y2( -1 ) {}
|
||||||
|
|
||||||
|
|
|
@ -204,7 +204,7 @@ private:
|
||||||
* see http://www.excellon.com/manuals/program.htm
|
* see http://www.excellon.com/manuals/program.htm
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* coordintes units:
|
/* coordinates units:
|
||||||
* Coordinates are measured either in inch or metric (millimeters).
|
* Coordinates are measured either in inch or metric (millimeters).
|
||||||
* Inch coordinates are in six digits (00.0000) with increments as small as 0.0001 (1/10,000).
|
* Inch coordinates are in six digits (00.0000) with increments as small as 0.0001 (1/10,000).
|
||||||
* Metric coordinates can be measured in microns (thousandths of a millimeter)
|
* Metric coordinates can be measured in microns (thousandths of a millimeter)
|
||||||
|
|
|
@ -236,7 +236,7 @@ static EXCELLON_CMD excellon_G_CmdList[] =
|
||||||
{ "G01", DRILL_G_LINEARMOVE, 1 }, // Linear (Straight Line) routing Mode
|
{ "G01", DRILL_G_LINEARMOVE, 1 }, // Linear (Straight Line) routing Mode
|
||||||
{ "G02", DRILL_G_CWMOVE, 1 }, // Circular CW Mode
|
{ "G02", DRILL_G_CWMOVE, 1 }, // Circular CW Mode
|
||||||
{ "G03", DRILL_G_CCWMOVE, 1 }, // Circular CCW Mode
|
{ "G03", DRILL_G_CCWMOVE, 1 }, // Circular CCW Mode
|
||||||
{ "G93", DRILL_G_ZERO_SET, 1 }, // Zero Set (XnnYmm and coordintes origin)
|
{ "G93", DRILL_G_ZERO_SET, 1 }, // Zero Set (XnnYmm and coordinates origin)
|
||||||
{ "", DRILL_G_UNKNOWN, 0 }, // last item in list
|
{ "", DRILL_G_UNKNOWN, 0 }, // last item in list
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -159,7 +159,7 @@ public:
|
||||||
LAST_EXTRA_ARC_DATA_TYPE m_LastArcDataType; // Identifier for arc data type (IJ (center) or A## (radius))
|
LAST_EXTRA_ARC_DATA_TYPE m_LastArcDataType; // Identifier for arc data type (IJ (center) or A## (radius))
|
||||||
FILE* m_Current_File; // Current file to read
|
FILE* m_Current_File; // Current file to read
|
||||||
|
|
||||||
int m_Selected_Tool; // For hightlight: current selected Dcode
|
int m_Selected_Tool; // For highlight: current selected Dcode
|
||||||
bool m_Has_DCode; // true = DCodes in file
|
bool m_Has_DCode; // true = DCodes in file
|
||||||
// (false = no DCode -> separate DCode file
|
// (false = no DCode -> separate DCode file
|
||||||
bool m_360Arc_enbl; // Enbl 360 deg circular interpolation
|
bool m_360Arc_enbl; // Enbl 360 deg circular interpolation
|
||||||
|
|
|
@ -77,19 +77,19 @@ enum RS274X_PARAMETERS {
|
||||||
AP_DEFINITION = CODE( 'A', 'D' ),
|
AP_DEFINITION = CODE( 'A', 'D' ),
|
||||||
AP_MACRO = CODE( 'A', 'M' ),
|
AP_MACRO = CODE( 'A', 'M' ),
|
||||||
|
|
||||||
// X2 extention attribute commands
|
// X2 extension attribute commands
|
||||||
// Mainly are found standard attributes and user attributes
|
// Mainly are found standard attributes and user attributes
|
||||||
// standard attributes commands are:
|
// standard attributes commands are:
|
||||||
// TF (file attribute) TO (net attribute)
|
// TF (file attribute) TO (net attribute)
|
||||||
// TA (aperture attribute) and TD (delete aperture attribute)
|
// TA (aperture attribute) and TD (delete aperture attribute)
|
||||||
FILE_ATTRIBUTE = CODE( 'T', 'F' ),
|
FILE_ATTRIBUTE = CODE( 'T', 'F' ),
|
||||||
|
|
||||||
// X2 extention Net attribute info
|
// X2 extension Net attribute info
|
||||||
// Net attribute options are:
|
// Net attribute options are:
|
||||||
// TO (net attribute data): TO.CN or TO.P TO.N or TO.C
|
// TO (net attribute data): TO.CN or TO.P TO.N or TO.C
|
||||||
NET_ATTRIBUTE = CODE( 'T', 'O' ),
|
NET_ATTRIBUTE = CODE( 'T', 'O' ),
|
||||||
|
|
||||||
// X2 extention Aperture attribute TA
|
// X2 extension Aperture attribute TA
|
||||||
APERTURE_ATTRIBUTE = CODE( 'T', 'A' ),
|
APERTURE_ATTRIBUTE = CODE( 'T', 'A' ),
|
||||||
|
|
||||||
// TD (delete aperture/object attribute):
|
// TD (delete aperture/object attribute):
|
||||||
|
@ -100,7 +100,7 @@ enum RS274X_PARAMETERS {
|
||||||
|
|
||||||
// Layer specific parameters
|
// Layer specific parameters
|
||||||
// May be used singly or may be layer specfic
|
// May be used singly or may be layer specfic
|
||||||
// theses parameters are at the beginning of the file or layer
|
// These parameters are at the beginning of the file or layer
|
||||||
// and reset some layer parameters (like interpolation)
|
// and reset some layer parameters (like interpolation)
|
||||||
KNOCKOUT = CODE( 'K', 'O' ), // Default: off
|
KNOCKOUT = CODE( 'K', 'O' ), // Default: off
|
||||||
STEP_AND_REPEAT = CODE( 'S', 'R' ), // Default: A = 1, B = 1
|
STEP_AND_REPEAT = CODE( 'S', 'R' ), // Default: A = 1, B = 1
|
||||||
|
|
|
@ -114,7 +114,7 @@ public:
|
||||||
/**
|
/**
|
||||||
* Function GetScalingFactor
|
* Function GetScalingFactor
|
||||||
* @return the scaling factor from pixel size to actual draw size
|
* @return the scaling factor from pixel size to actual draw size
|
||||||
* this scaling factor depend on m_pixelScaleFactor and m_scale
|
* this scaling factor depends on m_pixelScaleFactor and m_scale
|
||||||
* m_pixelScaleFactor gives the scaling factor between a pixel size and
|
* m_pixelScaleFactor gives the scaling factor between a pixel size and
|
||||||
* the internal schematic units
|
* the internal schematic units
|
||||||
* m_scale is an user dependant value, and gives the "zoom" value
|
* m_scale is an user dependant value, and gives the "zoom" value
|
||||||
|
|
|
@ -111,7 +111,7 @@ bool ConfirmRevertDialog( wxWindow* parent, const wxString& aMessage );
|
||||||
*
|
*
|
||||||
* @warning Setting \a displaytime does not work. Do not use it.
|
* @warning Setting \a displaytime does not work. Do not use it.
|
||||||
*/
|
*/
|
||||||
void DisplayError( wxWindow* parent, const wxString& aMessage, int displaytime = 0 );
|
void DisplayError( wxWindow* aParent, const wxString& aText, int aDisplayTime = 0 );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Display an error message with \a aMessage
|
* Display an error message with \a aMessage
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This file is part of the common libary
|
* This file is part of the common library
|
||||||
* @file drawtxt.h
|
* @file drawtxt.h
|
||||||
* @see common.h
|
* @see common.h
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -285,7 +285,7 @@ protected:
|
||||||
///< -1 means that there is no specific net, and whole active
|
///< -1 means that there is no specific net, and whole active
|
||||||
///< layer is highlighted
|
///< layer is highlighted
|
||||||
bool m_highlightItems; ///< Highlight items with their HIGHLIGHT flags set
|
bool m_highlightItems; ///< Highlight items with their HIGHLIGHT flags set
|
||||||
float m_highlightFactor; ///< Factor used for computing hightlight color
|
float m_highlightFactor; ///< Factor used for computing highlight color
|
||||||
|
|
||||||
float m_selectFactor; ///< Specifies how color of selected items is changed
|
float m_selectFactor; ///< Specifies how color of selected items is changed
|
||||||
float m_layerOpacity; ///< Determines opacity of all layers
|
float m_layerOpacity; ///< Determines opacity of all layers
|
||||||
|
|
|
@ -1200,8 +1200,8 @@ protected:
|
||||||
void formatNetAttribute( GBR_NETLIST_METADATA* aData );
|
void formatNetAttribute( GBR_NETLIST_METADATA* aData );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* clear a Gerber net attribute record (clear object attribute dictionnary)
|
* clear a Gerber net attribute record (clear object attribute dictionary)
|
||||||
* and output the clear object attribute dictionnary command to gerber file
|
* and output the clear object attribute dictionary command to gerber file
|
||||||
*/
|
*/
|
||||||
void clearNetAttribute();
|
void clearNetAttribute();
|
||||||
|
|
||||||
|
@ -1216,7 +1216,7 @@ protected:
|
||||||
std::vector<APERTURE>::iterator getAperture( const wxSize& aSize,
|
std::vector<APERTURE>::iterator getAperture( const wxSize& aSize,
|
||||||
APERTURE::APERTURE_TYPE aType, int aApertureAttribute );
|
APERTURE::APERTURE_TYPE aType, int aApertureAttribute );
|
||||||
|
|
||||||
// the attributes dictionnary created/modifed by %TO, attached the objects, when they are created
|
// the attributes dictionary created/modifed by %TO, attached the objects, when they are created
|
||||||
// by D01, D03 G36/G37 commands
|
// by D01, D03 G36/G37 commands
|
||||||
// standard attributes are .P, .C and .N
|
// standard attributes are .P, .C and .N
|
||||||
// this is used by gerber readers when creating a new object. Cleared by %TD command
|
// this is used by gerber readers when creating a new object. Cleared by %TD command
|
||||||
|
|
|
@ -536,7 +536,7 @@ public:
|
||||||
|
|
||||||
/** Layer plot handler.
|
/** Layer plot handler.
|
||||||
* This implementation will plot the function in the visible area and
|
* This implementation will plot the function in the visible area and
|
||||||
* put a label according to the aligment specified.
|
* put a label according to the alignment specified.
|
||||||
*/
|
*/
|
||||||
virtual void Plot( wxDC& dc, mpWindow& w ) override;
|
virtual void Plot( wxDC& dc, mpWindow& w ) override;
|
||||||
|
|
||||||
|
@ -568,7 +568,7 @@ public:
|
||||||
|
|
||||||
/** Layer plot handler.
|
/** Layer plot handler.
|
||||||
* This implementation will plot the function in the visible area and
|
* This implementation will plot the function in the visible area and
|
||||||
* put a label according to the aligment specified.
|
* put a label according to the alignment specified.
|
||||||
*/
|
*/
|
||||||
virtual void Plot( wxDC& dc, mpWindow& w ) override;
|
virtual void Plot( wxDC& dc, mpWindow& w ) override;
|
||||||
|
|
||||||
|
@ -661,7 +661,7 @@ public:
|
||||||
|
|
||||||
/** Layer plot handler.
|
/** Layer plot handler.
|
||||||
* This implementation will plot the function in the visible area and
|
* This implementation will plot the function in the visible area and
|
||||||
* put a label according to the aligment specified.
|
* put a label according to the alignment specified.
|
||||||
*/
|
*/
|
||||||
virtual void Plot( wxDC& dc, mpWindow& w ) override;
|
virtual void Plot( wxDC& dc, mpWindow& w ) override;
|
||||||
|
|
||||||
|
|
|
@ -133,7 +133,7 @@ void KICAD_MANAGER_FRAME::OnUnarchiveFiles( wxCommandEvent& event )
|
||||||
void KICAD_MANAGER_FRAME::OnArchiveFiles( wxCommandEvent& event )
|
void KICAD_MANAGER_FRAME::OnArchiveFiles( wxCommandEvent& event )
|
||||||
{
|
{
|
||||||
// List of file extensions to save.
|
// List of file extensions to save.
|
||||||
static const wxChar* extentionList[] = {
|
static const wxChar* extensionList[] = {
|
||||||
wxT( "*.pro" ),
|
wxT( "*.pro" ),
|
||||||
wxT( "*.sch" ), wxT( "*.lib" ), wxT( "*.dcm" ), // Schematic related files
|
wxT( "*.sch" ), wxT( "*.lib" ), wxT( "*.dcm" ), // Schematic related files
|
||||||
wxT( "*.cmp" ),
|
wxT( "*.cmp" ),
|
||||||
|
@ -196,8 +196,8 @@ void KICAD_MANAGER_FRAME::OnArchiveFiles( wxCommandEvent& event )
|
||||||
|
|
||||||
wxArrayString files;
|
wxArrayString files;
|
||||||
|
|
||||||
for( unsigned ii = 0; ii < arrayDim( extentionList ); ii++ )
|
for( unsigned ii = 0; ii < arrayDim( extensionList ); ii++ )
|
||||||
wxDir::GetAllFiles( currdirname, &files, extentionList[ii] );
|
wxDir::GetAllFiles( currdirname, &files, extensionList[ii] );
|
||||||
|
|
||||||
files.Sort();
|
files.Sort();
|
||||||
|
|
||||||
|
|
|
@ -184,9 +184,7 @@ private:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function selectionContains()
|
* Function selectionContains()
|
||||||
* Checks if the given point is placed within any of selected items' bounding box.
|
* @return True if the given point is contained in any of selected items' bounding box.
|
||||||
*
|
|
||||||
* @return True if the given point is contained in any of selected items' bouding box.
|
|
||||||
*/
|
*/
|
||||||
bool selectionContains( const VECTOR2I& aPoint ) const;
|
bool selectionContains( const VECTOR2I& aPoint ) const;
|
||||||
|
|
||||||
|
|
|
@ -225,14 +225,14 @@ private:
|
||||||
/**
|
/**
|
||||||
* Function OnTranslineAnalyse
|
* Function OnTranslineAnalyse
|
||||||
* Run a new analyse for the current transline with current parameters
|
* Run a new analyse for the current transline with current parameters
|
||||||
* and displays the electrical parmeters
|
* and displays the electrical parameters
|
||||||
*/
|
*/
|
||||||
void OnTranslineAnalyse( wxCommandEvent& event ) override;
|
void OnTranslineAnalyse( wxCommandEvent& event ) override;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function OnTranslineSynthetize
|
* Function OnTranslineSynthetize
|
||||||
* Run a new synthezis for the current transline with current parameters
|
* Run a new synthezis for the current transline with current parameters
|
||||||
* and displays the geometrical parmeters
|
* and displays the geometrical parameters
|
||||||
*/
|
*/
|
||||||
void OnTranslineSynthetize( wxCommandEvent& event ) override;
|
void OnTranslineSynthetize( wxCommandEvent& event ) override;
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
#define KEYWORD_REGUL_LAST_PARAM wxT( "RegulLastParam" )
|
#define KEYWORD_REGUL_LAST_PARAM wxT( "RegulLastParam" )
|
||||||
#define KEYWORD_DATAFILE_FILENAME wxT( "DataFilename" )
|
#define KEYWORD_DATAFILE_FILENAME wxT( "DataFilename" )
|
||||||
|
|
||||||
// extention of pcb_calculator data filename:
|
// extension of pcb_calculator data filename:
|
||||||
const wxString DataFileNameExt( wxT("pcbcalc") );
|
const wxString DataFileNameExt( wxT("pcbcalc") );
|
||||||
|
|
||||||
PCB_CALCULATOR_FRAME::PCB_CALCULATOR_FRAME( KIWAY* aKiway, wxWindow* aParent ) :
|
PCB_CALCULATOR_FRAME::PCB_CALCULATOR_FRAME( KIWAY* aKiway, wxWindow* aParent ) :
|
||||||
|
@ -283,7 +283,7 @@ void PCB_CALCULATOR_FRAME::SaveSettings( wxConfigBase* aCfg )
|
||||||
/**
|
/**
|
||||||
* Function OnTranslineAnalyse
|
* Function OnTranslineAnalyse
|
||||||
* Run a new analyse for the current transline with current parameters
|
* Run a new analyse for the current transline with current parameters
|
||||||
* and displays the electrical parmeters
|
* and displays the electrical parameters
|
||||||
*/
|
*/
|
||||||
void PCB_CALCULATOR_FRAME::OnTranslineAnalyse( wxCommandEvent& event )
|
void PCB_CALCULATOR_FRAME::OnTranslineAnalyse( wxCommandEvent& event )
|
||||||
{
|
{
|
||||||
|
@ -298,7 +298,7 @@ void PCB_CALCULATOR_FRAME::OnTranslineAnalyse( wxCommandEvent& event )
|
||||||
/**
|
/**
|
||||||
* Function OnTranslineSynthetize
|
* Function OnTranslineSynthetize
|
||||||
* Run a new synthezis for the current transline with current parameters
|
* Run a new synthezis for the current transline with current parameters
|
||||||
* and displays the geometrical parmeters
|
* and displays the geometrical parameters
|
||||||
*/
|
*/
|
||||||
void PCB_CALCULATOR_FRAME::OnTranslineSynthetize( wxCommandEvent& event )
|
void PCB_CALCULATOR_FRAME::OnTranslineSynthetize( wxCommandEvent& event )
|
||||||
{
|
{
|
||||||
|
@ -328,7 +328,7 @@ void PCB_CALCULATOR_FRAME::OnPaintTranslinePanel( wxPaintEvent& event )
|
||||||
}
|
}
|
||||||
|
|
||||||
/* returns the full filename of the selected pcb_calculator data file
|
/* returns the full filename of the selected pcb_calculator data file
|
||||||
* the extention file is forced
|
* the extension file is forced
|
||||||
*/
|
*/
|
||||||
const wxString PCB_CALCULATOR_FRAME::GetDataFilename()
|
const wxString PCB_CALCULATOR_FRAME::GetDataFilename()
|
||||||
{
|
{
|
||||||
|
|
|
@ -152,7 +152,7 @@ void COPLANAR::calc()
|
||||||
double v = 0.43 - (0.86 - 0.54 * p) * p;
|
double v = 0.43 - (0.86 - 0.54 * p) * p;
|
||||||
double G = exp( u * log( w / s ) + v );
|
double G = exp( u * log( w / s ) + v );
|
||||||
|
|
||||||
// loss constant factors (computed only once for efficency sake)
|
// loss constant factors (computed only once for efficiency's sake)
|
||||||
double ac = 0;
|
double ac = 0;
|
||||||
if( t > 0 )
|
if( t > 0 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -685,14 +685,11 @@ private:
|
||||||
int m_CntRot90; ///< Horizontal automatic placement cost ( 0..10 ).
|
int m_CntRot90; ///< Horizontal automatic placement cost ( 0..10 ).
|
||||||
int m_CntRot180; ///< Vertical automatic placement cost ( 0..10 ).
|
int m_CntRot180; ///< Vertical automatic placement cost ( 0..10 ).
|
||||||
|
|
||||||
// Local tolerances. When zero, this means the corresponding netclass value
|
// Local tolerances. When zero, this means the corresponding netclass value is used.
|
||||||
// is used. Usually theses local tolerances zero, in deference to the
|
int m_LocalClearance;
|
||||||
// corresponding netclass values.
|
int m_LocalSolderMaskMargin; ///< Solder mask margin
|
||||||
int m_LocalClearance;
|
int m_LocalSolderPasteMargin; ///< Solder paste margin absolute value
|
||||||
int m_LocalSolderMaskMargin; ///< Solder mask margin
|
double m_LocalSolderPasteMarginRatio; ///< Solder mask margin ratio value of pad size
|
||||||
int m_LocalSolderPasteMargin; ///< Solder paste margin absolute value
|
|
||||||
double m_LocalSolderPasteMarginRatio; ///< Solder mask margin ratio
|
|
||||||
///< value of pad size
|
|
||||||
|
|
||||||
wxArrayString* m_initial_comments; ///< leading s-expression comments in the module,
|
wxArrayString* m_initial_comments; ///< leading s-expression comments in the module,
|
||||||
///< lazily allocated only if needed for speed
|
///< lazily allocated only if needed for speed
|
||||||
|
|
|
@ -180,7 +180,7 @@ void DIALOG_DRC_CONTROL::InitValues()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DIALOG_DRC_CONTROL::SetDrcParmeters( )
|
void DIALOG_DRC_CONTROL::SetDRCParameters( )
|
||||||
{
|
{
|
||||||
m_BrdSettings.m_TrackMinWidth = m_trackMinWidth.GetValue();
|
m_BrdSettings.m_TrackMinWidth = m_trackMinWidth.GetValue();
|
||||||
m_BrdSettings.m_ViasMinSize = m_viaMinSize.GetValue();
|
m_BrdSettings.m_ViasMinSize = m_viaMinSize.GetValue();
|
||||||
|
@ -224,7 +224,7 @@ void DIALOG_DRC_CONTROL::OnStartdrcClick( wxCommandEvent& event )
|
||||||
reportName = makeValidFileNameReport();
|
reportName = makeValidFileNameReport();
|
||||||
}
|
}
|
||||||
|
|
||||||
SetDrcParmeters();
|
SetDRCParameters();
|
||||||
m_tester->m_doZonesTest = m_cbReportTracksToZonesErrors->GetValue();
|
m_tester->m_doZonesTest = m_cbReportTracksToZonesErrors->GetValue();
|
||||||
m_tester->m_rptFilename = reportName;
|
m_tester->m_rptFilename = reportName;
|
||||||
m_tester->m_doCreateRptFile = make_report;
|
m_tester->m_doCreateRptFile = make_report;
|
||||||
|
@ -293,7 +293,7 @@ void DIALOG_DRC_CONTROL::OnButtonBrowseRptFileClick( wxCommandEvent& )
|
||||||
void DIALOG_DRC_CONTROL::OnCancelClick( wxCommandEvent& event )
|
void DIALOG_DRC_CONTROL::OnCancelClick( wxCommandEvent& event )
|
||||||
{
|
{
|
||||||
SetReturnCode( wxID_CANCEL );
|
SetReturnCode( wxID_CANCEL );
|
||||||
SetDrcParmeters();
|
SetDRCParameters();
|
||||||
|
|
||||||
// The dialog can be modal or not modal.
|
// The dialog can be modal or not modal.
|
||||||
// Leave the DRC caller destroy (or not) the dialog
|
// Leave the DRC caller destroy (or not) the dialog
|
||||||
|
|
|
@ -89,7 +89,7 @@ private:
|
||||||
|
|
||||||
void DisplayDRCValues( );
|
void DisplayDRCValues( );
|
||||||
|
|
||||||
void SetDrcParmeters( );
|
void SetDRCParameters( );
|
||||||
|
|
||||||
/// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_CHECKBOX_RPT_FILE
|
/// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_CHECKBOX_RPT_FILE
|
||||||
void OnReportCheckBoxClicked( wxCommandEvent& event ) override;
|
void OnReportCheckBoxClicked( wxCommandEvent& event ) override;
|
||||||
|
|
|
@ -498,9 +498,9 @@ void PANEL_FP_LIB_TABLE::deleteRowHandler( wxCommandEvent& event )
|
||||||
int curCol = m_cur_grid->GetGridCursorCol();
|
int curCol = m_cur_grid->GetGridCursorCol();
|
||||||
|
|
||||||
// In a wxGrid, collect rows that have a selected cell, or are selected
|
// In a wxGrid, collect rows that have a selected cell, or are selected
|
||||||
// is not so easy: it depend on the way the selection was made.
|
// It is not so easy: it depends on the way the selection was made.
|
||||||
// Here, we collect row selected by clicking on a row label, and
|
// Here, we collect rows selected by clicking on a row label, and rows that contain any
|
||||||
// row that contain a cell previously selected.
|
// previously-selected cells.
|
||||||
// If no candidate, just delete the row with the grid cursor.
|
// If no candidate, just delete the row with the grid cursor.
|
||||||
wxArrayInt selectedRows = m_cur_grid->GetSelectedRows();
|
wxArrayInt selectedRows = m_cur_grid->GetSelectedRows();
|
||||||
wxGridCellCoordsArray cells = m_cur_grid->GetSelectedCells();
|
wxGridCellCoordsArray cells = m_cur_grid->GetSelectedCells();
|
||||||
|
|
|
@ -406,7 +406,7 @@ MODULE* GPCB_FPL_CACHE::parseMODULE( LINE_READER* aLineReader )
|
||||||
|
|
||||||
// gEDA/pcb aligns top/left, not pcbnew's default, center/center.
|
// gEDA/pcb aligns top/left, not pcbnew's default, center/center.
|
||||||
// Compensate for this by shifting the insertion point instead of the
|
// Compensate for this by shifting the insertion point instead of the
|
||||||
// aligment, because alignment isn't changeable in the GUI.
|
// alignment, because alignment isn't changeable in the GUI.
|
||||||
textPos.x = textPos.x + twsize * module->GetReference().Len() / 2;
|
textPos.x = textPos.x + twsize * module->GetReference().Len() / 2;
|
||||||
textPos.y += thsize / 2;
|
textPos.y += thsize / 2;
|
||||||
|
|
||||||
|
|
|
@ -375,7 +375,7 @@ bool D_PAD::MergePrimitivesAsPolygon( SHAPE_POLY_SET* aMergedPolygon )
|
||||||
if( !buildCustomPadPolygon( aMergedPolygon, maxError ) )
|
if( !buildCustomPadPolygon( aMergedPolygon, maxError ) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
m_boundingRadius = -1; // The current bouding radius is no more valid.
|
m_boundingRadius = -1; // The current bounding radius is no longer valid.
|
||||||
|
|
||||||
return aMergedPolygon->OutlineCount() <= 1;
|
return aMergedPolygon->OutlineCount() <= 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -311,9 +311,7 @@ private:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function selectionContains()
|
* Function selectionContains()
|
||||||
* Checks if the given point is placed within any of selected items' bounding box.
|
* @return True if the given point is contained in any of selected items' bounding box.
|
||||||
*
|
|
||||||
* @return True if the given point is contained in any of selected items' bouding box.
|
|
||||||
*/
|
*/
|
||||||
bool selectionContains( const VECTOR2I& aPoint ) const;
|
bool selectionContains( const VECTOR2I& aPoint ) const;
|
||||||
|
|
||||||
|
|
|
@ -637,7 +637,7 @@ void ZONE_FILLER::buildCopperItemClearances( const ZONE_CONTAINER* aZone, SHAPE_
|
||||||
if( zone->GetIsKeepout() && !zone->GetDoNotAllowCopperPour() )
|
if( zone->GetIsKeepout() && !zone->GetDoNotAllowCopperPour() )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// A highter priority zone or keepout area is found: remove this area
|
// A higher priority zone or keepout area is found: remove this area
|
||||||
EDA_RECT item_boundingbox = zone->GetBoundingBox();
|
EDA_RECT item_boundingbox = zone->GetBoundingBox();
|
||||||
|
|
||||||
if( !item_boundingbox.Intersects( zone_boundingbox ) )
|
if( !item_boundingbox.Intersects( zone_boundingbox ) )
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
* Because the starting point of a segment is also the ending point of the previous, only one must be used.
|
* Because the starting point of a segment is also the ending point of the previous, only one must be used.
|
||||||
* And we do no use twice the same segment, so we do NOT use both starting and ending points of these 2 segments.
|
* And we do no use twice the same segment, so we do NOT use both starting and ending points of these 2 segments.
|
||||||
* So we must use only one ending point of each segment when calculating intersections
|
* So we must use only one ending point of each segment when calculating intersections
|
||||||
* but it cannot be always the starting or the ending point. This depend on relative position of 2 consectutive segments
|
* but it cannot be always the starting or the ending point. This depends on relative position of 2 consectutive segments
|
||||||
* Here, the ending point above the Y reference position is used
|
* Here, the ending point above the Y reference position is used
|
||||||
* and the ending point below or equal the Y reference position is NOT used
|
* and the ending point below or equal the Y reference position is NOT used
|
||||||
* Obviously, others cases are irrelevant because there is not intersection.
|
* Obviously, others cases are irrelevant because there is not intersection.
|
||||||
|
|
Loading…
Reference in New Issue