pcbnew: drc control now generates a DRC report file
This commit is contained in:
parent
b9259f8516
commit
eda39ae8c0
|
@ -4,6 +4,12 @@ Started 2007-June-11
|
||||||
Please add newer entries at the top, list the date and your name with
|
Please add newer entries at the top, list the date and your name with
|
||||||
email address.
|
email address.
|
||||||
|
|
||||||
|
2007-aug-02 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
|
||||||
|
================================================================================
|
||||||
|
+ pcbnew
|
||||||
|
Drc test now generates a DRC file report.
|
||||||
|
|
||||||
|
|
||||||
2007-Jul-31 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
|
2007-Jul-31 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
|
||||||
================================================================================
|
================================================================================
|
||||||
+ pcbnew
|
+ pcbnew
|
||||||
|
|
Binary file not shown.
2013
internat/fr/kicad.po
2013
internat/fr/kicad.po
File diff suppressed because it is too large
Load Diff
|
@ -59,6 +59,8 @@ BEGIN_EVENT_TABLE( WinEDA_DrcFrame, wxDialog )
|
||||||
|
|
||||||
EVT_BUTTON( wxID_CLOSE, WinEDA_DrcFrame::OnCloseClick )
|
EVT_BUTTON( wxID_CLOSE, WinEDA_DrcFrame::OnCloseClick )
|
||||||
|
|
||||||
|
EVT_BUTTON( ID_BUTTON_BROWSE_RPT_FILE, WinEDA_DrcFrame::OnButtonBrowseRptFileClick )
|
||||||
|
|
||||||
////@end WinEDA_DrcFrame event table entries
|
////@end WinEDA_DrcFrame event table entries
|
||||||
|
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
@ -98,6 +100,8 @@ bool WinEDA_DrcFrame::Create( wxWindow* parent, wxWindowID id, const wxString& c
|
||||||
m_Pad2PadTestCtrl = NULL;
|
m_Pad2PadTestCtrl = NULL;
|
||||||
m_UnconnectedTestCtrl = NULL;
|
m_UnconnectedTestCtrl = NULL;
|
||||||
m_ZonesTestCtrl = NULL;
|
m_ZonesTestCtrl = NULL;
|
||||||
|
m_CreateRptCtrl = NULL;
|
||||||
|
m_RptFilenameCtrl = NULL;
|
||||||
m_logWindow = NULL;
|
m_logWindow = NULL;
|
||||||
////@end WinEDA_DrcFrame member initialisation
|
////@end WinEDA_DrcFrame member initialisation
|
||||||
|
|
||||||
|
@ -124,7 +128,7 @@ void WinEDA_DrcFrame::CreateControls()
|
||||||
SetFont(*g_DialogFont);
|
SetFont(*g_DialogFont);
|
||||||
|
|
||||||
////@begin WinEDA_DrcFrame content construction
|
////@begin WinEDA_DrcFrame content construction
|
||||||
// Generated by DialogBlocks, 30/07/2007 12:44:15 (unregistered)
|
// Generated by DialogBlocks, 02/08/2007 10:11:17 (unregistered)
|
||||||
|
|
||||||
WinEDA_DrcFrame* itemDialog1 = this;
|
WinEDA_DrcFrame* itemDialog1 = this;
|
||||||
|
|
||||||
|
@ -162,39 +166,54 @@ void WinEDA_DrcFrame::CreateControls()
|
||||||
m_ZonesTestCtrl->SetValue(false);
|
m_ZonesTestCtrl->SetValue(false);
|
||||||
itemStaticBoxSizer8->Add(m_ZonesTestCtrl, 0, wxGROW|wxALL, 5);
|
itemStaticBoxSizer8->Add(m_ZonesTestCtrl, 0, wxGROW|wxALL, 5);
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer12 = new wxBoxSizer(wxVERTICAL);
|
m_CreateRptCtrl = new wxCheckBox( itemDialog1, ID_CHECKBOX_CREATE_FILE, _("Create Report file"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
m_CommandSizer->Add(itemBoxSizer12, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
m_CreateRptCtrl->SetValue(false);
|
||||||
|
itemStaticBoxSizer8->Add(m_CreateRptCtrl, 0, wxGROW|wxALL, 5);
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer13 = new wxBoxSizer(wxHORIZONTAL);
|
wxBoxSizer* itemBoxSizer13 = new wxBoxSizer(wxVERTICAL);
|
||||||
itemBoxSizer12->Add(itemBoxSizer13, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
m_CommandSizer->Add(itemBoxSizer13, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer14 = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer* itemBoxSizer14 = new wxBoxSizer(wxHORIZONTAL);
|
||||||
itemBoxSizer13->Add(itemBoxSizer14, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
itemBoxSizer13->Add(itemBoxSizer14, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
||||||
|
|
||||||
wxButton* itemButton15 = new wxButton( itemDialog1, ID_DRC_RUN, _("Test Drc"), wxDefaultPosition, wxDefaultSize, 0 );
|
wxBoxSizer* itemBoxSizer15 = new wxBoxSizer(wxVERTICAL);
|
||||||
itemButton15->SetForegroundColour(wxColour(202, 0, 0));
|
itemBoxSizer14->Add(itemBoxSizer15, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||||
itemBoxSizer14->Add(itemButton15, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxButton* itemButton16 = new wxButton( itemDialog1, ID_STOP_CONTROL_DRC, _("Stop Drc"), wxDefaultPosition, wxDefaultSize, 0 );
|
wxButton* itemButton16 = new wxButton( itemDialog1, ID_DRC_RUN, _("Test Drc"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemButton16->SetForegroundColour(wxColour(0, 128, 128));
|
itemButton16->SetForegroundColour(wxColour(202, 0, 0));
|
||||||
itemBoxSizer14->Add(itemButton16, 0, wxGROW|wxALL, 5);
|
itemBoxSizer15->Add(itemButton16, 0, wxGROW|wxALL, 5);
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer17 = new wxBoxSizer(wxVERTICAL);
|
wxButton* itemButton17 = new wxButton( itemDialog1, ID_STOP_CONTROL_DRC, _("Stop Drc"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemBoxSizer13->Add(itemBoxSizer17, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
itemButton17->SetForegroundColour(wxColour(0, 128, 128));
|
||||||
|
itemBoxSizer15->Add(itemButton17, 0, wxGROW|wxALL, 5);
|
||||||
|
|
||||||
wxButton* itemButton18 = new wxButton( itemDialog1, ID_ERASE_DRC_MARKERS, _("Del Markers"), wxDefaultPosition, wxDefaultSize, 0 );
|
wxBoxSizer* itemBoxSizer18 = new wxBoxSizer(wxVERTICAL);
|
||||||
itemButton18->SetForegroundColour(wxColour(0, 128, 0));
|
itemBoxSizer14->Add(itemBoxSizer18, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||||
itemBoxSizer17->Add(itemButton18, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxButton* itemButton19 = new wxButton( itemDialog1, ID_LIST_UNCONNECTED_PADS, _("List Unconn"), wxDefaultPosition, wxDefaultSize, 0 );
|
wxButton* itemButton19 = new wxButton( itemDialog1, ID_ERASE_DRC_MARKERS, _("Del Markers"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemButton19->SetForegroundColour(wxColour(0, 0, 255));
|
itemButton19->SetForegroundColour(wxColour(0, 128, 0));
|
||||||
itemBoxSizer17->Add(itemButton19, 0, wxGROW|wxALL, 5);
|
itemBoxSizer18->Add(itemButton19, 0, wxGROW|wxALL, 5);
|
||||||
|
|
||||||
wxButton* itemButton20 = new wxButton( itemDialog1, wxID_CLOSE, _("&Close"), wxDefaultPosition, wxDefaultSize, 0 );
|
wxButton* itemButton20 = new wxButton( itemDialog1, ID_LIST_UNCONNECTED_PADS, _("List Unconn"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemBoxSizer12->Add(itemButton20, 0, wxGROW|wxALL, 5);
|
itemButton20->SetForegroundColour(wxColour(0, 0, 255));
|
||||||
|
itemBoxSizer18->Add(itemButton20, 0, wxGROW|wxALL, 5);
|
||||||
|
|
||||||
wxStaticText* itemStaticText21 = new wxStaticText( itemDialog1, wxID_STATIC, _("Messages:"), wxDefaultPosition, wxDefaultSize, 0 );
|
wxButton* itemButton21 = new wxButton( itemDialog1, wxID_CLOSE, _("&Close"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
m_MainSizer->Add(itemStaticText21, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
|
itemBoxSizer13->Add(itemButton21, 0, wxGROW|wxALL, 5);
|
||||||
|
|
||||||
|
wxStaticBox* itemStaticBoxSizer22Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Report File"));
|
||||||
|
wxStaticBoxSizer* itemStaticBoxSizer22 = new wxStaticBoxSizer(itemStaticBoxSizer22Static, wxVERTICAL);
|
||||||
|
itemBoxSizer13->Add(itemStaticBoxSizer22, 0, wxGROW|wxALL, 5);
|
||||||
|
|
||||||
|
wxButton* itemButton23 = new wxButton( itemDialog1, ID_BUTTON_BROWSE_RPT_FILE, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
itemButton23->SetForegroundColour(wxColour(0, 128, 128));
|
||||||
|
itemStaticBoxSizer22->Add(itemButton23, 0, wxALIGN_LEFT|wxALL, 5);
|
||||||
|
|
||||||
|
m_RptFilenameCtrl = new wxTextCtrl( itemDialog1, ID_TEXTCTRL_GET_RPT_FILENAME, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
itemStaticBoxSizer22->Add(m_RptFilenameCtrl, 0, wxGROW|wxALL, 5);
|
||||||
|
|
||||||
|
wxStaticText* itemStaticText25 = new wxStaticText( itemDialog1, wxID_STATIC, _("Messages:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_MainSizer->Add(itemStaticText25, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
|
||||||
|
|
||||||
m_logWindow = new wxTextCtrl( itemDialog1, ID_TEXTCTRL, _T(""), wxDefaultPosition, wxSize(-1, 200), wxTE_MULTILINE|wxTE_READONLY );
|
m_logWindow = new wxTextCtrl( itemDialog1, ID_TEXTCTRL, _T(""), wxDefaultPosition, wxSize(-1, 200), wxTE_MULTILINE|wxTE_READONLY );
|
||||||
m_MainSizer->Add(m_logWindow, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
m_MainSizer->Add(m_logWindow, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
||||||
|
@ -203,9 +222,12 @@ void WinEDA_DrcFrame::CreateControls()
|
||||||
m_Pad2PadTestCtrl->SetValidator( wxGenericValidator(& s_Pad2PadTestOpt) );
|
m_Pad2PadTestCtrl->SetValidator( wxGenericValidator(& s_Pad2PadTestOpt) );
|
||||||
m_UnconnectedTestCtrl->SetValidator( wxGenericValidator(& s_UnconnectedTestOpt) );
|
m_UnconnectedTestCtrl->SetValidator( wxGenericValidator(& s_UnconnectedTestOpt) );
|
||||||
m_ZonesTestCtrl->SetValidator( wxGenericValidator(& s_ZonesTestOpt) );
|
m_ZonesTestCtrl->SetValidator( wxGenericValidator(& s_ZonesTestOpt) );
|
||||||
|
m_CreateRptCtrl->SetValidator( wxGenericValidator(& s_CreateRptFileOpt) );
|
||||||
////@end WinEDA_DrcFrame content construction
|
////@end WinEDA_DrcFrame content construction
|
||||||
|
|
||||||
AddUnitSymbol(*m_ClearenceTitle);
|
AddUnitSymbol(*m_ClearenceTitle);
|
||||||
|
m_RptFilenameCtrl->SetValue(s_RptFilename);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -288,6 +310,7 @@ void WinEDA_DrcFrame::OnCloseClick( wxCommandEvent& event )
|
||||||
s_Pad2PadTestOpt = m_Pad2PadTestCtrl->IsChecked();
|
s_Pad2PadTestOpt = m_Pad2PadTestCtrl->IsChecked();
|
||||||
s_UnconnectedTestOpt = m_UnconnectedTestCtrl->IsChecked();
|
s_UnconnectedTestOpt = m_UnconnectedTestCtrl->IsChecked();
|
||||||
s_ZonesTestOpt = m_ZonesTestCtrl->IsChecked();
|
s_ZonesTestOpt = m_ZonesTestCtrl->IsChecked();
|
||||||
|
s_CreateRptFileOpt = m_CreateRptCtrl->IsChecked();
|
||||||
Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -304,6 +327,35 @@ void WinEDA_DrcFrame::OnCloseWindow( wxCloseEvent& event )
|
||||||
s_Pad2PadTestOpt = m_Pad2PadTestCtrl->IsChecked();
|
s_Pad2PadTestOpt = m_Pad2PadTestCtrl->IsChecked();
|
||||||
s_UnconnectedTestOpt = m_UnconnectedTestCtrl->IsChecked();
|
s_UnconnectedTestOpt = m_UnconnectedTestCtrl->IsChecked();
|
||||||
s_ZonesTestOpt = m_ZonesTestCtrl->IsChecked();
|
s_ZonesTestOpt = m_ZonesTestCtrl->IsChecked();
|
||||||
|
s_CreateRptFileOpt = m_CreateRptCtrl->IsChecked();
|
||||||
event.Skip();
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON_BROWSE_RPT_FILE
|
||||||
|
*/
|
||||||
|
|
||||||
|
void WinEDA_DrcFrame::OnButtonBrowseRptFileClick( wxCommandEvent& event )
|
||||||
|
{
|
||||||
|
wxString FileName, Mask(wxT("*")), Ext(wxT(".rpt"));
|
||||||
|
|
||||||
|
FileName = m_Parent->m_CurrentScreen->m_FileName;
|
||||||
|
ChangeFileNameExt(FileName, wxT("-drc") + Ext);
|
||||||
|
Mask += Ext;
|
||||||
|
|
||||||
|
FileName = EDA_FileSelector(_("Drill Report file"),
|
||||||
|
wxEmptyString, /* Chemin par defaut */
|
||||||
|
FileName, /* nom fichier par defaut */
|
||||||
|
Ext, /* extension par defaut */
|
||||||
|
Mask, /* Masque d'affichage */
|
||||||
|
this,
|
||||||
|
wxFD_SAVE,
|
||||||
|
TRUE
|
||||||
|
);
|
||||||
|
if ( FileName.IsEmpty()) return;
|
||||||
|
|
||||||
|
m_RptFilenameCtrl->SetValue(FileName);
|
||||||
|
s_RptFilename = FileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,10 +44,13 @@ class wxBoxSizer;
|
||||||
#define ID_CHECKBOX_PAD2PAD 10009
|
#define ID_CHECKBOX_PAD2PAD 10009
|
||||||
#define ID_CHECKBOX 10008
|
#define ID_CHECKBOX 10008
|
||||||
#define ID_CHECKBOX_TEST_ZONES 10007
|
#define ID_CHECKBOX_TEST_ZONES 10007
|
||||||
|
#define ID_CHECKBOX_CREATE_FILE 10012
|
||||||
#define ID_DRC_RUN 10003
|
#define ID_DRC_RUN 10003
|
||||||
#define ID_STOP_CONTROL_DRC 10004
|
#define ID_STOP_CONTROL_DRC 10004
|
||||||
#define ID_ERASE_DRC_MARKERS 10005
|
#define ID_ERASE_DRC_MARKERS 10005
|
||||||
#define ID_LIST_UNCONNECTED_PADS 10006
|
#define ID_LIST_UNCONNECTED_PADS 10006
|
||||||
|
#define ID_BUTTON_BROWSE_RPT_FILE 10011
|
||||||
|
#define ID_TEXTCTRL_GET_RPT_FILENAME 10010
|
||||||
#define ID_TEXTCTRL 10001
|
#define ID_TEXTCTRL 10001
|
||||||
#define SYMBOL_WINEDA_DRCFRAME_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
|
#define SYMBOL_WINEDA_DRCFRAME_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
|
||||||
#define SYMBOL_WINEDA_DRCFRAME_TITLE _("DRC Control")
|
#define SYMBOL_WINEDA_DRCFRAME_TITLE _("DRC Control")
|
||||||
|
@ -105,6 +108,9 @@ public:
|
||||||
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CLOSE
|
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CLOSE
|
||||||
void OnCloseClick( wxCommandEvent& event );
|
void OnCloseClick( wxCommandEvent& event );
|
||||||
|
|
||||||
|
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON_BROWSE_RPT_FILE
|
||||||
|
void OnButtonBrowseRptFileClick( wxCommandEvent& event );
|
||||||
|
|
||||||
////@end WinEDA_DrcFrame event handler declarations
|
////@end WinEDA_DrcFrame event handler declarations
|
||||||
|
|
||||||
////@begin WinEDA_DrcFrame member function declarations
|
////@begin WinEDA_DrcFrame member function declarations
|
||||||
|
@ -131,6 +137,8 @@ public:
|
||||||
wxCheckBox* m_Pad2PadTestCtrl;
|
wxCheckBox* m_Pad2PadTestCtrl;
|
||||||
wxCheckBox* m_UnconnectedTestCtrl;
|
wxCheckBox* m_UnconnectedTestCtrl;
|
||||||
wxCheckBox* m_ZonesTestCtrl;
|
wxCheckBox* m_ZonesTestCtrl;
|
||||||
|
wxCheckBox* m_CreateRptCtrl;
|
||||||
|
wxTextCtrl* m_RptFilenameCtrl;
|
||||||
wxTextCtrl* m_logWindow;
|
wxTextCtrl* m_logWindow;
|
||||||
////@end WinEDA_DrcFrame member variables
|
////@end WinEDA_DrcFrame member variables
|
||||||
WinEDA_PcbFrame * m_Parent;
|
WinEDA_PcbFrame * m_Parent;
|
||||||
|
|
155
pcbnew/drc.cpp
155
pcbnew/drc.cpp
|
@ -17,15 +17,17 @@ class WinEDA_DrcFrame;
|
||||||
WinEDA_DrcFrame * DrcFrame;
|
WinEDA_DrcFrame * DrcFrame;
|
||||||
|
|
||||||
/* saving drc options */
|
/* saving drc options */
|
||||||
bool s_Pad2PadTestOpt = true;
|
static bool s_Pad2PadTestOpt = true;
|
||||||
bool s_UnconnectedTestOpt = true;
|
static bool s_UnconnectedTestOpt = true;
|
||||||
bool s_ZonesTestOpt = false;
|
static bool s_ZonesTestOpt = false;
|
||||||
|
static bool s_CreateRptFileOpt = false;
|
||||||
|
static FILE * s_RptFile = NULL;
|
||||||
|
static wxString s_RptFilename;
|
||||||
|
|
||||||
|
static int ErrorsDRC_Count;
|
||||||
int NumberOfErrors;
|
|
||||||
static MARQUEUR * current_marqueur; /* Pour gestion des marqueurs sur pcb */
|
static MARQUEUR * current_marqueur; /* Pour gestion des marqueurs sur pcb */
|
||||||
|
|
||||||
bool AbortDrc, DrcInProgress = FALSE;
|
static bool AbortDrc, DrcInProgress = FALSE;
|
||||||
static int spot_cX, spot_cY; /* position d'elements a tester */
|
static int spot_cX, spot_cY; /* position d'elements a tester */
|
||||||
static int finx, finy; // coord relatives de l'extremite du segm de reference
|
static int finx, finy; // coord relatives de l'extremite du segm de reference
|
||||||
static int segm_angle; // angle d'inclinaison du segment de reference en 0,1 degre
|
static int segm_angle; // angle d'inclinaison du segment de reference en 0,1 degre
|
||||||
|
@ -68,7 +70,10 @@ int ii;
|
||||||
wxString msg;
|
wxString msg;
|
||||||
float convert = 0.0001;
|
float convert = 0.0001;
|
||||||
|
|
||||||
m_logWindow->AppendText(_("Look for active routes\n"));
|
msg = _("Look for active routes\n");
|
||||||
|
m_logWindow->AppendText(msg);
|
||||||
|
if ( s_RptFile ) fprintf(s_RptFile, "%s", CONV_TO_UTF8(msg) );
|
||||||
|
|
||||||
m_UnconnectedCount = 0;
|
m_UnconnectedCount = 0;
|
||||||
for( ii = m_Parent->m_Pcb->GetNumRatsnests() ;ii > 0; Ratsnest++, ii--)
|
for( ii = m_Parent->m_Pcb->GetNumRatsnests() ;ii > 0; Ratsnest++, ii--)
|
||||||
{
|
{
|
||||||
|
@ -82,6 +87,7 @@ float convert = 0.0001;
|
||||||
msg.Printf(_("%d > Pad %s (%s) @ %.4f,%.4f and "), m_UnconnectedCount,
|
msg.Printf(_("%d > Pad %s (%s) @ %.4f,%.4f and "), m_UnconnectedCount,
|
||||||
pad_name.GetData(), module_name.GetData(), pad->m_Pos.x * convert, pad->m_Pos.y * convert);
|
pad_name.GetData(), module_name.GetData(), pad->m_Pos.x * convert, pad->m_Pos.y * convert);
|
||||||
m_logWindow->AppendText(msg);
|
m_logWindow->AppendText(msg);
|
||||||
|
if ( s_RptFile ) fprintf(s_RptFile, "%s", CONV_TO_UTF8(msg) );
|
||||||
|
|
||||||
pad = Ratsnest->pad_end;
|
pad = Ratsnest->pad_end;
|
||||||
pad->Draw(panel, m_DC, wxPoint(0,0),draw_mode);
|
pad->Draw(panel, m_DC, wxPoint(0,0),draw_mode);
|
||||||
|
@ -90,11 +96,13 @@ float convert = 0.0001;
|
||||||
msg.Printf(_("Pad %s (%s) @ %.4f,%.4f\n"),
|
msg.Printf(_("Pad %s (%s) @ %.4f,%.4f\n"),
|
||||||
pad_name.GetData(), module_name.GetData(), pad->m_Pos.x * convert, pad->m_Pos.y * convert);
|
pad_name.GetData(), module_name.GetData(), pad->m_Pos.x * convert, pad->m_Pos.y * convert);
|
||||||
m_logWindow->AppendText(msg);
|
m_logWindow->AppendText(msg);
|
||||||
|
if ( s_RptFile ) fprintf(s_RptFile, "%s", CONV_TO_UTF8(msg) );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( m_UnconnectedCount ) msg.Printf(_("Active routes: %d\n"), m_UnconnectedCount);
|
if ( m_UnconnectedCount ) msg.Printf(_("Active routes: %d\n"), m_UnconnectedCount);
|
||||||
else msg = _("OK! (No active routes)\n");
|
else msg = _("OK! (No active routes)\n");
|
||||||
m_logWindow->AppendText(msg);
|
m_logWindow->AppendText(msg);
|
||||||
|
if ( s_RptFile ) fprintf(s_RptFile, "%s", CONV_TO_UTF8(msg) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -104,8 +112,24 @@ void WinEDA_DrcFrame::TestDrc(wxCommandEvent & event)
|
||||||
{
|
{
|
||||||
int errors;
|
int errors;
|
||||||
wxString msg;
|
wxString msg;
|
||||||
|
|
||||||
if ( ! DrcInProgress )
|
if ( ! DrcInProgress )
|
||||||
{
|
{
|
||||||
|
if ( m_CreateRptCtrl->IsChecked() ) // Create a file rpt
|
||||||
|
{
|
||||||
|
s_RptFilename = m_RptFilenameCtrl->GetValue();
|
||||||
|
if ( s_RptFilename.IsEmpty() ) OnButtonBrowseRptFileClick( event );
|
||||||
|
if ( ! s_RptFilename.IsEmpty() ) s_RptFile = wxFopen(s_RptFilename, wxT("w"));
|
||||||
|
else s_RptFile = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( s_RptFile )
|
||||||
|
{
|
||||||
|
fprintf(s_RptFile, "Drc report for %s\n", CONV_TO_UTF8(m_Parent->m_CurrentScreen->m_FileName) );
|
||||||
|
char line[256];
|
||||||
|
fprintf(s_RptFile, "Created on %s\n", DateAndTime(line));
|
||||||
|
}
|
||||||
|
|
||||||
s_Pad2PadTestOpt = m_Pad2PadTestCtrl->IsChecked();
|
s_Pad2PadTestOpt = m_Pad2PadTestCtrl->IsChecked();
|
||||||
s_UnconnectedTestOpt = m_UnconnectedTestCtrl->IsChecked();
|
s_UnconnectedTestOpt = m_UnconnectedTestCtrl->IsChecked();
|
||||||
s_ZonesTestOpt = m_ZonesTestCtrl->IsChecked();
|
s_ZonesTestOpt = m_ZonesTestCtrl->IsChecked();
|
||||||
|
@ -123,6 +147,17 @@ wxString msg;
|
||||||
else if ( m_UnconnectedCount == 0 )
|
else if ( m_UnconnectedCount == 0 )
|
||||||
msg = _("** End Drc: No Error **\n");
|
msg = _("** End Drc: No Error **\n");
|
||||||
m_logWindow->AppendText(msg);
|
m_logWindow->AppendText(msg);
|
||||||
|
|
||||||
|
if ( s_RptFile ) fprintf(s_RptFile, "%s", CONV_TO_UTF8(msg) );
|
||||||
|
|
||||||
|
if ( s_RptFile )
|
||||||
|
{
|
||||||
|
msg.Printf( _("Report file <%s> created\n"), s_RptFilename.GetData());
|
||||||
|
m_logWindow->AppendText(msg);
|
||||||
|
fclose(s_RptFile);
|
||||||
|
s_RptFile = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else wxBell();
|
else wxBell();
|
||||||
}
|
}
|
||||||
|
@ -180,7 +215,7 @@ wxString Line;
|
||||||
#define PRINT_ZONE_ERR_POS 70
|
#define PRINT_ZONE_ERR_POS 70
|
||||||
|
|
||||||
DrcInProgress = TRUE;
|
DrcInProgress = TRUE;
|
||||||
NumberOfErrors = 0;
|
ErrorsDRC_Count = 0;
|
||||||
Compile_Ratsnest(DC, TRUE);
|
Compile_Ratsnest(DC, TRUE);
|
||||||
|
|
||||||
MsgPanel->EraseMsgBox();
|
MsgPanel->EraseMsgBox();
|
||||||
|
@ -217,9 +252,9 @@ wxString Line;
|
||||||
if( Marqueur == NULL )
|
if( Marqueur == NULL )
|
||||||
{
|
{
|
||||||
DisplayError(this, wxT("Test_Drc(): internal err"));
|
DisplayError(this, wxT("Test_Drc(): internal err"));
|
||||||
return NumberOfErrors;
|
return ErrorsDRC_Count;
|
||||||
}
|
}
|
||||||
Line.Printf( wxT("%d"),NumberOfErrors) ;
|
Line.Printf( wxT("%d"),ErrorsDRC_Count) ;
|
||||||
Affiche_1_Parametre(this, PRINT_PAD_ERR_POS,wxEmptyString,Line, LIGHTRED);
|
Affiche_1_Parametre(this, PRINT_PAD_ERR_POS,wxEmptyString,Line, LIGHTRED);
|
||||||
Marqueur->Pnext = m_Pcb->m_Drawings;
|
Marqueur->Pnext = m_Pcb->m_Drawings;
|
||||||
Marqueur->Pback = m_Pcb;
|
Marqueur->Pback = m_Pcb;
|
||||||
|
@ -275,7 +310,7 @@ wxString Line;
|
||||||
if( Marqueur == NULL )
|
if( Marqueur == NULL )
|
||||||
{
|
{
|
||||||
DisplayError(this, wxT("Test_Drc(): internal err"));
|
DisplayError(this, wxT("Test_Drc(): internal err"));
|
||||||
return NumberOfErrors;
|
return ErrorsDRC_Count;
|
||||||
}
|
}
|
||||||
Marqueur->Pnext = m_Pcb->m_Drawings;
|
Marqueur->Pnext = m_Pcb->m_Drawings;
|
||||||
Marqueur->Pback = m_Pcb;
|
Marqueur->Pback = m_Pcb;
|
||||||
|
@ -286,7 +321,7 @@ wxString Line;
|
||||||
|
|
||||||
GRSetDrawMode(DC, GR_OR);
|
GRSetDrawMode(DC, GR_OR);
|
||||||
pt_segm->Draw(DrawPanel, DC, RED^LIGHTRED );
|
pt_segm->Draw(DrawPanel, DC, RED^LIGHTRED );
|
||||||
Line.Printf( wxT("%d"),NumberOfErrors);
|
Line.Printf( wxT("%d"),ErrorsDRC_Count);
|
||||||
Affiche_1_Parametre(this, PRINT_TRACK_ERR_POS,wxEmptyString,Line, LIGHTRED);
|
Affiche_1_Parametre(this, PRINT_TRACK_ERR_POS,wxEmptyString,Line, LIGHTRED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -340,7 +375,7 @@ wxString Line;
|
||||||
if( Marqueur == NULL )
|
if( Marqueur == NULL )
|
||||||
{
|
{
|
||||||
DisplayError(this, wxT("Test_Drc(): internal err"));
|
DisplayError(this, wxT("Test_Drc(): internal err"));
|
||||||
return NumberOfErrors;
|
return ErrorsDRC_Count;
|
||||||
}
|
}
|
||||||
Marqueur->Pnext = m_Pcb->m_Drawings;
|
Marqueur->Pnext = m_Pcb->m_Drawings;
|
||||||
Marqueur->Pback = m_Pcb;
|
Marqueur->Pback = m_Pcb;
|
||||||
|
@ -351,7 +386,7 @@ wxString Line;
|
||||||
|
|
||||||
GRSetDrawMode(DC, GR_OR);
|
GRSetDrawMode(DC, GR_OR);
|
||||||
pt_segm->Draw(DrawPanel, DC, RED^LIGHTRED );
|
pt_segm->Draw(DrawPanel, DC, RED^LIGHTRED );
|
||||||
Line.Printf( wxT("%d"),NumberOfErrors);
|
Line.Printf( wxT("%d"),ErrorsDRC_Count);
|
||||||
Affiche_1_Parametre(this, PRINT_ZONE_ERR_POS, wxEmptyString, Line, LIGHTRED);
|
Affiche_1_Parametre(this, PRINT_ZONE_ERR_POS, wxEmptyString, Line, LIGHTRED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -366,7 +401,7 @@ wxString Line;
|
||||||
if( Marqueur == NULL )
|
if( Marqueur == NULL )
|
||||||
{
|
{
|
||||||
DisplayError(this, wxT("Test_Drc(): internal err"));
|
DisplayError(this, wxT("Test_Drc(): internal err"));
|
||||||
return NumberOfErrors;
|
return ErrorsDRC_Count;
|
||||||
}
|
}
|
||||||
Marqueur->Pnext = m_Pcb->m_Drawings;
|
Marqueur->Pnext = m_Pcb->m_Drawings;
|
||||||
Marqueur->Pback = m_Pcb;
|
Marqueur->Pback = m_Pcb;
|
||||||
|
@ -377,7 +412,7 @@ wxString Line;
|
||||||
|
|
||||||
GRSetDrawMode(DC, GR_OR);
|
GRSetDrawMode(DC, GR_OR);
|
||||||
pt_segm->Draw(DrawPanel, DC, RED^LIGHTRED );
|
pt_segm->Draw(DrawPanel, DC, RED^LIGHTRED );
|
||||||
Line.Printf( wxT("%d"),NumberOfErrors);
|
Line.Printf( wxT("%d"),ErrorsDRC_Count);
|
||||||
Affiche_1_Parametre(this, PRINT_ZONE_ERR_POS, wxEmptyString, Line, LIGHTRED);
|
Affiche_1_Parametre(this, PRINT_ZONE_ERR_POS, wxEmptyString, Line, LIGHTRED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -386,7 +421,7 @@ wxString Line;
|
||||||
|
|
||||||
AbortDrc = FALSE;
|
AbortDrc = FALSE;
|
||||||
DrcInProgress = FALSE;
|
DrcInProgress = FALSE;
|
||||||
return NumberOfErrors;
|
return ErrorsDRC_Count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -462,7 +497,7 @@ wxPoint shape_pos;
|
||||||
spot_cY = pseudo_pad.m_Pos.y - org_Y;
|
spot_cY = pseudo_pad.m_Pos.y - org_Y;
|
||||||
if( TestClearanceSegmToPad(&pseudo_pad, w_dist, g_DesignSettings.m_TrackClearence) != OK_DRC )
|
if( TestClearanceSegmToPad(&pseudo_pad, w_dist, g_DesignSettings.m_TrackClearence) != OK_DRC )
|
||||||
{
|
{
|
||||||
NumberOfErrors++;
|
ErrorsDRC_Count++;
|
||||||
if( show_err )
|
if( show_err )
|
||||||
Affiche_Erreur_DRC(frame->DrawPanel, DC,
|
Affiche_Erreur_DRC(frame->DrawPanel, DC,
|
||||||
frame->m_Pcb, pt_segment,pt_pad,0);
|
frame->m_Pcb, pt_segment,pt_pad,0);
|
||||||
|
@ -485,7 +520,7 @@ wxPoint shape_pos;
|
||||||
/* extremite sur pad ou defaut d'isolation trouve */
|
/* extremite sur pad ou defaut d'isolation trouve */
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
NumberOfErrors++;
|
ErrorsDRC_Count++;
|
||||||
if( show_err )
|
if( show_err )
|
||||||
Affiche_Erreur_DRC(frame->DrawPanel, DC,
|
Affiche_Erreur_DRC(frame->DrawPanel, DC,
|
||||||
frame->m_Pcb, pt_segment,pt_pad,1);
|
frame->m_Pcb, pt_segment,pt_pad,1);
|
||||||
|
@ -527,7 +562,7 @@ wxPoint shape_pos;
|
||||||
{
|
{
|
||||||
if( (int)hypot((float)x0,(float)y0) < w_dist )
|
if( (int)hypot((float)x0,(float)y0) < w_dist )
|
||||||
{
|
{
|
||||||
NumberOfErrors++;
|
ErrorsDRC_Count++;
|
||||||
if( show_err)
|
if( show_err)
|
||||||
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,21);
|
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,21);
|
||||||
return(BAD_DRC) ;
|
return(BAD_DRC) ;
|
||||||
|
@ -544,7 +579,7 @@ wxPoint shape_pos;
|
||||||
|
|
||||||
if( TestMarginToCircle(x0, y0, w_dist, dx) == BAD_DRC )
|
if( TestMarginToCircle(x0, y0, w_dist, dx) == BAD_DRC )
|
||||||
{
|
{
|
||||||
NumberOfErrors++;
|
ErrorsDRC_Count++;
|
||||||
if(show_err)
|
if(show_err)
|
||||||
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,20);
|
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,20);
|
||||||
return(BAD_DRC) ;
|
return(BAD_DRC) ;
|
||||||
|
@ -563,7 +598,7 @@ wxPoint shape_pos;
|
||||||
if ( pttrack->m_StructType == TYPEVIA )
|
if ( pttrack->m_StructType == TYPEVIA )
|
||||||
{
|
{
|
||||||
if( TestMarginToCircle(x0, y0,w_dist,segm_long) == OK_DRC) continue;
|
if( TestMarginToCircle(x0, y0,w_dist,segm_long) == OK_DRC) continue;
|
||||||
NumberOfErrors++;
|
ErrorsDRC_Count++;
|
||||||
if(show_err)
|
if(show_err)
|
||||||
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,21);
|
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,21);
|
||||||
return(BAD_DRC) ;
|
return(BAD_DRC) ;
|
||||||
|
@ -584,14 +619,14 @@ wxPoint shape_pos;
|
||||||
/* test fin tenant compte des formes arrondies des extremites */
|
/* test fin tenant compte des formes arrondies des extremites */
|
||||||
if ( x0 >= 0 && x0 <= segm_long )
|
if ( x0 >= 0 && x0 <= segm_long )
|
||||||
{
|
{
|
||||||
NumberOfErrors++;
|
ErrorsDRC_Count++;
|
||||||
if ( show_err )
|
if ( show_err )
|
||||||
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,2);
|
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,2);
|
||||||
return(BAD_DRC) ;
|
return(BAD_DRC) ;
|
||||||
}
|
}
|
||||||
if( TestMarginToCircle(x0, y0, w_dist,segm_long) == BAD_DRC)
|
if( TestMarginToCircle(x0, y0, w_dist,segm_long) == BAD_DRC)
|
||||||
{
|
{
|
||||||
NumberOfErrors++;
|
ErrorsDRC_Count++;
|
||||||
if(show_err)
|
if(show_err)
|
||||||
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,2);
|
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,2);
|
||||||
return(BAD_DRC) ;
|
return(BAD_DRC) ;
|
||||||
|
@ -602,14 +637,14 @@ wxPoint shape_pos;
|
||||||
/* test fin tenant compte des formes arrondies des extremites */
|
/* test fin tenant compte des formes arrondies des extremites */
|
||||||
if ( xf >= 0 && xf <= segm_long )
|
if ( xf >= 0 && xf <= segm_long )
|
||||||
{
|
{
|
||||||
NumberOfErrors++;
|
ErrorsDRC_Count++;
|
||||||
if(show_err)
|
if(show_err)
|
||||||
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,3);
|
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,3);
|
||||||
return(BAD_DRC) ;
|
return(BAD_DRC) ;
|
||||||
}
|
}
|
||||||
if( TestMarginToCircle(xf, yf, w_dist,segm_long) == BAD_DRC)
|
if( TestMarginToCircle(xf, yf, w_dist,segm_long) == BAD_DRC)
|
||||||
{
|
{
|
||||||
NumberOfErrors++;
|
ErrorsDRC_Count++;
|
||||||
if(show_err)
|
if(show_err)
|
||||||
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,3);
|
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,3);
|
||||||
return(BAD_DRC) ;
|
return(BAD_DRC) ;
|
||||||
|
@ -618,7 +653,7 @@ wxPoint shape_pos;
|
||||||
|
|
||||||
if ( x0 <=0 && xf >= 0 )
|
if ( x0 <=0 && xf >= 0 )
|
||||||
{
|
{
|
||||||
NumberOfErrors++;
|
ErrorsDRC_Count++;
|
||||||
if(show_err)
|
if(show_err)
|
||||||
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,4);
|
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,4);
|
||||||
return(BAD_DRC) ;
|
return(BAD_DRC) ;
|
||||||
|
@ -633,7 +668,7 @@ wxPoint shape_pos;
|
||||||
if( y0 > yf ) EXCHG(y0, yf);
|
if( y0 > yf ) EXCHG(y0, yf);
|
||||||
if( (y0 < 0) && (yf > 0) )
|
if( (y0 < 0) && (yf > 0) )
|
||||||
{
|
{
|
||||||
NumberOfErrors++;
|
ErrorsDRC_Count++;
|
||||||
if( show_err)
|
if( show_err)
|
||||||
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,6);
|
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,6);
|
||||||
return(BAD_DRC);
|
return(BAD_DRC);
|
||||||
|
@ -643,14 +678,14 @@ wxPoint shape_pos;
|
||||||
de reference */
|
de reference */
|
||||||
if(TestMarginToCircle(x0,y0,w_dist,segm_long) == BAD_DRC)
|
if(TestMarginToCircle(x0,y0,w_dist,segm_long) == BAD_DRC)
|
||||||
{
|
{
|
||||||
NumberOfErrors++;
|
ErrorsDRC_Count++;
|
||||||
if(show_err)
|
if(show_err)
|
||||||
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,7);
|
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,7);
|
||||||
return(BAD_DRC) ;
|
return(BAD_DRC) ;
|
||||||
}
|
}
|
||||||
if(TestMarginToCircle(xf,yf,w_dist,segm_long) == BAD_DRC)
|
if(TestMarginToCircle(xf,yf,w_dist,segm_long) == BAD_DRC)
|
||||||
{
|
{
|
||||||
NumberOfErrors++;
|
ErrorsDRC_Count++;
|
||||||
if(show_err)
|
if(show_err)
|
||||||
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,8);
|
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,8);
|
||||||
return(BAD_DRC) ;
|
return(BAD_DRC) ;
|
||||||
|
@ -677,7 +712,7 @@ wxPoint shape_pos;
|
||||||
|
|
||||||
if(bflag == BAD_DRC)
|
if(bflag == BAD_DRC)
|
||||||
{
|
{
|
||||||
NumberOfErrors++;
|
ErrorsDRC_Count++;
|
||||||
if(show_err)
|
if(show_err)
|
||||||
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,9);
|
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,9);
|
||||||
return(BAD_DRC) ;
|
return(BAD_DRC) ;
|
||||||
|
@ -705,14 +740,14 @@ wxPoint shape_pos;
|
||||||
RotatePoint(&rxf,&ryf, angle);
|
RotatePoint(&rxf,&ryf, angle);
|
||||||
if(TestMarginToCircle(rx0,ry0,w_dist,dx) == BAD_DRC)
|
if(TestMarginToCircle(rx0,ry0,w_dist,dx) == BAD_DRC)
|
||||||
{
|
{
|
||||||
NumberOfErrors++;
|
ErrorsDRC_Count++;
|
||||||
if(show_err)
|
if(show_err)
|
||||||
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,10);
|
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,10);
|
||||||
return(BAD_DRC) ;
|
return(BAD_DRC) ;
|
||||||
}
|
}
|
||||||
if(TestMarginToCircle(rxf,ryf,w_dist,dx) == BAD_DRC)
|
if(TestMarginToCircle(rxf,ryf,w_dist,dx) == BAD_DRC)
|
||||||
{
|
{
|
||||||
NumberOfErrors++;
|
ErrorsDRC_Count++;
|
||||||
if(show_err)
|
if(show_err)
|
||||||
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,11);
|
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pt_segment,pttrack,11);
|
||||||
return(BAD_DRC) ;
|
return(BAD_DRC) ;
|
||||||
|
@ -765,7 +800,7 @@ LISTE_PAD * pad_list = start_buffer;
|
||||||
if( Pad_to_Pad_Isol(pad_ref, pad, g_DesignSettings.m_TrackClearence) == OK_DRC ) continue ;
|
if( Pad_to_Pad_Isol(pad_ref, pad, g_DesignSettings.m_TrackClearence) == OK_DRC ) continue ;
|
||||||
else /* defaut d'isolation trouve */
|
else /* defaut d'isolation trouve */
|
||||||
{
|
{
|
||||||
NumberOfErrors++;
|
ErrorsDRC_Count++;
|
||||||
if( show_err )
|
if( show_err )
|
||||||
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pad_ref, pad);
|
Affiche_Erreur_DRC(frame->DrawPanel, DC, frame->m_Pcb, pad_ref, pad);
|
||||||
return(BAD_DRC);
|
return(BAD_DRC);
|
||||||
|
@ -1106,29 +1141,46 @@ static void Affiche_Erreur_DRC(WinEDA_DrawPanel * panel, wxDC * DC, BOARD * Pcb,
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
wxPoint erc_pos;
|
wxPoint erc_pos;
|
||||||
D_PAD * pad;
|
|
||||||
TRACK * pt_segm;
|
TRACK * pt_segm;
|
||||||
wxString msg;
|
wxString msg;
|
||||||
|
wxString tracktype, netname1, netname2;
|
||||||
|
EQUIPOT * equipot = GetEquipot(Pcb, pt_ref->m_NetCode);
|
||||||
|
if ( equipot ) netname1 = equipot->m_Netname;
|
||||||
|
else netname1 = wxT("<noname>");
|
||||||
|
netname2 = wxT("<noname>");
|
||||||
|
|
||||||
|
tracktype = wxT("Track");
|
||||||
|
if ( pt_ref->m_StructType == TYPEVIA ) tracktype = wxT("Via");
|
||||||
|
if ( pt_ref->m_StructType == TYPEZONE ) tracktype = wxT("Zone");
|
||||||
|
|
||||||
|
|
||||||
if( ((EDA_BaseStruct*)pt_item)->m_StructType == TYPEPAD )
|
if( ((EDA_BaseStruct*)pt_item)->m_StructType == TYPEPAD )
|
||||||
{
|
{
|
||||||
pad = (D_PAD*) pt_item;
|
D_PAD * pad = (D_PAD*) pt_item;
|
||||||
|
equipot = GetEquipot(Pcb, pad->m_NetCode);
|
||||||
|
if ( equipot ) netname2 = equipot->m_Netname;
|
||||||
erc_pos = pad->m_Pos;
|
erc_pos = pad->m_Pos;
|
||||||
wxString pad_name = pad->ReturnStringPadName();
|
wxString pad_name = pad->ReturnStringPadName();
|
||||||
wxString module_name = ((MODULE*)(pad->m_Parent))->m_Reference->m_Text;
|
wxString module_name = ((MODULE*)(pad->m_Parent))->m_Reference->m_Text;
|
||||||
msg.Printf(_("%d Drc Err %d PAD %s (%s) @ %d,%d\n"),
|
msg.Printf(_("%d Drc Err %d %s (net %s)and PAD %s (%s) net %s @ %d,%d\n"),
|
||||||
NumberOfErrors, errnumber,
|
ErrorsDRC_Count, errnumber, tracktype.GetData(),
|
||||||
|
netname1.GetData(),
|
||||||
pad_name.GetData(), module_name.GetData(),
|
pad_name.GetData(), module_name.GetData(),
|
||||||
|
netname2.GetData(),
|
||||||
erc_pos.x, erc_pos.y);
|
erc_pos.x, erc_pos.y);
|
||||||
}
|
}
|
||||||
else /* erreur sur segment de piste */
|
else /* erreur sur segment de piste */
|
||||||
{
|
{
|
||||||
pt_segm = (TRACK *) pt_item;
|
pt_segm = (TRACK *) pt_item;
|
||||||
|
equipot = GetEquipot(Pcb, pt_segm->m_NetCode);
|
||||||
|
if ( equipot ) netname2 = equipot->m_Netname;
|
||||||
erc_pos = pt_segm->m_Start;
|
erc_pos = pt_segm->m_Start;
|
||||||
if(pt_segm->m_StructType == TYPEVIA)
|
if(pt_segm->m_StructType == TYPEVIA)
|
||||||
{
|
{
|
||||||
msg.Printf(_("%d Err type %d: sur VIA @ %d,%d\n"),
|
msg.Printf(_("%d Err type %d: %s (net %s) and VIA (net %s) @ %d,%d\n"),
|
||||||
NumberOfErrors, errnumber,erc_pos.x,erc_pos.y);
|
ErrorsDRC_Count, errnumber, tracktype.GetData(),
|
||||||
|
netname1.GetData(), netname2.GetData(),
|
||||||
|
erc_pos.x,erc_pos.y);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1138,13 +1190,16 @@ wxString msg;
|
||||||
{
|
{
|
||||||
EXCHG(erc_pos_f.x, erc_pos.x); EXCHG(erc_pos_f.y, erc_pos.y);
|
EXCHG(erc_pos_f.x, erc_pos.x); EXCHG(erc_pos_f.y, erc_pos.y);
|
||||||
}
|
}
|
||||||
msg.Printf(_("%d Err type %d: sur SEGMENT @ %d,%d\n"),
|
msg.Printf(_("%d Err type %d: %s (net %s) and track (net %s) @ %d,%d\n"),
|
||||||
NumberOfErrors, errnumber,erc_pos.x,erc_pos.y);
|
ErrorsDRC_Count, errnumber, tracktype.GetData(),
|
||||||
|
netname1.GetData(), netname2.GetData(),
|
||||||
|
erc_pos.x,erc_pos.y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( DrcFrame ) DrcFrame->m_logWindow->AppendText(msg);
|
if ( DrcFrame ) DrcFrame->m_logWindow->AppendText(msg);
|
||||||
else panel->m_Parent->Affiche_Message(msg);
|
else panel->m_Parent->Affiche_Message(msg);
|
||||||
|
if ( s_RptFile ) fprintf(s_RptFile, "%s", CONV_TO_UTF8(msg) );
|
||||||
|
|
||||||
if(current_marqueur == NULL) current_marqueur = new MARQUEUR(Pcb);
|
if(current_marqueur == NULL) current_marqueur = new MARQUEUR(Pcb);
|
||||||
current_marqueur->m_Pos = wxPoint(erc_pos.x, erc_pos.y);
|
current_marqueur->m_Pos = wxPoint(erc_pos.x, erc_pos.y);
|
||||||
|
@ -1172,12 +1227,22 @@ wxString msg;
|
||||||
wxString module_name1 = ((MODULE*)(pad1->m_Parent))->m_Reference->m_Text;
|
wxString module_name1 = ((MODULE*)(pad1->m_Parent))->m_Reference->m_Text;
|
||||||
wxString pad_name2 = pad2->ReturnStringPadName();
|
wxString pad_name2 = pad2->ReturnStringPadName();
|
||||||
wxString module_name2 = ((MODULE*)(pad2->m_Parent))->m_Reference->m_Text;
|
wxString module_name2 = ((MODULE*)(pad2->m_Parent))->m_Reference->m_Text;
|
||||||
|
wxString netname1, netname2;
|
||||||
|
EQUIPOT * equipot = GetEquipot(Pcb, pad1->m_NetCode);
|
||||||
|
if ( equipot ) netname1 = equipot->m_Netname;
|
||||||
|
else netname1 = wxT("<noname>");
|
||||||
|
equipot = GetEquipot(Pcb, pad2->m_NetCode);
|
||||||
|
if ( equipot ) netname2 = equipot->m_Netname;
|
||||||
|
else netname2 = wxT("<noname>");
|
||||||
|
|
||||||
msg.Printf( _("%d Drc Err: PAD %s (%s) @ %d,%d and PAD %s (%s) @ %d,%d\n"),
|
msg.Printf( _("%d Drc Err: PAD %s (%s) net %s @ %d,%d and PAD %s (%s) net %s @ %d,%d\n"),
|
||||||
NumberOfErrors, pad_name1.GetData(), module_name1.GetData(), pad1->m_Pos.x,pad1->m_Pos.y,
|
ErrorsDRC_Count, pad_name1.GetData(), module_name1.GetData(),
|
||||||
pad_name2.GetData(), module_name2.GetData(), pad2->m_Pos.x, pad2->m_Pos.y);
|
netname1.GetData(), pad1->m_Pos.x,pad1->m_Pos.y,
|
||||||
|
pad_name2.GetData(), module_name2.GetData(),
|
||||||
|
netname2.GetData(), pad2->m_Pos.x, pad2->m_Pos.y);
|
||||||
if ( DrcFrame ) DrcFrame->m_logWindow->AppendText(msg);
|
if ( DrcFrame ) DrcFrame->m_logWindow->AppendText(msg);
|
||||||
else panel->m_Parent->Affiche_Message(msg);
|
else panel->m_Parent->Affiche_Message(msg);
|
||||||
|
if ( s_RptFile ) fprintf(s_RptFile, "%s", CONV_TO_UTF8(msg) );
|
||||||
|
|
||||||
if(current_marqueur == NULL) current_marqueur = new MARQUEUR(Pcb);
|
if(current_marqueur == NULL) current_marqueur = new MARQUEUR(Pcb);
|
||||||
current_marqueur->m_Pos = pad1->m_Pos;
|
current_marqueur->m_Pos = pad1->m_Pos;
|
||||||
|
|
|
@ -716,6 +716,64 @@
|
||||||
<string name="proxy-Custom arguments">""</string>
|
<string name="proxy-Custom arguments">""</string>
|
||||||
<string name="proxy-Custom ctor arguments">""</string>
|
<string name="proxy-Custom ctor arguments">""</string>
|
||||||
</document>
|
</document>
|
||||||
|
<document>
|
||||||
|
<string name="title">"wxCheckBox: ID_CHECKBOX_CREATE_FILE"</string>
|
||||||
|
<string name="type">"dialog-control-document"</string>
|
||||||
|
<string name="filename">""</string>
|
||||||
|
<string name="icon-name">"checkbox"</string>
|
||||||
|
<long name="is-transient">0</long>
|
||||||
|
<long name="owns-file">1</long>
|
||||||
|
<long name="title-mode">0</long>
|
||||||
|
<long name="locked">0</long>
|
||||||
|
<string name="created">"2/8/2007"</string>
|
||||||
|
<string name="proxy-type">"wbCheckBoxProxy"</string>
|
||||||
|
<string name="proxy-Id name">"ID_CHECKBOX_CREATE_FILE"</string>
|
||||||
|
<long name="proxy-Id value">10012</long>
|
||||||
|
<string name="proxy-Class">"wxCheckBox"</string>
|
||||||
|
<string name="proxy-Base class">"wxCheckBox"</string>
|
||||||
|
<bool name="proxy-External implementation">1</bool>
|
||||||
|
<bool name="proxy-Separate files">0</bool>
|
||||||
|
<string name="proxy-Implementation filename">""</string>
|
||||||
|
<string name="proxy-Header filename">""</string>
|
||||||
|
<string name="proxy-Member variable name">"m_CreateRptCtrl"</string>
|
||||||
|
<string name="proxy-Label">"Create Report file"</string>
|
||||||
|
<bool name="proxy-Initial value">0</bool>
|
||||||
|
<string name="proxy-Help text">""</string>
|
||||||
|
<string name="proxy-Tooltip text">""</string>
|
||||||
|
<string name="proxy-Data variable">"s_CreateRptFileOpt"</string>
|
||||||
|
<string name="proxy-Data validator">"wxGenericValidator(& %VARIABLE%)"</string>
|
||||||
|
<string name="proxy-Background colour">""</string>
|
||||||
|
<string name="proxy-Foreground colour">""</string>
|
||||||
|
<string name="proxy-Font">""</string>
|
||||||
|
<bool name="proxy-Hidden">0</bool>
|
||||||
|
<bool name="proxy-Enabled">1</bool>
|
||||||
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
|
<bool name="proxy-wxALIGN_RIGHT">0</bool>
|
||||||
|
<bool name="proxy-wxCHK_2STATE">0</bool>
|
||||||
|
<bool name="proxy-wxCHK_3STATE">0</bool>
|
||||||
|
<bool name="proxy-wxCHK_ALLOW_3RD_STATE_FOR_USER">0</bool>
|
||||||
|
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
||||||
|
<bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<string name="proxy-Custom styles">""</string>
|
||||||
|
<long name="proxy-X">-1</long>
|
||||||
|
<long name="proxy-Y">-1</long>
|
||||||
|
<long name="proxy-Width">-1</long>
|
||||||
|
<long name="proxy-Height">-1</long>
|
||||||
|
<string name="proxy-AlignH">"Expand"</string>
|
||||||
|
<string name="proxy-AlignV">"Centre"</string>
|
||||||
|
<long name="proxy-Stretch factor">0</long>
|
||||||
|
<long name="proxy-Border">5</long>
|
||||||
|
<bool name="proxy-wxLEFT">1</bool>
|
||||||
|
<bool name="proxy-wxRIGHT">1</bool>
|
||||||
|
<bool name="proxy-wxTOP">1</bool>
|
||||||
|
<bool name="proxy-wxBOTTOM">1</bool>
|
||||||
|
<bool name="proxy-wxSHAPED">0</bool>
|
||||||
|
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
|
<string name="proxy-Custom arguments">""</string>
|
||||||
|
<string name="proxy-Custom ctor arguments">""</string>
|
||||||
|
</document>
|
||||||
</document>
|
</document>
|
||||||
</document>
|
</document>
|
||||||
<document>
|
<document>
|
||||||
|
@ -1116,6 +1174,175 @@
|
||||||
<string name="proxy-Custom arguments">""</string>
|
<string name="proxy-Custom arguments">""</string>
|
||||||
<string name="proxy-Custom ctor arguments">""</string>
|
<string name="proxy-Custom ctor arguments">""</string>
|
||||||
</document>
|
</document>
|
||||||
|
<document>
|
||||||
|
<string name="title">"wxStaticBoxSizer V"</string>
|
||||||
|
<string name="type">"dialog-control-document"</string>
|
||||||
|
<string name="filename">""</string>
|
||||||
|
<string name="icon-name">"sizer"</string>
|
||||||
|
<long name="is-transient">0</long>
|
||||||
|
<long name="owns-file">1</long>
|
||||||
|
<long name="title-mode">0</long>
|
||||||
|
<long name="locked">0</long>
|
||||||
|
<string name="created">"2/8/2007"</string>
|
||||||
|
<string name="proxy-type">"wbStaticBoxSizerProxy"</string>
|
||||||
|
<string name="proxy-Id name">"wxID_ANY"</string>
|
||||||
|
<long name="proxy-Id value">-1</long>
|
||||||
|
<string name="proxy-Label">"Report File"</string>
|
||||||
|
<string name="proxy-Member variable name">""</string>
|
||||||
|
<string name="proxy-Sizer member variable name">""</string>
|
||||||
|
<string name="proxy-Foreground colour">""</string>
|
||||||
|
<string name="proxy-Font">""</string>
|
||||||
|
<bool name="proxy-Hidden">0</bool>
|
||||||
|
<bool name="proxy-Enabled">1</bool>
|
||||||
|
<string name="proxy-Static box class">"wxStaticBox"</string>
|
||||||
|
<string name="proxy-Orientation">"Vertical"</string>
|
||||||
|
<string name="proxy-AlignH">"Expand"</string>
|
||||||
|
<string name="proxy-AlignV">"Centre"</string>
|
||||||
|
<long name="proxy-Stretch factor">0</long>
|
||||||
|
<long name="proxy-Border">5</long>
|
||||||
|
<bool name="proxy-wxLEFT">1</bool>
|
||||||
|
<bool name="proxy-wxRIGHT">1</bool>
|
||||||
|
<bool name="proxy-wxTOP">1</bool>
|
||||||
|
<bool name="proxy-wxBOTTOM">1</bool>
|
||||||
|
<bool name="proxy-wxSHAPED">0</bool>
|
||||||
|
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
|
<document>
|
||||||
|
<string name="title">"wxButton: ID_BUTTON_BROWSE_RPT_FILE"</string>
|
||||||
|
<string name="type">"dialog-control-document"</string>
|
||||||
|
<string name="filename">""</string>
|
||||||
|
<string name="icon-name">"dialogcontrol"</string>
|
||||||
|
<long name="is-transient">0</long>
|
||||||
|
<long name="owns-file">1</long>
|
||||||
|
<long name="title-mode">0</long>
|
||||||
|
<long name="locked">0</long>
|
||||||
|
<string name="created">"2/8/2007"</string>
|
||||||
|
<string name="proxy-type">"wbButtonProxy"</string>
|
||||||
|
<string name="event-handler-0">"wxEVT_COMMAND_BUTTON_CLICKED|OnButtonBrowseRptFileClick|NONE||"</string>
|
||||||
|
<string name="proxy-Id name">"ID_BUTTON_BROWSE_RPT_FILE"</string>
|
||||||
|
<long name="proxy-Id value">10011</long>
|
||||||
|
<string name="proxy-Class">"wxButton"</string>
|
||||||
|
<string name="proxy-Base class">"wxButton"</string>
|
||||||
|
<bool name="proxy-External implementation">1</bool>
|
||||||
|
<bool name="proxy-Separate files">0</bool>
|
||||||
|
<string name="proxy-Implementation filename">""</string>
|
||||||
|
<string name="proxy-Header filename">""</string>
|
||||||
|
<string name="proxy-Member variable name">""</string>
|
||||||
|
<string name="proxy-Label">"Browse"</string>
|
||||||
|
<bool name="proxy-Default">0</bool>
|
||||||
|
<string name="proxy-Help text">""</string>
|
||||||
|
<string name="proxy-Tooltip text">""</string>
|
||||||
|
<string name="proxy-Background colour">""</string>
|
||||||
|
<string name="proxy-Foreground colour">"008080"</string>
|
||||||
|
<string name="proxy-Font">""</string>
|
||||||
|
<bool name="proxy-Hidden">0</bool>
|
||||||
|
<bool name="proxy-Enabled">1</bool>
|
||||||
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
|
<bool name="proxy-wxBU_LEFT">0</bool>
|
||||||
|
<bool name="proxy-wxBU_RIGHT">0</bool>
|
||||||
|
<bool name="proxy-wxBU_TOP">0</bool>
|
||||||
|
<bool name="proxy-wxBU_BOTTOM">0</bool>
|
||||||
|
<bool name="proxy-wxBU_EXACTFIT">0</bool>
|
||||||
|
<bool name="proxy-wxNO_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
||||||
|
<bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<string name="proxy-Custom styles">""</string>
|
||||||
|
<long name="proxy-X">-1</long>
|
||||||
|
<long name="proxy-Y">-1</long>
|
||||||
|
<long name="proxy-Width">-1</long>
|
||||||
|
<long name="proxy-Height">-1</long>
|
||||||
|
<string name="proxy-AlignH">"Left"</string>
|
||||||
|
<string name="proxy-AlignV">"Centre"</string>
|
||||||
|
<long name="proxy-Stretch factor">0</long>
|
||||||
|
<long name="proxy-Border">5</long>
|
||||||
|
<bool name="proxy-wxLEFT">1</bool>
|
||||||
|
<bool name="proxy-wxRIGHT">1</bool>
|
||||||
|
<bool name="proxy-wxTOP">1</bool>
|
||||||
|
<bool name="proxy-wxBOTTOM">1</bool>
|
||||||
|
<bool name="proxy-wxSHAPED">0</bool>
|
||||||
|
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
|
<string name="proxy-Custom arguments">""</string>
|
||||||
|
<string name="proxy-Custom ctor arguments">""</string>
|
||||||
|
</document>
|
||||||
|
<document>
|
||||||
|
<string name="title">"wxTextCtrl: ID_TEXTCTRL_GET_RPT_FILENAME"</string>
|
||||||
|
<string name="type">"dialog-control-document"</string>
|
||||||
|
<string name="filename">""</string>
|
||||||
|
<string name="icon-name">"textctrl"</string>
|
||||||
|
<long name="is-transient">0</long>
|
||||||
|
<long name="owns-file">1</long>
|
||||||
|
<long name="title-mode">0</long>
|
||||||
|
<long name="locked">0</long>
|
||||||
|
<string name="created">"2/8/2007"</string>
|
||||||
|
<string name="proxy-type">"wbTextCtrlProxy"</string>
|
||||||
|
<string name="proxy-Id name">"ID_TEXTCTRL_GET_RPT_FILENAME"</string>
|
||||||
|
<long name="proxy-Id value">10010</long>
|
||||||
|
<string name="proxy-Class">"wxTextCtrl"</string>
|
||||||
|
<string name="proxy-Base class">"wxTextCtrl"</string>
|
||||||
|
<bool name="proxy-External implementation">1</bool>
|
||||||
|
<bool name="proxy-Separate files">0</bool>
|
||||||
|
<string name="proxy-Implementation filename">""</string>
|
||||||
|
<string name="proxy-Header filename">""</string>
|
||||||
|
<string name="proxy-Member variable name">"m_RptFilenameCtrl"</string>
|
||||||
|
<string name="proxy-Initial value">""</string>
|
||||||
|
<long name="proxy-Max length">0</long>
|
||||||
|
<string name="proxy-Help text">""</string>
|
||||||
|
<string name="proxy-Tooltip text">""</string>
|
||||||
|
<string name="proxy-Background colour">""</string>
|
||||||
|
<string name="proxy-Foreground colour">""</string>
|
||||||
|
<string name="proxy-Font">""</string>
|
||||||
|
<bool name="proxy-Hidden">0</bool>
|
||||||
|
<bool name="proxy-Enabled">1</bool>
|
||||||
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
|
<string name="proxy-Data variable">""</string>
|
||||||
|
<string name="proxy-Data validator">""</string>
|
||||||
|
<bool name="proxy-wxTE_MULTILINE">0</bool>
|
||||||
|
<bool name="proxy-wxTE_PROCESS_ENTER">0</bool>
|
||||||
|
<bool name="proxy-wxTE_PROCESS_TAB">0</bool>
|
||||||
|
<bool name="proxy-wxTE_PASSWORD">0</bool>
|
||||||
|
<bool name="proxy-wxTE_READONLY">0</bool>
|
||||||
|
<bool name="proxy-wxTE_RICH">0</bool>
|
||||||
|
<bool name="proxy-wxTE_RICH2">0</bool>
|
||||||
|
<bool name="proxy-wxTE_AUTO_URL">0</bool>
|
||||||
|
<bool name="proxy-wxTE_NOHIDESEL">0</bool>
|
||||||
|
<bool name="proxy-wxTE_LEFT">0</bool>
|
||||||
|
<bool name="proxy-wxTE_CENTRE">0</bool>
|
||||||
|
<bool name="proxy-wxTE_RIGHT">0</bool>
|
||||||
|
<bool name="proxy-wxHSCROLL">0</bool>
|
||||||
|
<bool name="proxy-wxTE_CHARWRAP">0</bool>
|
||||||
|
<bool name="proxy-wxTE_WORDWRAP">0</bool>
|
||||||
|
<bool name="proxy-wxNO_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSIMPLE_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxDOUBLE_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSUNKEN_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxRAISED_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSTATIC_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
||||||
|
<bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<string name="proxy-Custom styles">""</string>
|
||||||
|
<long name="proxy-X">-1</long>
|
||||||
|
<long name="proxy-Y">-1</long>
|
||||||
|
<long name="proxy-Width">-1</long>
|
||||||
|
<long name="proxy-Height">-1</long>
|
||||||
|
<string name="proxy-AlignH">"Expand"</string>
|
||||||
|
<string name="proxy-AlignV">"Centre"</string>
|
||||||
|
<long name="proxy-Stretch factor">0</long>
|
||||||
|
<long name="proxy-Border">5</long>
|
||||||
|
<bool name="proxy-wxLEFT">1</bool>
|
||||||
|
<bool name="proxy-wxRIGHT">1</bool>
|
||||||
|
<bool name="proxy-wxTOP">1</bool>
|
||||||
|
<bool name="proxy-wxBOTTOM">1</bool>
|
||||||
|
<bool name="proxy-wxSHAPED">0</bool>
|
||||||
|
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
|
<string name="proxy-Custom arguments">""</string>
|
||||||
|
<string name="proxy-Custom ctor arguments">""</string>
|
||||||
|
</document>
|
||||||
|
</document>
|
||||||
</document>
|
</document>
|
||||||
</document>
|
</document>
|
||||||
<document>
|
<document>
|
||||||
|
|
Loading…
Reference in New Issue