Commit 514c63c7 authored by dickelbeck's avatar dickelbeck

DRC rework start

parent 699eaf4a
...@@ -4,6 +4,12 @@ Started 2007-June-11 ...@@ -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-Nov-26 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================
+pcbnew
DRC code and dialog rework start. This breaks DRC, until I get out the
other end of the tunnel.
2007-Nov-24 UPDATE Dick Hollenbeck <dick@softplc.com> 2007-Nov-24 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================ ================================================================================
......
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: dialog_drc.cpp // Name: dialog_drc.cpp
// Purpose: // Purpose:
// Author: jean-pierre Charras // Author: jean-pierre Charras
// Modified by: // Modified by:
// Created: 27/02/2006 20:42:00 // Created: 27/02/2006 20:42:00
// RCS-ID: // RCS-ID:
// Copyright: License GNU // Copyright: License GNU
// Licence: // Licence:
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Generated by DialogBlocks (unregistered), 27/02/2006 20:42:00 // Generated by DialogBlocks (unregistered), 27/02/2006 20:42:00
...@@ -26,6 +26,10 @@ ...@@ -26,6 +26,10 @@
#include "wx/wx.h" #include "wx/wx.h"
#endif #endif
#include <wx/htmllbox.h>
#include <vector>
////@begin includes ////@begin includes
////@end includes ////@end includes
...@@ -34,6 +38,95 @@ ...@@ -34,6 +38,95 @@
////@begin XPM images ////@begin XPM images
////@end XPM images ////@end XPM images
DRC_LIST gList; // gets moved into DRC_TESTER later.
/**
* Class DRCLISTBOX
* is used to display a DRC_LIST, which contains DRC_ITEMs.
*/
class DRCLISTBOX : public wxHtmlListBox
{
private:
DRC_LIST* m_List; ///< wxWidgets does not own the list items, we do
public:
DRCLISTBOX( wxWindow* parent, wxWindowID id = wxID_ANY,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
long style = 0, const wxString& name = wxVListBoxNameStr)
: wxHtmlListBox( parent, id, pos, size, style, name )
{
}
/**
* Function SetList
* sets the DRC_LIST for this listbox. However no ownership is
* given, the caller still owns the list and is responsible
* for deleting it.
* @param aList The DRC_LIST containing the DRC_ITEMs which will be
* displayed in the wxHtmlListBox
*/
void SetList( DRC_LIST* aList )
{
m_List = aList;
SetItemCount( aList->size() );
}
/**
* Function OnGetItem
* returns the html text associated with the given index 'n'.
* @param n An index into the list.
* @return wxString - the simply html text to show in the listbox.
*/
wxString OnGetItem( size_t n ) const
{
if( m_List )
return (*m_List)[n].ShowHtml();
else
return wxString();
}
/**
* Function OnGetItem
* returns the html text associated with the given index 'n'.
* @param n An index into the list.
* @return wxString - the simply html text to show in the listbox.
*/
wxString OnGetItemMarkup( size_t n ) const
{
if( m_List )
return (*m_List)[n].ShowHtml();
else
return wxString();
}
/**
* Function DeleteElement
* will delete one of the items in the list.
* @param ndx The index into the list to delete.
*/
void DeleteElmenent( int ndx )
{
if( m_List )
{
if( (size_t) ndx < m_List->size() )
{
m_List->erase( m_List->begin()+ndx );
SetItemCount( m_List->size() );
}
}
}
};
/*! /*!
* WinEDA_DrcFrame type definition * WinEDA_DrcFrame type definition
*/ */
...@@ -47,22 +140,29 @@ IMPLEMENT_DYNAMIC_CLASS( WinEDA_DrcFrame, wxDialog ) ...@@ -47,22 +140,29 @@ IMPLEMENT_DYNAMIC_CLASS( WinEDA_DrcFrame, wxDialog )
BEGIN_EVENT_TABLE( WinEDA_DrcFrame, wxDialog ) BEGIN_EVENT_TABLE( WinEDA_DrcFrame, wxDialog )
////@begin WinEDA_DrcFrame event table entries ////@begin WinEDA_DrcFrame event table entries
EVT_BUTTON( ID_DRC_RUN, WinEDA_DrcFrame::OnDrcRunClick ) EVT_INIT_DIALOG( WinEDA_DrcFrame::OnInitDialog )
EVT_BUTTON( ID_STOP_CONTROL_DRC, WinEDA_DrcFrame::OnStopControlDrcClick ) EVT_CHECKBOX( ID_CHECKBOX, WinEDA_DrcFrame::OnReportCheckBoxClicked )
EVT_BUTTON( ID_ERASE_DRC_MARKERS, WinEDA_DrcFrame::OnEraseDrcMarkersClick ) EVT_BUTTON( ID_BUTTON_BROWSE_RPT_FILE, WinEDA_DrcFrame::OnButtonBrowseRptFileClick )
EVT_BUTTON( ID_LIST_UNCONNECTED_PADS, WinEDA_DrcFrame::OnListUnconnectedPadsClick ) EVT_BUTTON( ID_STARTDRC, WinEDA_DrcFrame::OnStartdrcClick )
EVT_BUTTON( ID_BUTTON_BROWSE_RPT_FILE, WinEDA_DrcFrame::OnButtonBrowseRptFileClick ) EVT_BUTTON( ID_LIST_UNCONNECTED, WinEDA_DrcFrame::OnListUnconnectedClick )
EVT_BUTTON( wxID_OK, WinEDA_DrcFrame::OnOkClick ) EVT_BUTTON( ID_DELETE_ALL, WinEDA_DrcFrame::OnDeleteAllClick )
EVT_BUTTON( wxID_CANCEL, WinEDA_DrcFrame::OnCancelClick ) EVT_BUTTON( wxID_CANCEL, WinEDA_DrcFrame::OnCancelClick )
EVT_BUTTON( wxID_OK, WinEDA_DrcFrame::OnOkClick )
////@end WinEDA_DrcFrame event table entries ////@end WinEDA_DrcFrame event table entries
// outside bracket: DialogBlocks does not know about the listbox events on a custom list box.
EVT_LISTBOX( ID_CLEARANCE_LIST, WinEDA_DrcFrame::OnMarkerSelectionEvent)
EVT_LISTBOX( ID_UNCONNECTED_LIST, WinEDA_DrcFrame::OnUnconnectedSelectionEvent)
END_EVENT_TABLE() END_EVENT_TABLE()
/*! /*!
...@@ -101,27 +201,43 @@ bool WinEDA_DrcFrame::Create( wxWindow* parent, wxWindowID id, const wxString& c ...@@ -101,27 +201,43 @@ bool WinEDA_DrcFrame::Create( wxWindow* parent, wxWindowID id, const wxString& c
m_CommandSizer = NULL; m_CommandSizer = NULL;
m_ClearenceTitle = NULL; m_ClearenceTitle = NULL;
m_SetClearance = NULL; m_SetClearance = NULL;
m_CreateRptCtrl = NULL;
m_RptFilenameCtrl = NULL;
m_BrowseButton = NULL;
m_Pad2PadTestCtrl = NULL; m_Pad2PadTestCtrl = NULL;
m_UnconnectedTestCtrl = NULL; m_UnconnectedTestCtrl = NULL;
m_ZonesTestCtrl = NULL; m_ZonesTestCtrl = NULL;
m_CreateRptCtrl = NULL; m_DeleteCurrentMarkerButton = NULL;
m_RptFilenameCtrl = NULL; m_ClearanceListBox = NULL;
m_logWindow = NULL; m_UnconnectedListBox = NULL;
Line = NULL;
StdDialogButtonSizer = NULL; StdDialogButtonSizer = NULL;
////@end WinEDA_DrcFrame member initialisation ////@end WinEDA_DrcFrame member initialisation
////@begin WinEDA_DrcFrame creation ////@begin WinEDA_DrcFrame creation
SetExtraStyle(wxWS_EX_BLOCK_EVENTS); SetExtraStyle(wxWS_EX_BLOCK_EVENTS);
wxDialog::Create( parent, id, caption, pos, size, style ); wxDialog::Create( parent, id, caption, pos, size, style );
CreateControls(); CreateControls();
if( GetSizer() ) if (GetSizer())
{ {
GetSizer()->SetSizeHints(this); GetSizer()->SetSizeHints(this);
} }
Centre(); Centre();
////@end WinEDA_DrcFrame creation ////@end WinEDA_DrcFrame creation
DRC_ITEM a( 2, wxString( wxT("A item") ), wxString( wxT("B item") ),
wxPoint(12000,3000), wxPoint(13000,3000));
gList.push_back( a );
gList.push_back( a );
gList.push_back( a );
gList.push_back( a );
m_ClearanceListBox->SetList( &gList );
m_UnconnectedListBox->SetList( &gList );
return true; return true;
} }
...@@ -130,11 +246,11 @@ bool WinEDA_DrcFrame::Create( wxWindow* parent, wxWindowID id, const wxString& c ...@@ -130,11 +246,11 @@ bool WinEDA_DrcFrame::Create( wxWindow* parent, wxWindowID id, const wxString& c
*/ */
void WinEDA_DrcFrame::CreateControls() void WinEDA_DrcFrame::CreateControls()
{ {
SetFont( *g_DialogFont ); SetFont( *g_DialogFont );
////@begin WinEDA_DrcFrame content construction ////@begin WinEDA_DrcFrame content construction
// Generated by DialogBlocks, 13/11/2007 16:40:34 (unregistered) // Generated by DialogBlocks, Mon 26 Nov 2007 19:22:56 CST (unregistered)
WinEDA_DrcFrame* itemDialog1 = this; WinEDA_DrcFrame* itemDialog1 = this;
...@@ -145,113 +261,144 @@ void WinEDA_DrcFrame::CreateControls() ...@@ -145,113 +261,144 @@ void WinEDA_DrcFrame::CreateControls()
m_MainSizer->Add(m_CommandSizer, 0, wxGROW|wxALL, 5); m_MainSizer->Add(m_CommandSizer, 0, wxGROW|wxALL, 5);
wxStaticBox* itemStaticBoxSizer4Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Options")); wxStaticBox* itemStaticBoxSizer4Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Options"));
wxStaticBoxSizer* itemStaticBoxSizer4 = new wxStaticBoxSizer(itemStaticBoxSizer4Static, wxVERTICAL); wxStaticBoxSizer* itemStaticBoxSizer4 = new wxStaticBoxSizer(itemStaticBoxSizer4Static, wxHORIZONTAL);
m_CommandSizer->Add(itemStaticBoxSizer4, 0, wxALIGN_TOP|wxLEFT|wxTOP|wxBOTTOM, 5); m_CommandSizer->Add(itemStaticBoxSizer4, 20, wxGROW|wxTOP|wxBOTTOM, 8);
m_ClearenceTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Clearance"), wxDefaultPosition, wxDefaultSize, 0 ); wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxVERTICAL);
itemStaticBoxSizer4->Add(m_ClearenceTitle, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5); itemStaticBoxSizer4->Add(itemBoxSizer5, 2, wxGROW|wxALL, 5);
m_SetClearance = new wxTextCtrl( itemDialog1, ID_TEXTCTRL_CLEARANCE, _T(""), wxDefaultPosition, wxDefaultSize, 0 ); wxBoxSizer* itemBoxSizer6 = new wxBoxSizer(wxHORIZONTAL);
itemStaticBoxSizer4->Add(m_SetClearance, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5); itemBoxSizer5->Add(itemBoxSizer6, 0, wxALIGN_LEFT|wxALL, 5);
itemStaticBoxSizer4->Add(5, 5, 0, wxGROW|wxALL, 5); m_ClearenceTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Clearance"), wxDefaultPosition, wxDefaultSize, wxFULL_REPAINT_ON_RESIZE );
itemBoxSizer6->Add(m_ClearenceTitle, 0, wxALIGN_TOP|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
wxStaticBox* itemStaticBoxSizer8Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Test Drc:")); itemBoxSizer6->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 10);
wxStaticBoxSizer* itemStaticBoxSizer8 = new wxStaticBoxSizer(itemStaticBoxSizer8Static, wxVERTICAL);
itemStaticBoxSizer4->Add(itemStaticBoxSizer8, 0, wxGROW|wxALL, 5);
m_Pad2PadTestCtrl = new wxCheckBox( itemDialog1, ID_CHECKBOX_PAD2PAD, _("Include pad to pad test"), wxDefaultPosition, wxDefaultSize, 0 );
m_Pad2PadTestCtrl->SetValue(false);
itemStaticBoxSizer8->Add(m_Pad2PadTestCtrl, 0, wxGROW|wxALL, 5);
m_UnconnectedTestCtrl = new wxCheckBox( itemDialog1, ID_CHECKBOX_UNCONNECTED, _("Include unconnected"), wxDefaultPosition, wxDefaultSize, 0 ); m_SetClearance = new wxTextCtrl( itemDialog1, ID_TEXTCTRL1, _T(""), wxDefaultPosition, wxSize(144, -1), 0 );
m_UnconnectedTestCtrl->SetValue(false); if (WinEDA_DrcFrame::ShowToolTips())
itemStaticBoxSizer8->Add(m_UnconnectedTestCtrl, 0, wxGROW|wxALL, 5); m_SetClearance->SetToolTip(_("In the clearance units, enter the clearance distance"));
itemBoxSizer6->Add(m_SetClearance, 1, wxALIGN_TOP|wxLEFT|wxRIGHT|wxBOTTOM|wxADJUST_MINSIZE, 5);
m_ZonesTestCtrl = new wxCheckBox( itemDialog1, ID_CHECKBOX_TEST_ZONES, _("Include zones"), wxDefaultPosition, wxDefaultSize, 0 ); wxStaticBox* itemStaticBoxSizer10Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Create Report File"));
m_ZonesTestCtrl->SetValue(false); wxStaticBoxSizer* itemStaticBoxSizer10 = new wxStaticBoxSizer(itemStaticBoxSizer10Static, wxHORIZONTAL);
itemStaticBoxSizer8->Add(m_ZonesTestCtrl, 0, wxGROW|wxALL, 5); itemBoxSizer5->Add(itemStaticBoxSizer10, 1, wxGROW|wxALL, 5);
m_CreateRptCtrl = new wxCheckBox( itemDialog1, ID_CHECKBOX_CREATE_FILE, _("Create Report file"), wxDefaultPosition, wxDefaultSize, 0 ); m_CreateRptCtrl = new wxCheckBox( itemDialog1, ID_CHECKBOX, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
m_CreateRptCtrl->SetValue(false); m_CreateRptCtrl->SetValue(false);
itemStaticBoxSizer8->Add(m_CreateRptCtrl, 0, wxGROW|wxALL, 5); if (WinEDA_DrcFrame::ShowToolTips())
m_CreateRptCtrl->SetToolTip(_("Enable writing report to this file"));
m_CommandSizer->Add(5, 5, 1, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); itemStaticBoxSizer10->Add(m_CreateRptCtrl, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
wxBoxSizer* itemBoxSizer14 = new wxBoxSizer(wxVERTICAL);
m_CommandSizer->Add(itemBoxSizer14, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
wxBoxSizer* itemBoxSizer15 = new wxBoxSizer(wxHORIZONTAL);
itemBoxSizer14->Add(itemBoxSizer15, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxTOP, 5);
wxBoxSizer* itemBoxSizer16 = new wxBoxSizer(wxVERTICAL);
itemBoxSizer15->Add(itemBoxSizer16, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxButton* itemButton17 = new wxButton( itemDialog1, ID_DRC_RUN, _("Test Drc"), wxDefaultPosition, wxDefaultSize, 0 ); m_RptFilenameCtrl = new wxTextCtrl( itemDialog1, ID_TEXTCTRL3, _T(""), wxDefaultPosition, wxSize(250, -1), 0 );
itemButton17->SetForegroundColour(wxColour(202, 0, 0)); if (WinEDA_DrcFrame::ShowToolTips())
itemBoxSizer16->Add(itemButton17, 0, wxGROW|wxALL, 5); m_RptFilenameCtrl->SetToolTip(_("Enter the report filename"));
itemStaticBoxSizer10->Add(m_RptFilenameCtrl, 2, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP|wxBOTTOM, 5);
wxButton* itemButton18 = new wxButton( itemDialog1, ID_STOP_CONTROL_DRC, _("Stop Drc"), wxDefaultPosition, wxDefaultSize, 0 ); m_BrowseButton = new wxButton( itemDialog1, ID_BUTTON_BROWSE_RPT_FILE, _("..."), wxDefaultPosition, wxSize(35, -1), 0 );
itemButton18->SetForegroundColour(wxColour(0, 128, 128)); if (WinEDA_DrcFrame::ShowToolTips())
itemBoxSizer16->Add(itemButton18, 0, wxGROW|wxALL, 5); m_BrowseButton->SetToolTip(_("Pick a filename interactively"));
itemStaticBoxSizer10->Add(m_BrowseButton, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP|wxBOTTOM|wxADJUST_MINSIZE, 5);
wxBoxSizer* itemBoxSizer19 = new wxBoxSizer(wxVERTICAL); wxStaticBox* itemStaticBoxSizer14Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Include Tests For:"));
itemBoxSizer15->Add(itemBoxSizer19, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); wxStaticBoxSizer* itemStaticBoxSizer14 = new wxStaticBoxSizer(itemStaticBoxSizer14Static, wxVERTICAL);
itemStaticBoxSizer4->Add(itemStaticBoxSizer14, 0, wxGROW|wxALL, 5);
wxButton* itemButton20 = new wxButton( itemDialog1, ID_ERASE_DRC_MARKERS, _("Del Markers"), wxDefaultPosition, wxDefaultSize, 0 ); m_Pad2PadTestCtrl = new wxCheckBox( itemDialog1, ID_CHECKBOX2, _("Clearances"), wxDefaultPosition, wxDefaultSize, 0 );
itemButton20->SetForegroundColour(wxColour(0, 128, 0)); m_Pad2PadTestCtrl->SetValue(false);
itemBoxSizer19->Add(itemButton20, 0, wxGROW|wxALL, 5); if (WinEDA_DrcFrame::ShowToolTips())
m_Pad2PadTestCtrl->SetToolTip(_("Test pad to pad, pad to track, and track to track clearances"));
itemStaticBoxSizer14->Add(m_Pad2PadTestCtrl, 0, wxGROW|wxALL, 5);
wxButton* itemButton21 = new wxButton( itemDialog1, ID_LIST_UNCONNECTED_PADS, _("List Unconn"), wxDefaultPosition, wxDefaultSize, 0 ); m_UnconnectedTestCtrl = new wxCheckBox( itemDialog1, ID_CHECKBOX3, _("Unconnected"), wxDefaultPosition, wxDefaultSize, 0 );
itemButton21->SetForegroundColour(wxColour(0, 0, 255)); m_UnconnectedTestCtrl->SetValue(false);
itemBoxSizer19->Add(itemButton21, 0, wxGROW|wxALL, 5); if (WinEDA_DrcFrame::ShowToolTips())
m_UnconnectedTestCtrl->SetToolTip(_("Find unconnected pads and tracks"));
itemStaticBoxSizer14->Add(m_UnconnectedTestCtrl, 0, wxGROW|wxALL, 5);
wxStaticBox* itemStaticBoxSizer22Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Report File")); m_ZonesTestCtrl = new wxCheckBox( itemDialog1, ID_CHECKBOX7, _("Zones"), wxDefaultPosition, wxDefaultSize, 0 );
wxStaticBoxSizer* itemStaticBoxSizer22 = new wxStaticBoxSizer(itemStaticBoxSizer22Static, wxVERTICAL); m_ZonesTestCtrl->SetValue(false);
itemBoxSizer14->Add(itemStaticBoxSizer22, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP, 5); if (WinEDA_DrcFrame::ShowToolTips())
m_ZonesTestCtrl->SetToolTip(_("Include zones in clearance or unconnected tests"));
itemStaticBoxSizer14->Add(m_ZonesTestCtrl, 0, wxGROW|wxALL, 5);
wxBoxSizer* itemBoxSizer18 = new wxBoxSizer(wxVERTICAL);
m_CommandSizer->Add(itemBoxSizer18, 0, wxALIGN_TOP|wxALL, 5);
wxButton* itemButton19 = new wxButton( itemDialog1, ID_STARTDRC, _("Start DRC"), wxDefaultPosition, wxDefaultSize, 0 );
if (WinEDA_DrcFrame::ShowToolTips())
itemButton19->SetToolTip(_("Start the Design Rule Checker"));
itemButton19->SetForegroundColour(wxColour(202, 0, 0));
itemBoxSizer18->Add(itemButton19, 0, wxGROW|wxALL, 5);
wxButton* itemButton20 = new wxButton( itemDialog1, ID_LIST_UNCONNECTED, _("List Unconnected"), wxDefaultPosition, wxDefaultSize, 0 );
if (WinEDA_DrcFrame::ShowToolTips())
itemButton20->SetToolTip(_("List unconnected pads or tracks"));
itemButton20->SetForegroundColour(wxColour(0, 0, 255));
itemBoxSizer18->Add(itemButton20, 0, wxGROW|wxALL, 5);
wxButton* itemButton21 = new wxButton( itemDialog1, ID_DELETE_ALL, _("Delete All Markers"), wxDefaultPosition, wxDefaultSize, 0 );
if (WinEDA_DrcFrame::ShowToolTips())
itemButton21->SetToolTip(_("Delete every marker"));
itemButton21->SetForegroundColour(wxColour(0, 128, 0));
itemBoxSizer18->Add(itemButton21, 0, wxGROW|wxALL, 5);
m_DeleteCurrentMarkerButton = new wxButton( itemDialog1, ID_DELETE_ONE, _("Delete Current Marker"), wxDefaultPosition, wxDefaultSize, 0 );
if (WinEDA_DrcFrame::ShowToolTips())
m_DeleteCurrentMarkerButton->SetToolTip(_("Delete the marker selected in the listBox below"));
m_DeleteCurrentMarkerButton->Enable(false);
itemBoxSizer18->Add(m_DeleteCurrentMarkerButton, 0, wxGROW|wxALL, 5);
wxStaticText* itemStaticText23 = new wxStaticText( itemDialog1, wxID_STATIC, _("Error Messages:"), wxDefaultPosition, wxDefaultSize, 0 );
m_MainSizer->Add(itemStaticText23, 0, wxGROW|wxLEFT|wxRIGHT|wxADJUST_MINSIZE, 10);
wxNotebook* itemNotebook24 = new wxNotebook( itemDialog1, ID_NOTEBOOK1, wxDefaultPosition, wxDefaultSize, wxNB_DEFAULT|wxRAISED_BORDER );
#if !wxCHECK_VERSION(2,5,2)
wxNotebookSizer* itemNotebook24Sizer = new wxNotebookSizer(itemNotebook24);
#endif
wxButton* itemButton23 = new wxButton( itemDialog1, ID_BUTTON_BROWSE_RPT_FILE, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 ); m_ClearanceListBox = new DRCLISTBOX( itemNotebook24, ID_CLEARANCE_LIST, wxDefaultPosition, wxSize(100, 300), wxSUNKEN_BORDER|wxHSCROLL|wxVSCROLL );
itemButton23->SetForegroundColour(wxColour(0, 128, 128)); if (WinEDA_DrcFrame::ShowToolTips())
itemStaticBoxSizer22->Add(itemButton23, 0, wxALIGN_LEFT|wxALL, 5); m_ClearanceListBox->SetToolTip(_("MARKERs on the PCB, double click on any MARKER to go there in PCB"));
m_RptFilenameCtrl = new wxTextCtrl( itemDialog1, ID_TEXTCTRL_GET_RPT_FILENAME, _T(""), wxDefaultPosition, wxDefaultSize, 0 ); itemNotebook24->AddPage(m_ClearanceListBox, _("Distance Problem Markers"));
itemStaticBoxSizer22->Add(m_RptFilenameCtrl, 0, wxGROW|wxALL, 5);
wxStaticText* itemStaticText25 = new wxStaticText( itemDialog1, wxID_STATIC, _("Messages:"), wxDefaultPosition, wxDefaultSize, 0 ); m_UnconnectedListBox = new DRCLISTBOX( itemNotebook24, ID_UNCONNECTED_LIST, wxDefaultPosition, wxSize(100, 100), wxSUNKEN_BORDER|wxHSCROLL|wxVSCROLL );
m_MainSizer->Add(itemStaticText25, 0, wxGROW|wxLEFT|wxRIGHT|wxADJUST_MINSIZE, 10); if (WinEDA_DrcFrame::ShowToolTips())
m_UnconnectedListBox->SetToolTip(_("Pad to pad, pad to track, and track to track clearance problems"));
m_logWindow = new wxTextCtrl( itemDialog1, ID_TEXTCTRL, _T(""), wxDefaultPosition, wxSize(-1, 300), wxTE_MULTILINE|wxTE_READONLY|wxHSCROLL|wxFULL_REPAINT_ON_RESIZE ); itemNotebook24->AddPage(m_UnconnectedListBox, _("Unconnected"));
m_MainSizer->Add(m_logWindow, 1, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 10);
Line = new wxStaticLine( itemDialog1, ID_STATICLINE, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); #if !wxCHECK_VERSION(2,5,2)
m_MainSizer->Add(Line, 0, wxGROW|wxLEFT|wxRIGHT, 5); m_MainSizer->Add(itemNotebook24Sizer, 5, wxGROW|wxALL, 5);
#else
m_MainSizer->Add(itemNotebook24, 5, wxGROW|wxALL, 5);
#endif
StdDialogButtonSizer = new wxStdDialogButtonSizer; StdDialogButtonSizer = new wxStdDialogButtonSizer;
m_MainSizer->Add(StdDialogButtonSizer, 0, wxGROW|wxALL, 10); m_MainSizer->Add(StdDialogButtonSizer, 0, wxGROW|wxALL, 10);
wxButton* itemButton28 = new wxButton( itemDialog1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
itemButton28->SetForegroundColour(wxColour(0, 0, 255));
StdDialogButtonSizer->AddButton(itemButton28);
wxButton* itemButton29 = new wxButton( itemDialog1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 ); wxButton* itemButton29 = new wxButton( itemDialog1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 );
itemButton29->SetForegroundColour(wxColour(200, 0, 0)); itemButton29->SetDefault();
StdDialogButtonSizer->AddButton(itemButton29); StdDialogButtonSizer->AddButton(itemButton29);
wxButton* itemButton30 = new wxButton( itemDialog1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
itemButton30->SetForegroundColour(wxColour(0, 0, 255));
StdDialogButtonSizer->AddButton(itemButton30);
StdDialogButtonSizer->Realize(); StdDialogButtonSizer->Realize();
// Set validators // Set validators
m_CreateRptCtrl->SetValidator( wxGenericValidator(& s_CreateRptFileOpt) );
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) ); // Connect events and objects
m_ClearanceListBox->Connect(ID_CLEARANCE_LIST, wxEVT_LEFT_DCLICK, wxMouseEventHandler(WinEDA_DrcFrame::OnLeftDClickClearance), NULL, this);
m_ClearanceListBox->Connect(ID_CLEARANCE_LIST, wxEVT_RIGHT_UP, wxMouseEventHandler(WinEDA_DrcFrame::OnRightUpClearance), NULL, this);
m_UnconnectedListBox->Connect(ID_UNCONNECTED_LIST, wxEVT_LEFT_DCLICK, wxMouseEventHandler(WinEDA_DrcFrame::OnLeftDClickUnconnected), NULL, this);
m_UnconnectedListBox->Connect(ID_UNCONNECTED_LIST, wxEVT_RIGHT_UP, wxMouseEventHandler(WinEDA_DrcFrame::OnRightUpUnconnected), NULL, this);
////@end WinEDA_DrcFrame content construction ////@end WinEDA_DrcFrame content construction
AddUnitSymbol(*m_ClearenceTitle);
m_RptFilenameCtrl->SetValue(s_RptFilename);
// capture the text control's events, all of them.
// m_logWindow->PushEventHandler( this );
} }
/*! /*!
...@@ -292,7 +439,7 @@ wxIcon WinEDA_DrcFrame::GetIconResource( const wxString& name ) ...@@ -292,7 +439,7 @@ wxIcon WinEDA_DrcFrame::GetIconResource( const wxString& name )
* wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_DRC_RUN * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_DRC_RUN
*/ */
void WinEDA_DrcFrame::OnDrcRunClick( wxCommandEvent& event ) void WinEDA_DrcFrame::OnStartdrcClick( wxCommandEvent& event )
{ {
TestDrc(event); TestDrc(event);
} }
...@@ -301,6 +448,7 @@ void WinEDA_DrcFrame::OnDrcRunClick( wxCommandEvent& event ) ...@@ -301,6 +448,7 @@ void WinEDA_DrcFrame::OnDrcRunClick( wxCommandEvent& event )
* wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_STOP_CONTROL_DRC * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_STOP_CONTROL_DRC
*/ */
/*
void WinEDA_DrcFrame::OnStopControlDrcClick( wxCommandEvent& event ) void WinEDA_DrcFrame::OnStopControlDrcClick( wxCommandEvent& event )
{ {
if( DrcInProgress ) if( DrcInProgress )
...@@ -308,12 +456,13 @@ void WinEDA_DrcFrame::OnStopControlDrcClick( wxCommandEvent& event ) ...@@ -308,12 +456,13 @@ void WinEDA_DrcFrame::OnStopControlDrcClick( wxCommandEvent& event )
else else
wxBell(); wxBell();
} }
*/
/*! /*!
* wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_ERASE_DRC_MARKERS * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_ERASE_DRC_MARKERS
*/ */
void WinEDA_DrcFrame::OnEraseDrcMarkersClick( wxCommandEvent& event ) void WinEDA_DrcFrame::OnDeleteAllClick( wxCommandEvent& event )
{ {
DelDRCMarkers(event); DelDRCMarkers(event);
} }
...@@ -322,7 +471,7 @@ void WinEDA_DrcFrame::OnEraseDrcMarkersClick( wxCommandEvent& event ) ...@@ -322,7 +471,7 @@ void WinEDA_DrcFrame::OnEraseDrcMarkersClick( wxCommandEvent& event )
* wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_LIST_UNCONNECTED_PADS * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_LIST_UNCONNECTED_PADS
*/ */
void WinEDA_DrcFrame::OnListUnconnectedPadsClick( wxCommandEvent& event ) void WinEDA_DrcFrame::OnListUnconnectedClick( wxCommandEvent& event )
{ {
ListUnconnectedPads(event); ListUnconnectedPads(event);
} }
...@@ -333,7 +482,9 @@ void WinEDA_DrcFrame::OnListUnconnectedPadsClick( wxCommandEvent& event ) ...@@ -333,7 +482,9 @@ void WinEDA_DrcFrame::OnListUnconnectedPadsClick( wxCommandEvent& event )
void WinEDA_DrcFrame::OnButtonBrowseRptFileClick( wxCommandEvent& event ) void WinEDA_DrcFrame::OnButtonBrowseRptFileClick( wxCommandEvent& event )
{ {
wxString FileName, Mask(wxT("*")), Ext(wxT(".rpt")); wxString FileName;
wxString Mask(wxT("*"));
wxString Ext(wxT(".rpt"));
FileName = m_Parent->m_CurrentScreen->m_FileName; FileName = m_Parent->m_CurrentScreen->m_FileName;
ChangeFileNameExt(FileName, wxT("-drc") + Ext); ChangeFileNameExt(FileName, wxT("-drc") + Ext);
...@@ -357,74 +508,163 @@ wxString FileName, Mask(wxT("*")), Ext(wxT(".rpt")); ...@@ -357,74 +508,163 @@ wxString FileName, Mask(wxT("*")), Ext(wxT(".rpt"));
/*! /*!
* Override the event handler so we can direct the m_lowWindows events here initially * wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK
*/ */
bool WinEDA_DrcFrame::ProcessEvent( wxEvent& event ) void WinEDA_DrcFrame::OnOkClick( wxCommandEvent& event )
{ {
int id = event.GetId(); s_Pad2PadTestOpt = m_Pad2PadTestCtrl->IsChecked();
s_UnconnectedTestOpt = m_UnconnectedTestCtrl->IsChecked();
if( id == ID_TEXTCTRL ) s_ZonesTestOpt = m_ZonesTestCtrl->IsChecked();
{ s_CreateRptFileOpt = m_CreateRptCtrl->IsChecked();
event.Skip();
//printf("ID_TEXTCTRL\n"); }
// this does not work yet
if( event.GetEventType() == wxMOUSE_BTN_LEFT ) /*!
{ * wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL
wxMouseEvent& mouseEvent = (wxMouseEvent&) event; */
if( mouseEvent.LeftUp() )
{
wxTextCoord col;
wxTextCoord row;
wxPoint pos = mouseEvent.GetPosition();
if( wxTE_HT_UNKNOWN != m_logWindow->HitTest( pos, &col, &row ) )
{
wxString text = m_logWindow->GetLineText( row );
}
}
}
return false; void WinEDA_DrcFrame::OnCancelClick( wxCommandEvent& event )
} {
////@begin wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL in WinEDA_DrcFrame.
// Before editing this code, remove the block markers.
event.Skip();
////@end wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL in WinEDA_DrcFrame.
}
/*!
* wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_CHECKBOX1
*/
void WinEDA_DrcFrame::OnReportCheckBoxClicked( wxCommandEvent& event )
{
// @todo: see if the checkbox is selected, if so, enable the report name field
// and browse button, else disable them.
if( m_CreateRptCtrl->IsChecked() )
{
m_RptFilenameCtrl->Enable(true);
m_BrowseButton->Enable(true);
}
else else
{ {
bool ret; m_RptFilenameCtrl->Enable(false);
// printf("ProcessEvent(%d)\n", id); m_BrowseButton->Enable(false);
ret = static_cast<wxDialog*>(this)->wxDialog::ProcessEvent( event );
// printf("~ProcessEvent\n");
return ret;
} }
event.Skip();
} }
/*! /*!
* wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK * wxEVT_INIT_DIALOG event handler for ID_DIALOG
*/ */
void WinEDA_DrcFrame::OnOkClick( wxCommandEvent& event ) void WinEDA_DrcFrame::OnInitDialog( wxInitDialogEvent& event )
{ {
s_Pad2PadTestOpt = m_Pad2PadTestCtrl->IsChecked(); wxCommandEvent junk;
s_UnconnectedTestOpt = m_UnconnectedTestCtrl->IsChecked();
s_ZonesTestOpt = m_ZonesTestCtrl->IsChecked(); // Set the initial status of the browse button and the text
s_CreateRptFileOpt = m_CreateRptCtrl->IsChecked(); // field for report name
OnReportCheckBoxClicked( junk );
AddUnitSymbol(*m_ClearenceTitle);
m_RptFilenameCtrl->SetValue(s_RptFilename);
m_SetClearance->SetFocus();
// deselect the existing text, seems SetFocus() wants to emulate
// Microsoft, which is not desireable here.
m_SetClearance->SetSelection(0,0);
event.Skip(); event.Skip();
} }
/*! /*!
* wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL * wxEVT_LEFT_DCLICK event handler for ID_CLEARANCE_LIST
*/ */
void WinEDA_DrcFrame::OnCancelClick( wxCommandEvent& event ) void WinEDA_DrcFrame::OnLeftDClickClearance( wxMouseEvent& event )
{ {
////@begin wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL in WinEDA_DrcFrame. int selection = m_ClearanceListBox->GetSelection();
if( selection != wxNOT_FOUND )
{
printf("get item number %d\n", selection );
// Find the selected MARKER in the PCB, position cursor there,
// and close this dialog.
EndModal( 0 );
}
event.Skip();
}
/*!
* wxEVT_RIGHT_UP event handler for ID_CLEARANCE_LIST
*/
void WinEDA_DrcFrame::OnRightUpUnconnected( wxMouseEvent& event )
{
event.Skip();
}
/*!
* wxEVT_RIGHT_UP event handler for ID_CLEARANCE_LIST
*/
void WinEDA_DrcFrame::OnRightUpClearance( wxMouseEvent& event )
{
////@begin wxEVT_RIGHT_UP event handler for ID_CLEARANCE_LIST in WinEDA_DrcFrame.
// Before editing this code, remove the block markers. // Before editing this code, remove the block markers.
event.Skip(); event.Skip();
////@end wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL in WinEDA_DrcFrame. ////@end wxEVT_RIGHT_UP event handler for ID_CLEARANCE_LIST in WinEDA_DrcFrame.
} }
/*!
* wxEVT_LEFT_DCLICK event handler for ID_UNCONNECTED_LIST
*/
void WinEDA_DrcFrame::OnLeftDClickUnconnected( wxMouseEvent& event )
{
int selection = m_UnconnectedListBox->GetSelection();
if( selection != wxNOT_FOUND )
{
printf("get item number %d\n", selection );
}
event.Skip();
}
void WinEDA_DrcFrame::OnMarkerSelectionEvent( wxCommandEvent& event )
{
int selection = event.GetSelection();
if( selection != wxNOT_FOUND )
{
// until a MARKER is selected, this button is not enabled.
m_DeleteCurrentMarkerButton->Enable(true);
printf("get Marker number %d\n", selection );
}
event.Skip();
}
void WinEDA_DrcFrame::OnUnconnectedSelectionEvent( wxCommandEvent& event )
{
int selection = event.GetSelection();
if( selection != wxNOT_FOUND )
{
printf("get Unconnected item number %d\n", selection );
}
event.Skip();
}
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: dialog_drc.h // Name: dialog_drc.h
// Purpose: // Purpose:
// Author: jean-pierre Charras // Author: jean-pierre Charras
// Modified by: // Modified by:
// Created: 27/02/2006 20:42:00 // Created: 27/02/2006 20:42:00
// RCS-ID: // RCS-ID:
// Copyright: License GNU // Copyright: License GNU
// Licence: // Licence:
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Generated by DialogBlocks (unregistered), 27/02/2006 20:42:00 // Generated by DialogBlocks (unregistered), 27/02/2006 20:42:00
...@@ -24,38 +24,41 @@ ...@@ -24,38 +24,41 @@
////@begin includes ////@begin includes
#include "wx/valgen.h" #include "wx/valgen.h"
#include "wx/statline.h" #include "wx/notebook.h"
////@end includes ////@end includes
/*! /*!
* Forward declarations * Forward declarations
*/ */
////@begin forward declarations ////@begin forward declarations
class wxBoxSizer; class wxBoxSizer;
class wxStaticLine; class DRCLISTBOX;
class wxStdDialogButtonSizer; class wxStdDialogButtonSizer;
////@end forward declarations ////@end forward declarations
/*! /*!
* Control identifiers * Control identifiers
*/ */
////@begin control identifiers ////@begin control identifiers
#define ID_DIALOG 10000 #define ID_DIALOG 10000
#define ID_TEXTCTRL_CLEARANCE 10002 #define ID_TEXTCTRL1 10002
#define ID_CHECKBOX_PAD2PAD 10009 #define ID_CHECKBOX 10004
#define ID_CHECKBOX_UNCONNECTED 10008 #define ID_TEXTCTRL3 10014
#define ID_CHECKBOX_TEST_ZONES 10007 #define ID_BUTTON_BROWSE_RPT_FILE 10018
#define ID_CHECKBOX_CREATE_FILE 10012 #define ID_CHECKBOX2 10019
#define ID_DRC_RUN 10003 #define ID_CHECKBOX3 10020
#define ID_STOP_CONTROL_DRC 10004 #define ID_CHECKBOX7 10021
#define ID_ERASE_DRC_MARKERS 10005 #define ID_STARTDRC 10006
#define ID_LIST_UNCONNECTED_PADS 10006 #define ID_LIST_UNCONNECTED 10003
#define ID_BUTTON_BROWSE_RPT_FILE 10011 #define ID_DELETE_ALL 10005
#define ID_TEXTCTRL_GET_RPT_FILENAME 10010 #define ID_DELETE_ONE 10007
#define ID_TEXTCTRL 10001 #define ID_NOTEBOOK1 10008
#define ID_STATICLINE 10013 #define ID_CLEARANCE_LIST 10001
#define ID_UNCONNECTED_LIST 10009
#define SYMBOL_WINEDA_DRCFRAME_STYLE wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER #define SYMBOL_WINEDA_DRCFRAME_STYLE wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER
#define SYMBOL_WINEDA_DRCFRAME_TITLE _("DRC Control") #define SYMBOL_WINEDA_DRCFRAME_TITLE _("DRC Control")
#define SYMBOL_WINEDA_DRCFRAME_IDNAME ID_DIALOG #define SYMBOL_WINEDA_DRCFRAME_IDNAME ID_DIALOG
...@@ -63,6 +66,8 @@ class wxStdDialogButtonSizer; ...@@ -63,6 +66,8 @@ class wxStdDialogButtonSizer;
#define SYMBOL_WINEDA_DRCFRAME_POSITION wxDefaultPosition #define SYMBOL_WINEDA_DRCFRAME_POSITION wxDefaultPosition
////@end control identifiers ////@end control identifiers
#define ID_DRCLISTCTRL 10001 // outside @end control identifiers since DialogBlocks knows not DRCLISTBOX
/*! /*!
* Compatibility * Compatibility
*/ */
...@@ -76,7 +81,7 @@ class wxStdDialogButtonSizer; ...@@ -76,7 +81,7 @@ class wxStdDialogButtonSizer;
*/ */
class WinEDA_DrcFrame: public wxDialog class WinEDA_DrcFrame: public wxDialog
{ {
DECLARE_DYNAMIC_CLASS( WinEDA_DrcFrame ) DECLARE_DYNAMIC_CLASS( WinEDA_DrcFrame )
DECLARE_EVENT_TABLE() DECLARE_EVENT_TABLE()
...@@ -96,32 +101,44 @@ public: ...@@ -96,32 +101,44 @@ public:
/// Creates the controls and sizers /// Creates the controls and sizers
void CreateControls(); void CreateControls();
/// Override the event handler so we can direct the m_lowWindows events here initially
virtual bool ProcessEvent( wxEvent& event );
////@begin WinEDA_DrcFrame event handler declarations ////@begin WinEDA_DrcFrame event handler declarations
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_DRC_RUN /// wxEVT_INIT_DIALOG event handler for ID_DIALOG
void OnDrcRunClick( wxCommandEvent& event ); void OnInitDialog( wxInitDialogEvent& event );
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_STOP_CONTROL_DRC /// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_CHECKBOX
void OnStopControlDrcClick( wxCommandEvent& event ); void OnReportCheckBoxClicked( wxCommandEvent& event );
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_ERASE_DRC_MARKERS
void OnEraseDrcMarkersClick( wxCommandEvent& event );
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_LIST_UNCONNECTED_PADS
void OnListUnconnectedPadsClick( wxCommandEvent& event );
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON_BROWSE_RPT_FILE /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON_BROWSE_RPT_FILE
void OnButtonBrowseRptFileClick( wxCommandEvent& event ); void OnButtonBrowseRptFileClick( wxCommandEvent& event );
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_STARTDRC
void OnOkClick( wxCommandEvent& event ); void OnStartdrcClick( wxCommandEvent& event );
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_LIST_UNCONNECTED
void OnListUnconnectedClick( wxCommandEvent& event );
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_DELETE_ALL
void OnDeleteAllClick( wxCommandEvent& event );
/// wxEVT_LEFT_DCLICK event handler for ID_CLEARANCE_LIST
void OnLeftDClickClearance( wxMouseEvent& event );
/// wxEVT_RIGHT_UP event handler for ID_CLEARANCE_LIST
void OnRightUpClearance( wxMouseEvent& event );
/// wxEVT_LEFT_DCLICK event handler for ID_UNCONNECTED_LIST
void OnLeftDClickUnconnected( wxMouseEvent& event );
/// wxEVT_RIGHT_UP event handler for ID_UNCONNECTED_LIST
void OnRightUpUnconnected( wxMouseEvent& event );
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL /// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL
void OnCancelClick( wxCommandEvent& event ); void OnCancelClick( wxCommandEvent& event );
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK
void OnOkClick( 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
...@@ -133,6 +150,9 @@ public: ...@@ -133,6 +150,9 @@ public:
wxIcon GetIconResource( const wxString& name ); wxIcon GetIconResource( const wxString& name );
////@end WinEDA_DrcFrame member function declarations ////@end WinEDA_DrcFrame member function declarations
void OnMarkerSelectionEvent( wxCommandEvent& event );
void OnUnconnectedSelectionEvent( wxCommandEvent& event );
/// Should we show tooltips? /// Should we show tooltips?
static bool ShowToolTips(); static bool ShowToolTips();
...@@ -145,19 +165,22 @@ public: ...@@ -145,19 +165,22 @@ public:
wxBoxSizer* m_CommandSizer; wxBoxSizer* m_CommandSizer;
wxStaticText* m_ClearenceTitle; wxStaticText* m_ClearenceTitle;
wxTextCtrl* m_SetClearance; wxTextCtrl* m_SetClearance;
wxCheckBox* m_CreateRptCtrl;
wxTextCtrl* m_RptFilenameCtrl;
wxButton* m_BrowseButton;
wxCheckBox* m_Pad2PadTestCtrl; wxCheckBox* m_Pad2PadTestCtrl;
wxCheckBox* m_UnconnectedTestCtrl; wxCheckBox* m_UnconnectedTestCtrl;
wxCheckBox* m_ZonesTestCtrl; wxCheckBox* m_ZonesTestCtrl;
wxCheckBox* m_CreateRptCtrl; wxButton* m_DeleteCurrentMarkerButton;
wxTextCtrl* m_RptFilenameCtrl; DRCLISTBOX* m_ClearanceListBox;
wxTextCtrl* m_logWindow; DRCLISTBOX* m_UnconnectedListBox;
wxStaticLine* Line;
wxStdDialogButtonSizer* StdDialogButtonSizer; wxStdDialogButtonSizer* StdDialogButtonSizer;
////@end WinEDA_DrcFrame member variables ////@end WinEDA_DrcFrame member variables
WinEDA_PcbFrame * m_Parent; WinEDA_PcbFrame * m_Parent;
wxDC * m_DC; wxDC * m_DC;
int m_UnconnectedCount; int m_UnconnectedCount;
}; };
#endif #endif // _DIALOG_DRC_H_
// _DIALOG_DRC_H_
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -162,12 +162,14 @@ bool WinEDA_GraphicItemsOptionsDialog::Create( wxWindow* parent, wxWindowID id, ...@@ -162,12 +162,14 @@ bool WinEDA_GraphicItemsOptionsDialog::Create( wxWindow* parent, wxWindowID id,
////@end WinEDA_GraphicItemsOptionsDialog member initialisation ////@end WinEDA_GraphicItemsOptionsDialog member initialisation
////@begin WinEDA_GraphicItemsOptionsDialog creation ////@begin WinEDA_GraphicItemsOptionsDialog creation
SetExtraStyle(GetExtraStyle()|wxWS_EX_BLOCK_EVENTS); SetExtraStyle(wxWS_EX_BLOCK_EVENTS);
wxDialog::Create( parent, id, caption, pos, size, style ); wxDialog::Create( parent, id, caption, pos, size, style );
CreateControls(); CreateControls();
GetSizer()->Fit(this); if (GetSizer())
GetSizer()->SetSizeHints(this); {
GetSizer()->SetSizeHints(this);
}
Centre(); Centre();
////@end WinEDA_GraphicItemsOptionsDialog creation ////@end WinEDA_GraphicItemsOptionsDialog creation
return true; return true;
...@@ -182,7 +184,7 @@ void WinEDA_GraphicItemsOptionsDialog::CreateControls() ...@@ -182,7 +184,7 @@ void WinEDA_GraphicItemsOptionsDialog::CreateControls()
SetFont(*g_DialogFont); SetFont(*g_DialogFont);
////@begin WinEDA_GraphicItemsOptionsDialog content construction ////@begin WinEDA_GraphicItemsOptionsDialog content construction
// Generated by DialogBlocks, 25/02/2006 10:43:53 (unregistered) // Generated by DialogBlocks, Mon 26 Nov 2007 18:58:29 CST (unregistered)
WinEDA_GraphicItemsOptionsDialog* itemDialog1 = this; WinEDA_GraphicItemsOptionsDialog* itemDialog1 = this;
......
...@@ -34,11 +34,6 @@ ...@@ -34,11 +34,6 @@
////@begin control identifiers ////@begin control identifiers
#define ID_DIALOG 10000 #define ID_DIALOG 10000
#define SYMBOL_WINEDA_GRAPHICITEMSOPTIONSDIALOG_STYLE wxCAPTION|wxSYSTEM_MENU|wxCLOSE_BOX|MAYBE_RESIZE_BORDER
#define SYMBOL_WINEDA_GRAPHICITEMSOPTIONSDIALOG_TITLE _("Texts and Drawings")
#define SYMBOL_WINEDA_GRAPHICITEMSOPTIONSDIALOG_IDNAME ID_DIALOG
#define SYMBOL_WINEDA_GRAPHICITEMSOPTIONSDIALOG_SIZE wxSize(400, 300)
#define SYMBOL_WINEDA_GRAPHICITEMSOPTIONSDIALOG_POSITION wxDefaultPosition
#define ID_TEXTCTRL_SEGW 10001 #define ID_TEXTCTRL_SEGW 10001
#define ID_TEXTCTRL_EDGES 10002 #define ID_TEXTCTRL_EDGES 10002
#define ID_TEXTCTRL_TEXTW 10003 #define ID_TEXTCTRL_TEXTW 10003
...@@ -48,6 +43,11 @@ ...@@ -48,6 +43,11 @@
#define ID_TEXTCTRL_TXTMOD_W 10007 #define ID_TEXTCTRL_TXTMOD_W 10007
#define ID_TEXTCTRL_TXTMOD_V 10008 #define ID_TEXTCTRL_TXTMOD_V 10008
#define ID_TEXTCTRL_TXTMOD_H 10009 #define ID_TEXTCTRL_TXTMOD_H 10009
#define SYMBOL_WINEDA_GRAPHICITEMSOPTIONSDIALOG_STYLE wxCAPTION|wxSYSTEM_MENU|wxCLOSE_BOX|MAYBE_RESIZE_BORDER
#define SYMBOL_WINEDA_GRAPHICITEMSOPTIONSDIALOG_TITLE _("Texts and Drawings")
#define SYMBOL_WINEDA_GRAPHICITEMSOPTIONSDIALOG_IDNAME ID_DIALOG
#define SYMBOL_WINEDA_GRAPHICITEMSOPTIONSDIALOG_SIZE wxSize(400, 300)
#define SYMBOL_WINEDA_GRAPHICITEMSOPTIONSDIALOG_POSITION wxDefaultPosition
////@end control identifiers ////@end control identifiers
/*! /*!
......
<?xml version="1.0" encoding="windows-1252"?> <?xml version="1.0" encoding="UTF-8"?>
<anthemion-project version="1.0.0.0" xmlns="http://www.anthemion.co.uk"> <anthemion-project version="1.0.0.0" xmlns="http://www.anthemion.co.uk">
<header> <header>
<long name="name_counter">0</long> <long name="name_counter">0</long>
...@@ -6,18 +6,20 @@ ...@@ -6,18 +6,20 @@
<string name="title">""</string> <string name="title">""</string>
<string name="author">""</string> <string name="author">""</string>
<string name="description">""</string> <string name="description">""</string>
<long name="doc_count">34</long>
<string name="xrc_filename">""</string> <string name="xrc_filename">""</string>
<bool name="convert_images_to_xpm">0</bool> <bool name="convert_images_to_xpm">0</bool>
<bool name="inline_images">0</bool> <bool name="inline_images">0</bool>
<bool name="generate_cpp_for_xrc">0</bool> <bool name="generate_cpp_for_xrc">0</bool>
<long name="working_mode">1</long>
<bool name="use_help_text_for_tooltips">1</bool> <bool name="use_help_text_for_tooltips">1</bool>
<bool name="translate_strings">1</bool> <bool name="translate_strings">1</bool>
<bool name="make_unicode_strings">1</bool>
<bool name="extract_strings">0</bool> <bool name="extract_strings">0</bool>
<string name="user_name">"jean-pierre Charras"</string> <string name="user_name">"jean-pierre Charras"</string>
<string name="copyright_string">"License GNU"</string> <string name="copyright_string">"License GNU"</string>
<string name="resource_prefix">""</string> <string name="resource_prefix">""</string>
<bool name="use_two_step_construction">0</bool> <bool name="use_two_step_construction">0</bool>
<bool name="use_enums">0</bool>
<string name="current_platform">"&lt;All platforms&gt;"</string> <string name="current_platform">"&lt;All platforms&gt;"</string>
<string name="target_wx_version">"&lt;Any&gt;"</string> <string name="target_wx_version">"&lt;Any&gt;"</string>
<string name="cpp_header_comment">"///////////////////////////////////////////////////////////////////////////// <string name="cpp_header_comment">"/////////////////////////////////////////////////////////////////////////////
...@@ -43,12 +45,6 @@ ...@@ -43,12 +45,6 @@
// Licence: // Licence:
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
"</string>
<string name="cpp_function_comment">"
/*!
* %BODY%
*/
"</string> "</string>
<string name="cpp_symbols_file_comment">"///////////////////////////////////////////////////////////////////////////// <string name="cpp_symbols_file_comment">"/////////////////////////////////////////////////////////////////////////////
// Name: %SYMBOLS-FILENAME% // Name: %SYMBOLS-FILENAME%
...@@ -82,6 +78,14 @@ ...@@ -82,6 +78,14 @@
#include &quot;wx/wx.h&quot; #include &quot;wx/wx.h&quot;
#endif #endif
"</string>
<string name="cpp_function_declaration_comment">" /// %BODY%
"</string>
<string name="cpp_function_implementation_comment">"
/*!
* %BODY%
*/
"</string> "</string>
<string name="resource_file_header">"app_resources.h"</string> <string name="resource_file_header">"app_resources.h"</string>
<string name="resource_file_implementation">"app_resources.cpp"</string> <string name="resource_file_implementation">"app_resources.cpp"</string>
...@@ -93,11 +97,23 @@ ...@@ -93,11 +97,23 @@
<string name="external_symbol_filenames">""</string> <string name="external_symbol_filenames">""</string>
<string name="configuration">"&lt;None&gt;"</string> <string name="configuration">"&lt;None&gt;"</string>
<string name="source_encoding">"&lt;System&gt;"</string> <string name="source_encoding">"&lt;System&gt;"</string>
<string name="xrc_encoding">"utf-8"</string>
<string name="project_encoding">"&lt;System&gt;"</string> <string name="project_encoding">"&lt;System&gt;"</string>
<string name="resource_archive">""</string> <string name="resource_archive">""</string>
<long name="text_file_type">0</long>
<bool name="use_tabs">0</bool>
<long name="indent_size">4</long>
<string name="whitespace_after_return_type">" "</string>
<string name="resource_xrc_cpp">""</string>
<bool name="use_resource_archive">0</bool> <bool name="use_resource_archive">0</bool>
<bool name="use_generated_xrc_cpp">0</bool>
<bool name="always_generate_xrc">1</bool>
<bool name="use_id_name_for_name">0</bool>
<bool name="archive_xrc_files">1</bool> <bool name="archive_xrc_files">1</bool>
<bool name="archive_image_files">1</bool> <bool name="archive_image_files">1</bool>
<bool name="archive_all_image_files">0</bool>
<bool name="xrc_retain_relative_paths">1</bool>
<bool name="xrc_generate_id_tags">0</bool>
</header> </header>
<data> <data>
<document> <document>
...@@ -174,7 +190,7 @@ ...@@ -174,7 +190,7 @@
<long name="is-transient">1</long> <long name="is-transient">1</long>
<long name="owns-file">1</long> <long name="owns-file">1</long>
<long name="title-mode">0</long> <long name="title-mode">0</long>
<long name="locked">0</long> <long name="locked">1</long>
<document> <document>
<string name="title">"Windows"</string> <string name="title">"Windows"</string>
<string name="type">"html-document"</string> <string name="type">"html-document"</string>
...@@ -198,7 +214,10 @@ ...@@ -198,7 +214,10 @@
<long name="base-id">10000</long> <long name="base-id">10000</long>
<bool name="use-id-prefix">0</bool> <bool name="use-id-prefix">0</bool>
<string name="id-prefix">""</string> <string name="id-prefix">""</string>
<bool name="use-id-suffix">0</bool>
<string name="id-suffix">""</string>
<long name="use-xrc">0</long> <long name="use-xrc">0</long>
<long name="working-mode">0</long>
<string name="proxy-Id name">"ID_DIALOG"</string> <string name="proxy-Id name">"ID_DIALOG"</string>
<long name="proxy-Id value">10000</long> <long name="proxy-Id value">10000</long>
<string name="proxy-Class">"WinEDA_GraphicItemsOptionsDialog"</string> <string name="proxy-Class">"WinEDA_GraphicItemsOptionsDialog"</string>
...@@ -219,10 +238,16 @@ ...@@ -219,10 +238,16 @@
<bool name="proxy-Hidden">0</bool> <bool name="proxy-Hidden">0</bool>
<bool name="proxy-Enabled">1</bool> <bool name="proxy-Enabled">1</bool>
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<string name="proxy-Texture">""</string>
<string name="proxy-Texture style">"Tiled"</string>
<bool name="proxy-wxDEFAULT_DIALOG_STYLE">0</bool> <bool name="proxy-wxDEFAULT_DIALOG_STYLE">0</bool>
<bool name="proxy-wxCAPTION">1</bool> <bool name="proxy-wxCAPTION">1</bool>
<bool name="proxy-wxRESIZE_BORDER">0</bool> <bool name="proxy-wxRESIZE_BORDER">0</bool>
<bool name="proxy-wxTHICK_FRAME">0</bool>
<bool name="proxy-wxSYSTEM_MENU">1</bool> <bool name="proxy-wxSYSTEM_MENU">1</bool>
<bool name="proxy-wxSTAY_ON_TOP">0</bool> <bool name="proxy-wxSTAY_ON_TOP">0</bool>
<bool name="proxy-wxDIALOG_NO_PARENT">0</bool> <bool name="proxy-wxDIALOG_NO_PARENT">0</bool>
...@@ -237,7 +262,9 @@ ...@@ -237,7 +262,9 @@
<bool name="proxy-wxRAISED_BORDER">0</bool> <bool name="proxy-wxRAISED_BORDER">0</bool>
<bool name="proxy-wxSTATIC_BORDER">0</bool> <bool name="proxy-wxSTATIC_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">0</bool> <bool name="proxy-wxWANTS_CHARS">0</bool>
<bool name="proxy-wxCLIP_CHILDREN ">0</bool> <bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool>
<bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool>
<bool name="proxy-wxCLIP_CHILDREN">0</bool>
<bool name="proxy-wxTAB_TRAVERSAL">0</bool> <bool name="proxy-wxTAB_TRAVERSAL">0</bool>
<bool name="proxy-wxWS_EX_VALIDATE_RECURSIVELY">0</bool> <bool name="proxy-wxWS_EX_VALIDATE_RECURSIVELY">0</bool>
<bool name="proxy-wxWS_EX_BLOCK_EVENTS">1</bool> <bool name="proxy-wxWS_EX_BLOCK_EVENTS">1</bool>
...@@ -249,6 +276,7 @@ ...@@ -249,6 +276,7 @@
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
<long name="proxy-Width">400</long> <long name="proxy-Width">400</long>
<long name="proxy-Height">300</long> <long name="proxy-Height">300</long>
<bool name="proxy-AUI manager">0</bool>
<string name="proxy-Event sources">""</string> <string name="proxy-Event sources">""</string>
<document> <document>
<string name="title">"wxBoxSizer H"</string> <string name="title">"wxBoxSizer H"</string>
...@@ -280,13 +308,14 @@ ...@@ -280,13 +308,14 @@
<string name="proxy-Id name">"wxID_ANY"</string> <string name="proxy-Id name">"wxID_ANY"</string>
<string name="proxy-Id value">"-1"</string> <string name="proxy-Id value">"-1"</string>
<string name="proxy-Label">"Graphics:"</string> <string name="proxy-Label">"Graphics:"</string>
<string name="proxy-Member variable name">""</string>
<string name="proxy-Sizer member variable name">""</string> <string name="proxy-Sizer member variable name">""</string>
<string name="proxy-Foreground colour">""</string> <string name="proxy-Foreground colour">""</string>
<string name="proxy-Font">""</string> <string name="proxy-Font">""</string>
<bool name="proxy-Hidden">0</bool> <bool name="proxy-Hidden">0</bool>
<bool name="proxy-Enabled">1</bool> <bool name="proxy-Enabled">1</bool>
<string name="proxy-Static box class">"wxStaticBox"</string>
<string name="proxy-Orientation">"Vertical"</string> <string name="proxy-Orientation">"Vertical"</string>
<string name="proxy-Member variable name">""</string>
<string name="proxy-AlignH">"Centre"</string> <string name="proxy-AlignH">"Centre"</string>
<string name="proxy-AlignV">"Expand"</string> <string name="proxy-AlignV">"Expand"</string>
<long name="proxy-Stretch factor">0</long> <long name="proxy-Stretch factor">0</long>
...@@ -312,9 +341,16 @@ ...@@ -312,9 +341,16 @@
<string name="proxy-type">"wbStaticTextProxy"</string> <string name="proxy-type">"wbStaticTextProxy"</string>
<string name="proxy-Id name">"wxID_STATIC"</string> <string name="proxy-Id name">"wxID_STATIC"</string>
<long name="proxy-Id value">5105</long> <long name="proxy-Id value">5105</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxStaticText"</string> <string name="proxy-Class">"wxStaticText"</string>
<string name="proxy-Base class">"wxStaticText"</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_GraphicSegmWidthTitle"</string> <string name="proxy-Member variable name">"m_GraphicSegmWidthTitle"</string>
<string name="proxy-Label">"Graphic segm Width"</string> <string name="proxy-Label">"Graphic segm Width"</string>
<long name="proxy-Wrapping width">-1</long>
<string name="proxy-Help text">""</string> <string name="proxy-Help text">""</string>
<string name="proxy-Tooltip text">""</string> <string name="proxy-Tooltip text">""</string>
<string name="proxy-Background colour">""</string> <string name="proxy-Background colour">""</string>
...@@ -325,6 +361,11 @@ ...@@ -325,6 +361,11 @@
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</string>
<string name="proxy-Data variable">""</string> <string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string> <string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<bool name="proxy-wxALIGN_LEFT">0</bool> <bool name="proxy-wxALIGN_LEFT">0</bool>
<bool name="proxy-wxALIGN_RIGHT">0</bool> <bool name="proxy-wxALIGN_RIGHT">0</bool>
<bool name="proxy-wxALIGN_CENTRE">0</bool> <bool name="proxy-wxALIGN_CENTRE">0</bool>
...@@ -336,6 +377,8 @@ ...@@ -336,6 +377,8 @@
<bool name="proxy-wxRAISED_BORDER">0</bool> <bool name="proxy-wxRAISED_BORDER">0</bool>
<bool name="proxy-wxSTATIC_BORDER">0</bool> <bool name="proxy-wxSTATIC_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
...@@ -368,7 +411,13 @@ ...@@ -368,7 +411,13 @@
<string name="proxy-type">"wbTextCtrlProxy"</string> <string name="proxy-type">"wbTextCtrlProxy"</string>
<string name="proxy-Id name">"ID_TEXTCTRL_SEGW"</string> <string name="proxy-Id name">"ID_TEXTCTRL_SEGW"</string>
<long name="proxy-Id value">10001</long> <long name="proxy-Id value">10001</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxTextCtrl"</string> <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_OptPcbSegmWidth"</string> <string name="proxy-Member variable name">"m_OptPcbSegmWidth"</string>
<string name="proxy-Initial value">""</string> <string name="proxy-Initial value">""</string>
<long name="proxy-Max length">0</long> <long name="proxy-Max length">0</long>
...@@ -382,6 +431,11 @@ ...@@ -382,6 +431,11 @@
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</string>
<string name="proxy-Data variable">""</string> <string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string> <string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<bool name="proxy-wxTE_MULTILINE">0</bool> <bool name="proxy-wxTE_MULTILINE">0</bool>
<bool name="proxy-wxTE_PROCESS_ENTER">0</bool> <bool name="proxy-wxTE_PROCESS_ENTER">0</bool>
<bool name="proxy-wxTE_PROCESS_TAB">0</bool> <bool name="proxy-wxTE_PROCESS_TAB">0</bool>
...@@ -395,8 +449,9 @@ ...@@ -395,8 +449,9 @@
<bool name="proxy-wxTE_CENTRE">0</bool> <bool name="proxy-wxTE_CENTRE">0</bool>
<bool name="proxy-wxTE_RIGHT">0</bool> <bool name="proxy-wxTE_RIGHT">0</bool>
<bool name="proxy-wxHSCROLL">0</bool> <bool name="proxy-wxHSCROLL">0</bool>
<bool name="proxy-wxTE_LINEWRAP">0</bool> <bool name="proxy-wxTE_CHARWRAP">0</bool>
<bool name="proxy-wxTE_WORDWRAP">0</bool> <bool name="proxy-wxTE_WORDWRAP">0</bool>
<bool name="proxy-wxTE_CAPITALIZE">0</bool>
<bool name="proxy-wxNO_BORDER">0</bool> <bool name="proxy-wxNO_BORDER">0</bool>
<bool name="proxy-wxSIMPLE_BORDER">0</bool> <bool name="proxy-wxSIMPLE_BORDER">0</bool>
<bool name="proxy-wxDOUBLE_BORDER">0</bool> <bool name="proxy-wxDOUBLE_BORDER">0</bool>
...@@ -404,6 +459,8 @@ ...@@ -404,6 +459,8 @@
<bool name="proxy-wxRAISED_BORDER">0</bool> <bool name="proxy-wxRAISED_BORDER">0</bool>
<bool name="proxy-wxSTATIC_BORDER">0</bool> <bool name="proxy-wxSTATIC_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
...@@ -422,6 +479,7 @@ ...@@ -422,6 +479,7 @@
<bool name="proxy-wxFIXED_MINSIZE">0</bool> <bool name="proxy-wxFIXED_MINSIZE">0</bool>
<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>
<bool name="proxy-wxTE_LINEWRAP">0</bool>
</document> </document>
<document> <document>
<string name="title">"wxStaticText: wxID_STATIC"</string> <string name="title">"wxStaticText: wxID_STATIC"</string>
...@@ -436,9 +494,16 @@ ...@@ -436,9 +494,16 @@
<string name="proxy-type">"wbStaticTextProxy"</string> <string name="proxy-type">"wbStaticTextProxy"</string>
<string name="proxy-Id name">"wxID_STATIC"</string> <string name="proxy-Id name">"wxID_STATIC"</string>
<long name="proxy-Id value">5105</long> <long name="proxy-Id value">5105</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxStaticText"</string> <string name="proxy-Class">"wxStaticText"</string>
<string name="proxy-Base class">"wxStaticText"</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_BoardEdgesWidthTitle"</string> <string name="proxy-Member variable name">"m_BoardEdgesWidthTitle"</string>
<string name="proxy-Label">"Board Edges Width"</string> <string name="proxy-Label">"Board Edges Width"</string>
<long name="proxy-Wrapping width">-1</long>
<string name="proxy-Help text">""</string> <string name="proxy-Help text">""</string>
<string name="proxy-Tooltip text">""</string> <string name="proxy-Tooltip text">""</string>
<string name="proxy-Background colour">""</string> <string name="proxy-Background colour">""</string>
...@@ -449,6 +514,11 @@ ...@@ -449,6 +514,11 @@
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</string>
<string name="proxy-Data variable">""</string> <string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string> <string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<bool name="proxy-wxALIGN_LEFT">0</bool> <bool name="proxy-wxALIGN_LEFT">0</bool>
<bool name="proxy-wxALIGN_RIGHT">0</bool> <bool name="proxy-wxALIGN_RIGHT">0</bool>
<bool name="proxy-wxALIGN_CENTRE">0</bool> <bool name="proxy-wxALIGN_CENTRE">0</bool>
...@@ -460,6 +530,8 @@ ...@@ -460,6 +530,8 @@
<bool name="proxy-wxRAISED_BORDER">0</bool> <bool name="proxy-wxRAISED_BORDER">0</bool>
<bool name="proxy-wxSTATIC_BORDER">0</bool> <bool name="proxy-wxSTATIC_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
...@@ -492,7 +564,13 @@ ...@@ -492,7 +564,13 @@
<string name="proxy-type">"wbTextCtrlProxy"</string> <string name="proxy-type">"wbTextCtrlProxy"</string>
<string name="proxy-Id name">"ID_TEXTCTRL_EDGES"</string> <string name="proxy-Id name">"ID_TEXTCTRL_EDGES"</string>
<long name="proxy-Id value">10002</long> <long name="proxy-Id value">10002</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxTextCtrl"</string> <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_OptPcbEdgesWidth"</string> <string name="proxy-Member variable name">"m_OptPcbEdgesWidth"</string>
<string name="proxy-Initial value">""</string> <string name="proxy-Initial value">""</string>
<long name="proxy-Max length">0</long> <long name="proxy-Max length">0</long>
...@@ -506,6 +584,11 @@ ...@@ -506,6 +584,11 @@
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</string>
<string name="proxy-Data variable">""</string> <string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string> <string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<bool name="proxy-wxTE_MULTILINE">0</bool> <bool name="proxy-wxTE_MULTILINE">0</bool>
<bool name="proxy-wxTE_PROCESS_ENTER">0</bool> <bool name="proxy-wxTE_PROCESS_ENTER">0</bool>
<bool name="proxy-wxTE_PROCESS_TAB">0</bool> <bool name="proxy-wxTE_PROCESS_TAB">0</bool>
...@@ -519,8 +602,9 @@ ...@@ -519,8 +602,9 @@
<bool name="proxy-wxTE_CENTRE">0</bool> <bool name="proxy-wxTE_CENTRE">0</bool>
<bool name="proxy-wxTE_RIGHT">0</bool> <bool name="proxy-wxTE_RIGHT">0</bool>
<bool name="proxy-wxHSCROLL">0</bool> <bool name="proxy-wxHSCROLL">0</bool>
<bool name="proxy-wxTE_LINEWRAP">0</bool> <bool name="proxy-wxTE_CHARWRAP">0</bool>
<bool name="proxy-wxTE_WORDWRAP">0</bool> <bool name="proxy-wxTE_WORDWRAP">0</bool>
<bool name="proxy-wxTE_CAPITALIZE">0</bool>
<bool name="proxy-wxNO_BORDER">0</bool> <bool name="proxy-wxNO_BORDER">0</bool>
<bool name="proxy-wxSIMPLE_BORDER">0</bool> <bool name="proxy-wxSIMPLE_BORDER">0</bool>
<bool name="proxy-wxDOUBLE_BORDER">0</bool> <bool name="proxy-wxDOUBLE_BORDER">0</bool>
...@@ -528,6 +612,8 @@ ...@@ -528,6 +612,8 @@
<bool name="proxy-wxRAISED_BORDER">0</bool> <bool name="proxy-wxRAISED_BORDER">0</bool>
<bool name="proxy-wxSTATIC_BORDER">0</bool> <bool name="proxy-wxSTATIC_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
...@@ -546,6 +632,7 @@ ...@@ -546,6 +632,7 @@
<bool name="proxy-wxFIXED_MINSIZE">0</bool> <bool name="proxy-wxFIXED_MINSIZE">0</bool>
<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>
<bool name="proxy-wxTE_LINEWRAP">0</bool>
</document> </document>
<document> <document>
<string name="title">"wxStaticText: wxID_STATIC"</string> <string name="title">"wxStaticText: wxID_STATIC"</string>
...@@ -560,9 +647,16 @@ ...@@ -560,9 +647,16 @@
<string name="proxy-type">"wbStaticTextProxy"</string> <string name="proxy-type">"wbStaticTextProxy"</string>
<string name="proxy-Id name">"wxID_STATIC"</string> <string name="proxy-Id name">"wxID_STATIC"</string>
<long name="proxy-Id value">5105</long> <long name="proxy-Id value">5105</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxStaticText"</string> <string name="proxy-Class">"wxStaticText"</string>
<string name="proxy-Base class">"wxStaticText"</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_CopperTextWidthTitle"</string> <string name="proxy-Member variable name">"m_CopperTextWidthTitle"</string>
<string name="proxy-Label">"Copper Text Width"</string> <string name="proxy-Label">"Copper Text Width"</string>
<long name="proxy-Wrapping width">-1</long>
<string name="proxy-Help text">""</string> <string name="proxy-Help text">""</string>
<string name="proxy-Tooltip text">""</string> <string name="proxy-Tooltip text">""</string>
<string name="proxy-Background colour">""</string> <string name="proxy-Background colour">""</string>
...@@ -573,6 +667,11 @@ ...@@ -573,6 +667,11 @@
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</string>
<string name="proxy-Data variable">""</string> <string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string> <string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<bool name="proxy-wxALIGN_LEFT">0</bool> <bool name="proxy-wxALIGN_LEFT">0</bool>
<bool name="proxy-wxALIGN_RIGHT">0</bool> <bool name="proxy-wxALIGN_RIGHT">0</bool>
<bool name="proxy-wxALIGN_CENTRE">0</bool> <bool name="proxy-wxALIGN_CENTRE">0</bool>
...@@ -584,6 +683,8 @@ ...@@ -584,6 +683,8 @@
<bool name="proxy-wxRAISED_BORDER">0</bool> <bool name="proxy-wxRAISED_BORDER">0</bool>
<bool name="proxy-wxSTATIC_BORDER">0</bool> <bool name="proxy-wxSTATIC_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
...@@ -616,7 +717,13 @@ ...@@ -616,7 +717,13 @@
<string name="proxy-type">"wbTextCtrlProxy"</string> <string name="proxy-type">"wbTextCtrlProxy"</string>
<string name="proxy-Id name">"ID_TEXTCTRL_TEXTW"</string> <string name="proxy-Id name">"ID_TEXTCTRL_TEXTW"</string>
<long name="proxy-Id value">10003</long> <long name="proxy-Id value">10003</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxTextCtrl"</string> <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_OptPcbTextWidth"</string> <string name="proxy-Member variable name">"m_OptPcbTextWidth"</string>
<string name="proxy-Initial value">""</string> <string name="proxy-Initial value">""</string>
<long name="proxy-Max length">0</long> <long name="proxy-Max length">0</long>
...@@ -630,6 +737,11 @@ ...@@ -630,6 +737,11 @@
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</string>
<string name="proxy-Data variable">""</string> <string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string> <string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<bool name="proxy-wxTE_MULTILINE">0</bool> <bool name="proxy-wxTE_MULTILINE">0</bool>
<bool name="proxy-wxTE_PROCESS_ENTER">0</bool> <bool name="proxy-wxTE_PROCESS_ENTER">0</bool>
<bool name="proxy-wxTE_PROCESS_TAB">0</bool> <bool name="proxy-wxTE_PROCESS_TAB">0</bool>
...@@ -643,8 +755,9 @@ ...@@ -643,8 +755,9 @@
<bool name="proxy-wxTE_CENTRE">0</bool> <bool name="proxy-wxTE_CENTRE">0</bool>
<bool name="proxy-wxTE_RIGHT">0</bool> <bool name="proxy-wxTE_RIGHT">0</bool>
<bool name="proxy-wxHSCROLL">0</bool> <bool name="proxy-wxHSCROLL">0</bool>
<bool name="proxy-wxTE_LINEWRAP">0</bool> <bool name="proxy-wxTE_CHARWRAP">0</bool>
<bool name="proxy-wxTE_WORDWRAP">0</bool> <bool name="proxy-wxTE_WORDWRAP">0</bool>
<bool name="proxy-wxTE_CAPITALIZE">0</bool>
<bool name="proxy-wxNO_BORDER">0</bool> <bool name="proxy-wxNO_BORDER">0</bool>
<bool name="proxy-wxSIMPLE_BORDER">0</bool> <bool name="proxy-wxSIMPLE_BORDER">0</bool>
<bool name="proxy-wxDOUBLE_BORDER">0</bool> <bool name="proxy-wxDOUBLE_BORDER">0</bool>
...@@ -652,6 +765,8 @@ ...@@ -652,6 +765,8 @@
<bool name="proxy-wxRAISED_BORDER">0</bool> <bool name="proxy-wxRAISED_BORDER">0</bool>
<bool name="proxy-wxSTATIC_BORDER">0</bool> <bool name="proxy-wxSTATIC_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
...@@ -670,6 +785,7 @@ ...@@ -670,6 +785,7 @@
<bool name="proxy-wxFIXED_MINSIZE">0</bool> <bool name="proxy-wxFIXED_MINSIZE">0</bool>
<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>
<bool name="proxy-wxTE_LINEWRAP">0</bool>
</document> </document>
<document> <document>
<string name="title">"wxStaticText: wxID_STATIC"</string> <string name="title">"wxStaticText: wxID_STATIC"</string>
...@@ -684,9 +800,16 @@ ...@@ -684,9 +800,16 @@
<string name="proxy-type">"wbStaticTextProxy"</string> <string name="proxy-type">"wbStaticTextProxy"</string>
<string name="proxy-Id name">"wxID_STATIC"</string> <string name="proxy-Id name">"wxID_STATIC"</string>
<long name="proxy-Id value">5105</long> <long name="proxy-Id value">5105</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxStaticText"</string> <string name="proxy-Class">"wxStaticText"</string>
<string name="proxy-Base class">"wxStaticText"</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_TextSizeVTitle"</string> <string name="proxy-Member variable name">"m_TextSizeVTitle"</string>
<string name="proxy-Label">"Text Size V"</string> <string name="proxy-Label">"Text Size V"</string>
<long name="proxy-Wrapping width">-1</long>
<string name="proxy-Help text">""</string> <string name="proxy-Help text">""</string>
<string name="proxy-Tooltip text">""</string> <string name="proxy-Tooltip text">""</string>
<string name="proxy-Background colour">""</string> <string name="proxy-Background colour">""</string>
...@@ -697,6 +820,11 @@ ...@@ -697,6 +820,11 @@
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</string>
<string name="proxy-Data variable">""</string> <string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string> <string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<bool name="proxy-wxALIGN_LEFT">0</bool> <bool name="proxy-wxALIGN_LEFT">0</bool>
<bool name="proxy-wxALIGN_RIGHT">0</bool> <bool name="proxy-wxALIGN_RIGHT">0</bool>
<bool name="proxy-wxALIGN_CENTRE">0</bool> <bool name="proxy-wxALIGN_CENTRE">0</bool>
...@@ -708,6 +836,8 @@ ...@@ -708,6 +836,8 @@
<bool name="proxy-wxRAISED_BORDER">0</bool> <bool name="proxy-wxRAISED_BORDER">0</bool>
<bool name="proxy-wxSTATIC_BORDER">0</bool> <bool name="proxy-wxSTATIC_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
...@@ -740,7 +870,13 @@ ...@@ -740,7 +870,13 @@
<string name="proxy-type">"wbTextCtrlProxy"</string> <string name="proxy-type">"wbTextCtrlProxy"</string>
<string name="proxy-Id name">"ID_TEXTCTRL_TEXTV"</string> <string name="proxy-Id name">"ID_TEXTCTRL_TEXTV"</string>
<long name="proxy-Id value">10004</long> <long name="proxy-Id value">10004</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxTextCtrl"</string> <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_OptPcbTextVSize"</string> <string name="proxy-Member variable name">"m_OptPcbTextVSize"</string>
<string name="proxy-Initial value">""</string> <string name="proxy-Initial value">""</string>
<long name="proxy-Max length">0</long> <long name="proxy-Max length">0</long>
...@@ -754,6 +890,11 @@ ...@@ -754,6 +890,11 @@
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</string>
<string name="proxy-Data variable">""</string> <string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string> <string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<bool name="proxy-wxTE_MULTILINE">0</bool> <bool name="proxy-wxTE_MULTILINE">0</bool>
<bool name="proxy-wxTE_PROCESS_ENTER">0</bool> <bool name="proxy-wxTE_PROCESS_ENTER">0</bool>
<bool name="proxy-wxTE_PROCESS_TAB">0</bool> <bool name="proxy-wxTE_PROCESS_TAB">0</bool>
...@@ -767,8 +908,9 @@ ...@@ -767,8 +908,9 @@
<bool name="proxy-wxTE_CENTRE">0</bool> <bool name="proxy-wxTE_CENTRE">0</bool>
<bool name="proxy-wxTE_RIGHT">0</bool> <bool name="proxy-wxTE_RIGHT">0</bool>
<bool name="proxy-wxHSCROLL">0</bool> <bool name="proxy-wxHSCROLL">0</bool>
<bool name="proxy-wxTE_LINEWRAP">0</bool> <bool name="proxy-wxTE_CHARWRAP">0</bool>
<bool name="proxy-wxTE_WORDWRAP">0</bool> <bool name="proxy-wxTE_WORDWRAP">0</bool>
<bool name="proxy-wxTE_CAPITALIZE">0</bool>
<bool name="proxy-wxNO_BORDER">0</bool> <bool name="proxy-wxNO_BORDER">0</bool>
<bool name="proxy-wxSIMPLE_BORDER">0</bool> <bool name="proxy-wxSIMPLE_BORDER">0</bool>
<bool name="proxy-wxDOUBLE_BORDER">0</bool> <bool name="proxy-wxDOUBLE_BORDER">0</bool>
...@@ -776,6 +918,8 @@ ...@@ -776,6 +918,8 @@
<bool name="proxy-wxRAISED_BORDER">0</bool> <bool name="proxy-wxRAISED_BORDER">0</bool>
<bool name="proxy-wxSTATIC_BORDER">0</bool> <bool name="proxy-wxSTATIC_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
...@@ -794,6 +938,7 @@ ...@@ -794,6 +938,7 @@
<bool name="proxy-wxFIXED_MINSIZE">0</bool> <bool name="proxy-wxFIXED_MINSIZE">0</bool>
<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>
<bool name="proxy-wxTE_LINEWRAP">0</bool>
</document> </document>
<document> <document>
<string name="title">"wxStaticText: wxID_STATIC"</string> <string name="title">"wxStaticText: wxID_STATIC"</string>
...@@ -808,9 +953,16 @@ ...@@ -808,9 +953,16 @@
<string name="proxy-type">"wbStaticTextProxy"</string> <string name="proxy-type">"wbStaticTextProxy"</string>
<string name="proxy-Id name">"wxID_STATIC"</string> <string name="proxy-Id name">"wxID_STATIC"</string>
<long name="proxy-Id value">5105</long> <long name="proxy-Id value">5105</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxStaticText"</string> <string name="proxy-Class">"wxStaticText"</string>
<string name="proxy-Base class">"wxStaticText"</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_TextSizeHTitle"</string> <string name="proxy-Member variable name">"m_TextSizeHTitle"</string>
<string name="proxy-Label">"Text Size H"</string> <string name="proxy-Label">"Text Size H"</string>
<long name="proxy-Wrapping width">-1</long>
<string name="proxy-Help text">""</string> <string name="proxy-Help text">""</string>
<string name="proxy-Tooltip text">""</string> <string name="proxy-Tooltip text">""</string>
<string name="proxy-Background colour">""</string> <string name="proxy-Background colour">""</string>
...@@ -821,6 +973,11 @@ ...@@ -821,6 +973,11 @@
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</string>
<string name="proxy-Data variable">""</string> <string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string> <string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<bool name="proxy-wxALIGN_LEFT">0</bool> <bool name="proxy-wxALIGN_LEFT">0</bool>
<bool name="proxy-wxALIGN_RIGHT">0</bool> <bool name="proxy-wxALIGN_RIGHT">0</bool>
<bool name="proxy-wxALIGN_CENTRE">0</bool> <bool name="proxy-wxALIGN_CENTRE">0</bool>
...@@ -832,6 +989,8 @@ ...@@ -832,6 +989,8 @@
<bool name="proxy-wxRAISED_BORDER">0</bool> <bool name="proxy-wxRAISED_BORDER">0</bool>
<bool name="proxy-wxSTATIC_BORDER">0</bool> <bool name="proxy-wxSTATIC_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
...@@ -864,7 +1023,13 @@ ...@@ -864,7 +1023,13 @@
<string name="proxy-type">"wbTextCtrlProxy"</string> <string name="proxy-type">"wbTextCtrlProxy"</string>
<string name="proxy-Id name">"ID_TEXTCTRL_TEXTH"</string> <string name="proxy-Id name">"ID_TEXTCTRL_TEXTH"</string>
<long name="proxy-Id value">10005</long> <long name="proxy-Id value">10005</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxTextCtrl"</string> <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_OptPcbTextHSize"</string> <string name="proxy-Member variable name">"m_OptPcbTextHSize"</string>
<string name="proxy-Initial value">""</string> <string name="proxy-Initial value">""</string>
<long name="proxy-Max length">0</long> <long name="proxy-Max length">0</long>
...@@ -878,6 +1043,11 @@ ...@@ -878,6 +1043,11 @@
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</string>
<string name="proxy-Data variable">""</string> <string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string> <string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<bool name="proxy-wxTE_MULTILINE">0</bool> <bool name="proxy-wxTE_MULTILINE">0</bool>
<bool name="proxy-wxTE_PROCESS_ENTER">0</bool> <bool name="proxy-wxTE_PROCESS_ENTER">0</bool>
<bool name="proxy-wxTE_PROCESS_TAB">0</bool> <bool name="proxy-wxTE_PROCESS_TAB">0</bool>
...@@ -891,8 +1061,9 @@ ...@@ -891,8 +1061,9 @@
<bool name="proxy-wxTE_CENTRE">0</bool> <bool name="proxy-wxTE_CENTRE">0</bool>
<bool name="proxy-wxTE_RIGHT">0</bool> <bool name="proxy-wxTE_RIGHT">0</bool>
<bool name="proxy-wxHSCROLL">0</bool> <bool name="proxy-wxHSCROLL">0</bool>
<bool name="proxy-wxTE_LINEWRAP">0</bool> <bool name="proxy-wxTE_CHARWRAP">0</bool>
<bool name="proxy-wxTE_WORDWRAP">0</bool> <bool name="proxy-wxTE_WORDWRAP">0</bool>
<bool name="proxy-wxTE_CAPITALIZE">0</bool>
<bool name="proxy-wxNO_BORDER">0</bool> <bool name="proxy-wxNO_BORDER">0</bool>
<bool name="proxy-wxSIMPLE_BORDER">0</bool> <bool name="proxy-wxSIMPLE_BORDER">0</bool>
<bool name="proxy-wxDOUBLE_BORDER">0</bool> <bool name="proxy-wxDOUBLE_BORDER">0</bool>
...@@ -900,6 +1071,8 @@ ...@@ -900,6 +1071,8 @@
<bool name="proxy-wxRAISED_BORDER">0</bool> <bool name="proxy-wxRAISED_BORDER">0</bool>
<bool name="proxy-wxSTATIC_BORDER">0</bool> <bool name="proxy-wxSTATIC_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
...@@ -918,6 +1091,7 @@ ...@@ -918,6 +1091,7 @@
<bool name="proxy-wxFIXED_MINSIZE">0</bool> <bool name="proxy-wxFIXED_MINSIZE">0</bool>
<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>
<bool name="proxy-wxTE_LINEWRAP">0</bool>
</document> </document>
</document> </document>
<document> <document>
...@@ -960,13 +1134,14 @@ ...@@ -960,13 +1134,14 @@
<string name="proxy-Id name">"wxID_ANY"</string> <string name="proxy-Id name">"wxID_ANY"</string>
<string name="proxy-Id value">"-1"</string> <string name="proxy-Id value">"-1"</string>
<string name="proxy-Label">"Modules:"</string> <string name="proxy-Label">"Modules:"</string>
<string name="proxy-Member variable name">""</string>
<string name="proxy-Sizer member variable name">""</string> <string name="proxy-Sizer member variable name">""</string>
<string name="proxy-Foreground colour">""</string> <string name="proxy-Foreground colour">""</string>
<string name="proxy-Font">""</string> <string name="proxy-Font">""</string>
<bool name="proxy-Hidden">0</bool> <bool name="proxy-Hidden">0</bool>
<bool name="proxy-Enabled">1</bool> <bool name="proxy-Enabled">1</bool>
<string name="proxy-Static box class">"wxStaticBox"</string>
<string name="proxy-Orientation">"Vertical"</string> <string name="proxy-Orientation">"Vertical"</string>
<string name="proxy-Member variable name">""</string>
<string name="proxy-AlignH">"Centre"</string> <string name="proxy-AlignH">"Centre"</string>
<string name="proxy-AlignV">"Expand"</string> <string name="proxy-AlignV">"Expand"</string>
<long name="proxy-Stretch factor">0</long> <long name="proxy-Stretch factor">0</long>
...@@ -992,9 +1167,16 @@ ...@@ -992,9 +1167,16 @@
<string name="proxy-type">"wbStaticTextProxy"</string> <string name="proxy-type">"wbStaticTextProxy"</string>
<string name="proxy-Id name">"wxID_STATIC"</string> <string name="proxy-Id name">"wxID_STATIC"</string>
<long name="proxy-Id value">5105</long> <long name="proxy-Id value">5105</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxStaticText"</string> <string name="proxy-Class">"wxStaticText"</string>
<string name="proxy-Base class">"wxStaticText"</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_EdgeModWidthTitle"</string> <string name="proxy-Member variable name">"m_EdgeModWidthTitle"</string>
<string name="proxy-Label">"Edges Module Width"</string> <string name="proxy-Label">"Edges Module Width"</string>
<long name="proxy-Wrapping width">-1</long>
<string name="proxy-Help text">""</string> <string name="proxy-Help text">""</string>
<string name="proxy-Tooltip text">""</string> <string name="proxy-Tooltip text">""</string>
<string name="proxy-Background colour">""</string> <string name="proxy-Background colour">""</string>
...@@ -1005,6 +1187,11 @@ ...@@ -1005,6 +1187,11 @@
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</string>
<string name="proxy-Data variable">""</string> <string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string> <string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<bool name="proxy-wxALIGN_LEFT">0</bool> <bool name="proxy-wxALIGN_LEFT">0</bool>
<bool name="proxy-wxALIGN_RIGHT">0</bool> <bool name="proxy-wxALIGN_RIGHT">0</bool>
<bool name="proxy-wxALIGN_CENTRE">0</bool> <bool name="proxy-wxALIGN_CENTRE">0</bool>
...@@ -1016,6 +1203,8 @@ ...@@ -1016,6 +1203,8 @@
<bool name="proxy-wxRAISED_BORDER">0</bool> <bool name="proxy-wxRAISED_BORDER">0</bool>
<bool name="proxy-wxSTATIC_BORDER">0</bool> <bool name="proxy-wxSTATIC_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
...@@ -1048,7 +1237,13 @@ ...@@ -1048,7 +1237,13 @@
<string name="proxy-type">"wbTextCtrlProxy"</string> <string name="proxy-type">"wbTextCtrlProxy"</string>
<string name="proxy-Id name">"ID_TEXTCTRL_EDGEMOD_W"</string> <string name="proxy-Id name">"ID_TEXTCTRL_EDGEMOD_W"</string>
<long name="proxy-Id value">10006</long> <long name="proxy-Id value">10006</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxTextCtrl"</string> <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_OptModuleEdgesWidth"</string> <string name="proxy-Member variable name">"m_OptModuleEdgesWidth"</string>
<string name="proxy-Initial value">""</string> <string name="proxy-Initial value">""</string>
<long name="proxy-Max length">0</long> <long name="proxy-Max length">0</long>
...@@ -1062,6 +1257,11 @@ ...@@ -1062,6 +1257,11 @@
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</string>
<string name="proxy-Data variable">""</string> <string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string> <string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<bool name="proxy-wxTE_MULTILINE">0</bool> <bool name="proxy-wxTE_MULTILINE">0</bool>
<bool name="proxy-wxTE_PROCESS_ENTER">0</bool> <bool name="proxy-wxTE_PROCESS_ENTER">0</bool>
<bool name="proxy-wxTE_PROCESS_TAB">0</bool> <bool name="proxy-wxTE_PROCESS_TAB">0</bool>
...@@ -1075,8 +1275,9 @@ ...@@ -1075,8 +1275,9 @@
<bool name="proxy-wxTE_CENTRE">0</bool> <bool name="proxy-wxTE_CENTRE">0</bool>
<bool name="proxy-wxTE_RIGHT">0</bool> <bool name="proxy-wxTE_RIGHT">0</bool>
<bool name="proxy-wxHSCROLL">0</bool> <bool name="proxy-wxHSCROLL">0</bool>
<bool name="proxy-wxTE_LINEWRAP">0</bool> <bool name="proxy-wxTE_CHARWRAP">0</bool>
<bool name="proxy-wxTE_WORDWRAP">0</bool> <bool name="proxy-wxTE_WORDWRAP">0</bool>
<bool name="proxy-wxTE_CAPITALIZE">0</bool>
<bool name="proxy-wxNO_BORDER">0</bool> <bool name="proxy-wxNO_BORDER">0</bool>
<bool name="proxy-wxSIMPLE_BORDER">0</bool> <bool name="proxy-wxSIMPLE_BORDER">0</bool>
<bool name="proxy-wxDOUBLE_BORDER">0</bool> <bool name="proxy-wxDOUBLE_BORDER">0</bool>
...@@ -1084,6 +1285,8 @@ ...@@ -1084,6 +1285,8 @@
<bool name="proxy-wxRAISED_BORDER">0</bool> <bool name="proxy-wxRAISED_BORDER">0</bool>
<bool name="proxy-wxSTATIC_BORDER">0</bool> <bool name="proxy-wxSTATIC_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
...@@ -1102,6 +1305,7 @@ ...@@ -1102,6 +1305,7 @@
<bool name="proxy-wxFIXED_MINSIZE">0</bool> <bool name="proxy-wxFIXED_MINSIZE">0</bool>
<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>
<bool name="proxy-wxTE_LINEWRAP">0</bool>
</document> </document>
<document> <document>
<string name="title">"wxStaticText: wxID_STATIC"</string> <string name="title">"wxStaticText: wxID_STATIC"</string>
...@@ -1116,9 +1320,16 @@ ...@@ -1116,9 +1320,16 @@
<string name="proxy-type">"wbStaticTextProxy"</string> <string name="proxy-type">"wbStaticTextProxy"</string>
<string name="proxy-Id name">"wxID_STATIC"</string> <string name="proxy-Id name">"wxID_STATIC"</string>
<long name="proxy-Id value">5105</long> <long name="proxy-Id value">5105</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxStaticText"</string> <string name="proxy-Class">"wxStaticText"</string>
<string name="proxy-Base class">"wxStaticText"</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_TextModWidthTitle"</string> <string name="proxy-Member variable name">"m_TextModWidthTitle"</string>
<string name="proxy-Label">"Text Module Width"</string> <string name="proxy-Label">"Text Module Width"</string>
<long name="proxy-Wrapping width">-1</long>
<string name="proxy-Help text">""</string> <string name="proxy-Help text">""</string>
<string name="proxy-Tooltip text">""</string> <string name="proxy-Tooltip text">""</string>
<string name="proxy-Background colour">""</string> <string name="proxy-Background colour">""</string>
...@@ -1129,6 +1340,11 @@ ...@@ -1129,6 +1340,11 @@
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</string>
<string name="proxy-Data variable">""</string> <string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string> <string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<bool name="proxy-wxALIGN_LEFT">0</bool> <bool name="proxy-wxALIGN_LEFT">0</bool>
<bool name="proxy-wxALIGN_RIGHT">0</bool> <bool name="proxy-wxALIGN_RIGHT">0</bool>
<bool name="proxy-wxALIGN_CENTRE">0</bool> <bool name="proxy-wxALIGN_CENTRE">0</bool>
...@@ -1140,6 +1356,8 @@ ...@@ -1140,6 +1356,8 @@
<bool name="proxy-wxRAISED_BORDER">0</bool> <bool name="proxy-wxRAISED_BORDER">0</bool>
<bool name="proxy-wxSTATIC_BORDER">0</bool> <bool name="proxy-wxSTATIC_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
...@@ -1172,7 +1390,13 @@ ...@@ -1172,7 +1390,13 @@
<string name="proxy-type">"wbTextCtrlProxy"</string> <string name="proxy-type">"wbTextCtrlProxy"</string>
<string name="proxy-Id name">"ID_TEXTCTRL_TXTMOD_W"</string> <string name="proxy-Id name">"ID_TEXTCTRL_TXTMOD_W"</string>
<long name="proxy-Id value">10007</long> <long name="proxy-Id value">10007</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxTextCtrl"</string> <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_OptModuleTextWidth"</string> <string name="proxy-Member variable name">"m_OptModuleTextWidth"</string>
<string name="proxy-Initial value">""</string> <string name="proxy-Initial value">""</string>
<long name="proxy-Max length">0</long> <long name="proxy-Max length">0</long>
...@@ -1186,6 +1410,11 @@ ...@@ -1186,6 +1410,11 @@
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</string>
<string name="proxy-Data variable">""</string> <string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string> <string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<bool name="proxy-wxTE_MULTILINE">0</bool> <bool name="proxy-wxTE_MULTILINE">0</bool>
<bool name="proxy-wxTE_PROCESS_ENTER">0</bool> <bool name="proxy-wxTE_PROCESS_ENTER">0</bool>
<bool name="proxy-wxTE_PROCESS_TAB">0</bool> <bool name="proxy-wxTE_PROCESS_TAB">0</bool>
...@@ -1199,8 +1428,9 @@ ...@@ -1199,8 +1428,9 @@
<bool name="proxy-wxTE_CENTRE">0</bool> <bool name="proxy-wxTE_CENTRE">0</bool>
<bool name="proxy-wxTE_RIGHT">0</bool> <bool name="proxy-wxTE_RIGHT">0</bool>
<bool name="proxy-wxHSCROLL">0</bool> <bool name="proxy-wxHSCROLL">0</bool>
<bool name="proxy-wxTE_LINEWRAP">0</bool> <bool name="proxy-wxTE_CHARWRAP">0</bool>
<bool name="proxy-wxTE_WORDWRAP">0</bool> <bool name="proxy-wxTE_WORDWRAP">0</bool>
<bool name="proxy-wxTE_CAPITALIZE">0</bool>
<bool name="proxy-wxNO_BORDER">0</bool> <bool name="proxy-wxNO_BORDER">0</bool>
<bool name="proxy-wxSIMPLE_BORDER">0</bool> <bool name="proxy-wxSIMPLE_BORDER">0</bool>
<bool name="proxy-wxDOUBLE_BORDER">0</bool> <bool name="proxy-wxDOUBLE_BORDER">0</bool>
...@@ -1208,6 +1438,8 @@ ...@@ -1208,6 +1438,8 @@
<bool name="proxy-wxRAISED_BORDER">0</bool> <bool name="proxy-wxRAISED_BORDER">0</bool>
<bool name="proxy-wxSTATIC_BORDER">0</bool> <bool name="proxy-wxSTATIC_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
...@@ -1226,6 +1458,7 @@ ...@@ -1226,6 +1458,7 @@
<bool name="proxy-wxFIXED_MINSIZE">0</bool> <bool name="proxy-wxFIXED_MINSIZE">0</bool>
<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>
<bool name="proxy-wxTE_LINEWRAP">0</bool>
</document> </document>
<document> <document>
<string name="title">"wxStaticText: wxID_STATIC"</string> <string name="title">"wxStaticText: wxID_STATIC"</string>
...@@ -1240,9 +1473,16 @@ ...@@ -1240,9 +1473,16 @@
<string name="proxy-type">"wbStaticTextProxy"</string> <string name="proxy-type">"wbStaticTextProxy"</string>
<string name="proxy-Id name">"wxID_STATIC"</string> <string name="proxy-Id name">"wxID_STATIC"</string>
<long name="proxy-Id value">5105</long> <long name="proxy-Id value">5105</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxStaticText"</string> <string name="proxy-Class">"wxStaticText"</string>
<string name="proxy-Base class">"wxStaticText"</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_TextModSizeVTitle"</string> <string name="proxy-Member variable name">"m_TextModSizeVTitle"</string>
<string name="proxy-Label">"Text Module Size V"</string> <string name="proxy-Label">"Text Module Size V"</string>
<long name="proxy-Wrapping width">-1</long>
<string name="proxy-Help text">""</string> <string name="proxy-Help text">""</string>
<string name="proxy-Tooltip text">""</string> <string name="proxy-Tooltip text">""</string>
<string name="proxy-Background colour">""</string> <string name="proxy-Background colour">""</string>
...@@ -1253,6 +1493,11 @@ ...@@ -1253,6 +1493,11 @@
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</string>
<string name="proxy-Data variable">""</string> <string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string> <string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<bool name="proxy-wxALIGN_LEFT">0</bool> <bool name="proxy-wxALIGN_LEFT">0</bool>
<bool name="proxy-wxALIGN_RIGHT">0</bool> <bool name="proxy-wxALIGN_RIGHT">0</bool>
<bool name="proxy-wxALIGN_CENTRE">0</bool> <bool name="proxy-wxALIGN_CENTRE">0</bool>
...@@ -1264,6 +1509,8 @@ ...@@ -1264,6 +1509,8 @@
<bool name="proxy-wxRAISED_BORDER">0</bool> <bool name="proxy-wxRAISED_BORDER">0</bool>
<bool name="proxy-wxSTATIC_BORDER">0</bool> <bool name="proxy-wxSTATIC_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
...@@ -1296,7 +1543,13 @@ ...@@ -1296,7 +1543,13 @@
<string name="proxy-type">"wbTextCtrlProxy"</string> <string name="proxy-type">"wbTextCtrlProxy"</string>
<string name="proxy-Id name">"ID_TEXTCTRL_TXTMOD_V"</string> <string name="proxy-Id name">"ID_TEXTCTRL_TXTMOD_V"</string>
<long name="proxy-Id value">10008</long> <long name="proxy-Id value">10008</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxTextCtrl"</string> <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_OptModuleTextVSize"</string> <string name="proxy-Member variable name">"m_OptModuleTextVSize"</string>
<string name="proxy-Initial value">""</string> <string name="proxy-Initial value">""</string>
<long name="proxy-Max length">0</long> <long name="proxy-Max length">0</long>
...@@ -1310,6 +1563,11 @@ ...@@ -1310,6 +1563,11 @@
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</string>
<string name="proxy-Data variable">""</string> <string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string> <string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<bool name="proxy-wxTE_MULTILINE">0</bool> <bool name="proxy-wxTE_MULTILINE">0</bool>
<bool name="proxy-wxTE_PROCESS_ENTER">0</bool> <bool name="proxy-wxTE_PROCESS_ENTER">0</bool>
<bool name="proxy-wxTE_PROCESS_TAB">0</bool> <bool name="proxy-wxTE_PROCESS_TAB">0</bool>
...@@ -1323,8 +1581,9 @@ ...@@ -1323,8 +1581,9 @@
<bool name="proxy-wxTE_CENTRE">0</bool> <bool name="proxy-wxTE_CENTRE">0</bool>
<bool name="proxy-wxTE_RIGHT">0</bool> <bool name="proxy-wxTE_RIGHT">0</bool>
<bool name="proxy-wxHSCROLL">0</bool> <bool name="proxy-wxHSCROLL">0</bool>
<bool name="proxy-wxTE_LINEWRAP">0</bool> <bool name="proxy-wxTE_CHARWRAP">0</bool>
<bool name="proxy-wxTE_WORDWRAP">0</bool> <bool name="proxy-wxTE_WORDWRAP">0</bool>
<bool name="proxy-wxTE_CAPITALIZE">0</bool>
<bool name="proxy-wxNO_BORDER">0</bool> <bool name="proxy-wxNO_BORDER">0</bool>
<bool name="proxy-wxSIMPLE_BORDER">0</bool> <bool name="proxy-wxSIMPLE_BORDER">0</bool>
<bool name="proxy-wxDOUBLE_BORDER">0</bool> <bool name="proxy-wxDOUBLE_BORDER">0</bool>
...@@ -1332,6 +1591,8 @@ ...@@ -1332,6 +1591,8 @@
<bool name="proxy-wxRAISED_BORDER">0</bool> <bool name="proxy-wxRAISED_BORDER">0</bool>
<bool name="proxy-wxSTATIC_BORDER">0</bool> <bool name="proxy-wxSTATIC_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
...@@ -1350,6 +1611,7 @@ ...@@ -1350,6 +1611,7 @@
<bool name="proxy-wxFIXED_MINSIZE">0</bool> <bool name="proxy-wxFIXED_MINSIZE">0</bool>
<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>
<bool name="proxy-wxTE_LINEWRAP">0</bool>
</document> </document>
<document> <document>
<string name="title">"wxStaticText: wxID_STATIC"</string> <string name="title">"wxStaticText: wxID_STATIC"</string>
...@@ -1364,9 +1626,16 @@ ...@@ -1364,9 +1626,16 @@
<string name="proxy-type">"wbStaticTextProxy"</string> <string name="proxy-type">"wbStaticTextProxy"</string>
<string name="proxy-Id name">"wxID_STATIC"</string> <string name="proxy-Id name">"wxID_STATIC"</string>
<long name="proxy-Id value">5105</long> <long name="proxy-Id value">5105</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxStaticText"</string> <string name="proxy-Class">"wxStaticText"</string>
<string name="proxy-Base class">"wxStaticText"</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_TextModSizeHTitle"</string> <string name="proxy-Member variable name">"m_TextModSizeHTitle"</string>
<string name="proxy-Label">"Text Module Size H"</string> <string name="proxy-Label">"Text Module Size H"</string>
<long name="proxy-Wrapping width">-1</long>
<string name="proxy-Help text">""</string> <string name="proxy-Help text">""</string>
<string name="proxy-Tooltip text">""</string> <string name="proxy-Tooltip text">""</string>
<string name="proxy-Background colour">""</string> <string name="proxy-Background colour">""</string>
...@@ -1377,6 +1646,11 @@ ...@@ -1377,6 +1646,11 @@
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</string>
<string name="proxy-Data variable">""</string> <string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string> <string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<bool name="proxy-wxALIGN_LEFT">0</bool> <bool name="proxy-wxALIGN_LEFT">0</bool>
<bool name="proxy-wxALIGN_RIGHT">0</bool> <bool name="proxy-wxALIGN_RIGHT">0</bool>
<bool name="proxy-wxALIGN_CENTRE">0</bool> <bool name="proxy-wxALIGN_CENTRE">0</bool>
...@@ -1388,6 +1662,8 @@ ...@@ -1388,6 +1662,8 @@
<bool name="proxy-wxRAISED_BORDER">0</bool> <bool name="proxy-wxRAISED_BORDER">0</bool>
<bool name="proxy-wxSTATIC_BORDER">0</bool> <bool name="proxy-wxSTATIC_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
...@@ -1420,7 +1696,13 @@ ...@@ -1420,7 +1696,13 @@
<string name="proxy-type">"wbTextCtrlProxy"</string> <string name="proxy-type">"wbTextCtrlProxy"</string>
<string name="proxy-Id name">"ID_TEXTCTRL_TXTMOD_H"</string> <string name="proxy-Id name">"ID_TEXTCTRL_TXTMOD_H"</string>
<long name="proxy-Id value">10009</long> <long name="proxy-Id value">10009</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxTextCtrl"</string> <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_OptModuleTextHSize"</string> <string name="proxy-Member variable name">"m_OptModuleTextHSize"</string>
<string name="proxy-Initial value">""</string> <string name="proxy-Initial value">""</string>
<long name="proxy-Max length">0</long> <long name="proxy-Max length">0</long>
...@@ -1434,6 +1716,11 @@ ...@@ -1434,6 +1716,11 @@
<string name="proxy-Platform">"&lt;Any platform&gt;"</string> <string name="proxy-Platform">"&lt;Any platform&gt;"</string>
<string name="proxy-Data variable">""</string> <string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string> <string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<bool name="proxy-wxTE_MULTILINE">0</bool> <bool name="proxy-wxTE_MULTILINE">0</bool>
<bool name="proxy-wxTE_PROCESS_ENTER">0</bool> <bool name="proxy-wxTE_PROCESS_ENTER">0</bool>
<bool name="proxy-wxTE_PROCESS_TAB">0</bool> <bool name="proxy-wxTE_PROCESS_TAB">0</bool>
...@@ -1447,8 +1734,9 @@ ...@@ -1447,8 +1734,9 @@
<bool name="proxy-wxTE_CENTRE">0</bool> <bool name="proxy-wxTE_CENTRE">0</bool>
<bool name="proxy-wxTE_RIGHT">0</bool> <bool name="proxy-wxTE_RIGHT">0</bool>
<bool name="proxy-wxHSCROLL">0</bool> <bool name="proxy-wxHSCROLL">0</bool>
<bool name="proxy-wxTE_LINEWRAP">0</bool> <bool name="proxy-wxTE_CHARWRAP">0</bool>
<bool name="proxy-wxTE_WORDWRAP">0</bool> <bool name="proxy-wxTE_WORDWRAP">0</bool>
<bool name="proxy-wxTE_CAPITALIZE">0</bool>
<bool name="proxy-wxNO_BORDER">0</bool> <bool name="proxy-wxNO_BORDER">0</bool>
<bool name="proxy-wxSIMPLE_BORDER">0</bool> <bool name="proxy-wxSIMPLE_BORDER">0</bool>
<bool name="proxy-wxDOUBLE_BORDER">0</bool> <bool name="proxy-wxDOUBLE_BORDER">0</bool>
...@@ -1456,6 +1744,8 @@ ...@@ -1456,6 +1744,8 @@
<bool name="proxy-wxRAISED_BORDER">0</bool> <bool name="proxy-wxRAISED_BORDER">0</bool>
<bool name="proxy-wxSTATIC_BORDER">0</bool> <bool name="proxy-wxSTATIC_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
...@@ -1474,6 +1764,7 @@ ...@@ -1474,6 +1764,7 @@
<bool name="proxy-wxFIXED_MINSIZE">0</bool> <bool name="proxy-wxFIXED_MINSIZE">0</bool>
<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>
<bool name="proxy-wxTE_LINEWRAP">0</bool>
</document> </document>
</document> </document>
<document> <document>
...@@ -1541,12 +1832,25 @@ ...@@ -1541,12 +1832,25 @@
<string name="event-handler-0">"wxEVT_COMMAND_BUTTON_CLICKED|OnOkClick"</string> <string name="event-handler-0">"wxEVT_COMMAND_BUTTON_CLICKED|OnOkClick"</string>
<string name="proxy-Id name">"wxID_OK"</string> <string name="proxy-Id name">"wxID_OK"</string>
<long name="proxy-Id value">5100</long> <long name="proxy-Id value">5100</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxButton"</string> <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-Member variable name">""</string>
<string name="proxy-Label">"&amp;OK"</string> <string name="proxy-Label">"&amp;OK"</string>
<bool name="proxy-Default">0</bool> <bool name="proxy-Default">0</bool>
<string name="proxy-Help text">""</string> <string name="proxy-Help text">""</string>
<string name="proxy-Tooltip text">""</string> <string name="proxy-Tooltip text">""</string>
<string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<string name="proxy-Background colour">""</string> <string name="proxy-Background colour">""</string>
<string name="proxy-Foreground colour">"CE0000"</string> <string name="proxy-Foreground colour">"CE0000"</string>
<string name="proxy-Font">""</string> <string name="proxy-Font">""</string>
...@@ -1560,6 +1864,8 @@ ...@@ -1560,6 +1864,8 @@
<bool name="proxy-wxBU_EXACTFIT">0</bool> <bool name="proxy-wxBU_EXACTFIT">0</bool>
<bool name="proxy-wxNO_BORDER">0</bool> <bool name="proxy-wxNO_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
...@@ -1593,12 +1899,25 @@ ...@@ -1593,12 +1899,25 @@
<string name="event-handler-0">"wxEVT_COMMAND_BUTTON_CLICKED|OnCancelClick"</string> <string name="event-handler-0">"wxEVT_COMMAND_BUTTON_CLICKED|OnCancelClick"</string>
<string name="proxy-Id name">"wxID_CANCEL"</string> <string name="proxy-Id name">"wxID_CANCEL"</string>
<long name="proxy-Id value">5101</long> <long name="proxy-Id value">5101</long>
<string name="proxy-Name">""</string>
<string name="proxy-Class">"wxButton"</string> <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-Member variable name">""</string>
<string name="proxy-Label">"&amp;Cancel"</string> <string name="proxy-Label">"&amp;Cancel"</string>
<bool name="proxy-Default">0</bool> <bool name="proxy-Default">0</bool>
<string name="proxy-Help text">""</string> <string name="proxy-Help text">""</string>
<string name="proxy-Tooltip text">""</string> <string name="proxy-Tooltip text">""</string>
<string name="proxy-Data variable">""</string>
<string name="proxy-Data validator">""</string>
<string name="proxy-Data source">""</string>
<string name="proxy-Data class name">""</string>
<string name="proxy-Data class implementation filename">""</string>
<string name="proxy-Data class header filename">""</string>
<string name="proxy-Data class manager window">""</string>
<string name="proxy-Background colour">""</string> <string name="proxy-Background colour">""</string>
<string name="proxy-Foreground colour">"0000FF"</string> <string name="proxy-Foreground colour">"0000FF"</string>
<string name="proxy-Font">""</string> <string name="proxy-Font">""</string>
...@@ -1612,6 +1931,8 @@ ...@@ -1612,6 +1931,8 @@
<bool name="proxy-wxBU_EXACTFIT">0</bool> <bool name="proxy-wxBU_EXACTFIT">0</bool>
<bool name="proxy-wxNO_BORDER">0</bool> <bool name="proxy-wxNO_BORDER">0</bool>
<bool name="proxy-wxWANTS_CHARS">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> <string name="proxy-Custom styles">""</string>
<long name="proxy-X">-1</long> <long name="proxy-X">-1</long>
<long name="proxy-Y">-1</long> <long name="proxy-Y">-1</long>
......
...@@ -12,10 +12,15 @@ ...@@ -12,10 +12,15 @@
#include "protos.h" #include "protos.h"
#include "drc_stuff.h"
/* variables locales */ /* variables locales */
class WinEDA_DrcFrame; class WinEDA_DrcFrame;
WinEDA_DrcFrame* DrcFrame; WinEDA_DrcFrame* DrcFrame;
/* saving drc options */ /* saving drc options */
static bool s_Pad2PadTestOpt = true; static bool s_Pad2PadTestOpt = true;
static bool s_UnconnectedTestOpt = true; static bool s_UnconnectedTestOpt = true;
...@@ -50,15 +55,42 @@ static int Tst_Ligne( int x1, int y1, int x2, int y2 ); ...@@ -50,15 +55,42 @@ static int Tst_Ligne( int x1, int y1, int x2, int y2 );
static void Affiche_Erreur_DRC( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb, static void Affiche_Erreur_DRC( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb,
TRACK* pt_ref, BOARD_ITEM* pt_item, int errnumber ); TRACK* pt_ref, BOARD_ITEM* pt_item, int errnumber );
static void Affiche_Erreur_DRC( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb, static void Affiche_Erreur_DRC( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb,
D_PAD* pad1, D_PAD* pad2 ); D_PAD* pad1, D_PAD* pad2 );
/*******************************************/ /*******************************************/
/* function relatives to the DRC control */ /* DRC functions */
/*******************************************/ /*******************************************/
#include "dialog_drc.cpp" #include "dialog_drc.cpp"
const wxString& DRC_ITEM::GetErrorText() const
{
static const wxString error1( wxT("Items Too Close:") );
switch( m_ErrorCode )
{
default:
case DRCE_: return error1;
}
}
wxString DRC_ITEM::ShowCoord( const wxPoint& aPos )
{
wxString temp;
wxString ret;
ret << wxT("@(") << valeur_param( aPos.x, temp );
ret << wxT(",") << valeur_param( aPos.y, temp );
ret << wxT(")");
return ret;
}
/***************************************************************/ /***************************************************************/
void WinEDA_DrcFrame::ListUnconnectedPads( wxCommandEvent& event ) void WinEDA_DrcFrame::ListUnconnectedPads( wxCommandEvent& event )
/***************************************************************/ /***************************************************************/
...@@ -75,10 +107,10 @@ void WinEDA_DrcFrame::ListUnconnectedPads( wxCommandEvent& event ) ...@@ -75,10 +107,10 @@ void WinEDA_DrcFrame::ListUnconnectedPads( wxCommandEvent& event )
WinEDA_DrawPanel* panel = m_Parent->DrawPanel; WinEDA_DrawPanel* panel = m_Parent->DrawPanel;
int ii; int ii;
wxString msg; wxString msg;
float convert = 0.0001; double convert = 0.0001;
msg = _( "Look for active routes\n" ); msg = _( "Look for active routes\n" );
m_logWindow->AppendText( msg ); // m_logWindow->AppendText( msg );
if( s_RptFile ) if( s_RptFile )
fprintf( s_RptFile, "%s", CONV_TO_UTF8( msg ) ); fprintf( s_RptFile, "%s", CONV_TO_UTF8( msg ) );
...@@ -87,36 +119,38 @@ void WinEDA_DrcFrame::ListUnconnectedPads( wxCommandEvent& event ) ...@@ -87,36 +119,38 @@ void WinEDA_DrcFrame::ListUnconnectedPads( wxCommandEvent& event )
{ {
if( (Ratsnest->status & CH_ACTIF) == 0 ) if( (Ratsnest->status & CH_ACTIF) == 0 )
continue; continue;
m_UnconnectedCount++; m_UnconnectedCount++;
if( m_UnconnectedCount == 1 ) if( m_UnconnectedCount == 1 )
m_logWindow->AppendText( _( "Unconnected found:\n" ) ); {
// m_logWindow->AppendText( _( "Unconnected found:\n" ) );
}
D_PAD* pad = Ratsnest->pad_start; D_PAD* pad = Ratsnest->pad_start;
pad->Draw( panel, m_DC, wxPoint( 0, 0 ), draw_mode ); pad->Draw( panel, m_DC, wxPoint( 0, 0 ), draw_mode );
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 > 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_name.GetData(), module_name.GetData(),
pad->m_Pos.x * convert, pad->m_Pos.y * convert ); pad->m_Pos.x * convert, pad->m_Pos.y * convert );
m_logWindow->AppendText( msg ); // m_logWindow->AppendText( msg );
if( s_RptFile ) if( s_RptFile )
fprintf( s_RptFile, "%s", CONV_TO_UTF8( msg ) ); 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 );
pad_name = pad->ReturnStringPadName(); pad_name = pad->ReturnStringPadName();
module_name = ( (MODULE*) (pad->m_Parent) )->m_Reference->m_Text; module_name = ( (MODULE*) (pad->m_Parent) )->m_Reference->m_Text;
msg.Printf( _( "Pad %s (%s) @ %.4f,%.4f\n" ), msg.Printf( _( "Pad %s (%s) @ %.4f,%.4f\n" ),
pad_name.GetData(), module_name.GetData(), pad_name.GetData(), module_name.GetData(),
pad->m_Pos.x * convert, pad->m_Pos.y * convert ); pad->m_Pos.x * convert, pad->m_Pos.y * convert );
m_logWindow->AppendText( msg ); // m_logWindow->AppendText( msg );
if( s_RptFile ) if( s_RptFile )
fprintf( s_RptFile, "%s", CONV_TO_UTF8( msg ) ); fprintf( s_RptFile, "%s", CONV_TO_UTF8( msg ) );
} }
...@@ -125,8 +159,8 @@ void WinEDA_DrcFrame::ListUnconnectedPads( wxCommandEvent& event ) ...@@ -125,8 +159,8 @@ void WinEDA_DrcFrame::ListUnconnectedPads( wxCommandEvent& event )
msg.Printf( _( "Active routes: %d\n" ), m_UnconnectedCount ); msg.Printf( _( "Active routes: %d\n" ), m_UnconnectedCount );
else else
msg = _( "OK! (No active routes)\n" ); msg = _( "OK! (No active routes)\n" );
m_logWindow->AppendText( msg ); // m_logWindow->AppendText( msg );
if( s_RptFile ) if( s_RptFile )
fprintf( s_RptFile, "%s", CONV_TO_UTF8( msg ) ); fprintf( s_RptFile, "%s", CONV_TO_UTF8( msg ) );
} }
...@@ -144,10 +178,10 @@ void WinEDA_DrcFrame::TestDrc( wxCommandEvent& event ) ...@@ -144,10 +178,10 @@ void WinEDA_DrcFrame::TestDrc( wxCommandEvent& event )
if( m_CreateRptCtrl->IsChecked() ) // Create a file rpt if( m_CreateRptCtrl->IsChecked() ) // Create a file rpt
{ {
s_RptFilename = m_RptFilenameCtrl->GetValue(); s_RptFilename = m_RptFilenameCtrl->GetValue();
if( s_RptFilename.IsEmpty() ) if( s_RptFilename.IsEmpty() )
OnButtonBrowseRptFileClick( event ); OnButtonBrowseRptFileClick( event );
if( !s_RptFilename.IsEmpty() ) if( !s_RptFilename.IsEmpty() )
s_RptFile = wxFopen( s_RptFilename, wxT( "w" ) ); s_RptFile = wxFopen( s_RptFilename, wxT( "w" ) );
else else
...@@ -164,30 +198,30 @@ void WinEDA_DrcFrame::TestDrc( wxCommandEvent& event ) ...@@ -164,30 +198,30 @@ void WinEDA_DrcFrame::TestDrc( 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();
AbortDrc = FALSE; AbortDrc = FALSE;
m_logWindow->Clear(); // m_logWindow->Clear();
g_DesignSettings.m_TrackClearence = g_DesignSettings.m_TrackClearence =
ReturnValueFromTextCtrl( *m_SetClearance, m_Parent->m_InternalUnits ); ReturnValueFromTextCtrl( *m_SetClearance, m_Parent->m_InternalUnits );
/* Test DRC errors (clearance errors, bad connections .. */ /* Test DRC errors (clearance errors, bad connections .. */
errors = m_Parent->Test_DRC( m_DC, m_Pad2PadTestCtrl->IsChecked( errors = m_Parent->Test_DRC( m_DC, m_Pad2PadTestCtrl->IsChecked(),
), m_ZonesTestCtrl->IsChecked() ); m_ZonesTestCtrl->IsChecked() );
/* Search for active routes (unconnected pads) */ /* Search for active routes (unconnected pads) */
if( m_UnconnectedTestCtrl->IsChecked() ) if( m_UnconnectedTestCtrl->IsChecked() )
ListUnconnectedPads( event ); ListUnconnectedPads( event );
else else
m_UnconnectedCount = 0; m_UnconnectedCount = 0;
if( errors ) if( errors )
msg.Printf( _( "** End Drc: %d errors **\n" ), errors ); msg.Printf( _( "** End Drc: %d errors **\n" ), errors );
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 ) if( s_RptFile )
fprintf( s_RptFile, "%s", CONV_TO_UTF8( msg ) ); fprintf( s_RptFile, "%s", CONV_TO_UTF8( msg ) );
...@@ -195,7 +229,7 @@ void WinEDA_DrcFrame::TestDrc( wxCommandEvent& event ) ...@@ -195,7 +229,7 @@ void WinEDA_DrcFrame::TestDrc( wxCommandEvent& event )
if( s_RptFile ) if( s_RptFile )
{ {
msg.Printf( _( "Report file <%s> created\n" ), s_RptFilename.GetData() ); msg.Printf( _( "Report file <%s> created\n" ), s_RptFilename.GetData() );
m_logWindow->AppendText( msg ); // m_logWindow->AppendText( msg );
fclose( s_RptFile ); fclose( s_RptFile );
s_RptFile = NULL; s_RptFile = NULL;
} }
...@@ -228,7 +262,8 @@ void WinEDA_PcbFrame::Install_Test_DRC_Frame( wxDC* DC ) ...@@ -228,7 +262,8 @@ void WinEDA_PcbFrame::Install_Test_DRC_Frame( wxDC* DC )
{ {
AbortDrc = FALSE; AbortDrc = FALSE;
DrcFrame = new WinEDA_DrcFrame( this, DC ); DrcFrame = new WinEDA_DrcFrame( this, DC );
DrcFrame->ShowModal(); DrcFrame->Destroy(); DrcFrame->ShowModal();
DrcFrame->Destroy();
DrcFrame = NULL; DrcFrame = NULL;
} }
...@@ -274,15 +309,17 @@ int WinEDA_PcbFrame::Test_DRC( wxDC* DC, bool TestPad2Pad, bool TestZone ) ...@@ -274,15 +309,17 @@ int WinEDA_PcbFrame::Test_DRC( wxDC* DC, bool TestPad2Pad, bool TestZone )
Line.Printf( wxT( "%d" ), m_Pcb->m_NbPads ); Line.Printf( wxT( "%d" ), m_Pcb->m_NbPads );
Affiche_1_Parametre( this, PRINT_NB_PAD_POS, wxT( "NbPad" ), Line, RED ); Affiche_1_Parametre( this, PRINT_NB_PAD_POS, wxT( "NbPad" ), Line, RED );
Affiche_1_Parametre( this, PRINT_PAD_ERR_POS, wxT( "Pad Err" ), wxT( "0" ), LIGHTRED ); Affiche_1_Parametre( this, PRINT_PAD_ERR_POS, wxT( "Pad Err" ), wxT( "0" ), LIGHTRED );
if( DrcFrame ) if( DrcFrame )
DrcFrame->m_logWindow->AppendText( _( "Tst Pad to Pad\n" ) ); {
// DrcFrame->m_logWindow->AppendText( _( "Tst Pad to Pad\n" ) );
}
LISTE_PAD* pad_list_start = CreateSortedPadListByXCoord( m_Pcb ); LISTE_PAD* pad_list_start = CreateSortedPadListByXCoord( m_Pcb );
LISTE_PAD* pad_list_limit = &pad_list_start[m_Pcb->m_NbPads]; LISTE_PAD* pad_list_limit = &pad_list_start[m_Pcb->m_NbPads];
int max_size = 0; int max_size = 0;
LISTE_PAD* pad_list; LISTE_PAD* pad_list;
/* Compute the max size of the pads ( used to stop the test) */ /* Compute the max size of the pads ( used to stop the test) */
for( pad_list = pad_list_start; pad_list < pad_list_limit; pad_list++ ) for( pad_list = pad_list_start; pad_list < pad_list_limit; pad_list++ )
{ {
...@@ -326,16 +363,15 @@ int WinEDA_PcbFrame::Test_DRC( wxDC* DC, bool TestPad2Pad, bool TestZone ) ...@@ -326,16 +363,15 @@ int WinEDA_PcbFrame::Test_DRC( wxDC* DC, bool TestPad2Pad, bool TestZone )
Affiche_1_Parametre( this, PRINT_TRACK_ERR_POS, _( "Track Err" ), wxT( "0" ), LIGHTRED ); Affiche_1_Parametre( this, PRINT_TRACK_ERR_POS, _( "Track Err" ), wxT( "0" ), LIGHTRED );
pt_segm = m_Pcb->m_Track; pt_segm = m_Pcb->m_Track;
if( DrcFrame ) // if( DrcFrame ) DrcFrame->m_logWindow->AppendText( _( "Tst Tracks\n" ) );
DrcFrame->m_logWindow->AppendText( _( "Tst Tracks\n" ) );
for( ii = 0, old_net = -1, jj = 0; for( ii = 0, old_net = -1, jj = 0;
pt_segm != NULL; pt_segm != NULL;
pt_segm = (TRACK*) pt_segm->Pnext, ii++, jj-- ) pt_segm = (TRACK*) pt_segm->Pnext, ii++, jj-- )
{ {
if( pt_segm->Pnext == NULL ) if( pt_segm->Pnext == NULL )
break; break;
if( jj == 0 ) if( jj == 0 )
{ {
jj = 10; jj = 10;
...@@ -399,25 +435,24 @@ int WinEDA_PcbFrame::Test_DRC( wxDC* DC, bool TestPad2Pad, bool TestZone ) ...@@ -399,25 +435,24 @@ int WinEDA_PcbFrame::Test_DRC( wxDC* DC, bool TestPad2Pad, bool TestZone )
Affiche_1_Parametre( this, PRINT_NB_ZONESEGM_POS, _( "SegmNb" ), Line, RED ); Affiche_1_Parametre( this, PRINT_NB_ZONESEGM_POS, _( "SegmNb" ), Line, RED );
Affiche_1_Parametre( this, PRINT_ZONE_ERR_POS, _( "Zone Err" ), wxT( "0" ), LIGHTRED ); Affiche_1_Parametre( this, PRINT_ZONE_ERR_POS, _( "Zone Err" ), wxT( "0" ), LIGHTRED );
if( DrcFrame ) // if( DrcFrame ) DrcFrame->m_logWindow->AppendText( _( "Tst Zones\n" ) );
DrcFrame->m_logWindow->AppendText( _( "Tst Zones\n" ) );
pt_segm = (TRACK*) m_Pcb->m_Zone; pt_segm = (TRACK*) m_Pcb->m_Zone;
for( ii = 0, old_net = -1, jj = 0; for( ii = 0, old_net = -1, jj = 0;
pt_segm != NULL; pt_segm != NULL;
pt_segm = (TRACK*) pt_segm->Pnext, ii++, jj-- ) pt_segm = (TRACK*) pt_segm->Pnext, ii++, jj-- )
{ {
if( pt_segm->Pnext == NULL ) if( pt_segm->Pnext == NULL )
break; break;
if( jj == 0 ) if( jj == 0 )
{ {
jj = 100; jj = 100;
wxYield(); wxYield();
if( AbortDrc ) if( AbortDrc )
{ {
AbortDrc = FALSE; AbortDrc = FALSE;
break; break;
} }
/* Print stats */ /* Print stats */
...@@ -430,17 +465,17 @@ int WinEDA_PcbFrame::Test_DRC( wxDC* DC, bool TestPad2Pad, bool TestZone ) ...@@ -430,17 +465,17 @@ int WinEDA_PcbFrame::Test_DRC( wxDC* DC, bool TestPad2Pad, bool TestZone )
jj = 1; jj = 1;
wxString msg; wxString msg;
EQUIPOT* equipot = m_Pcb->FindNet( pt_segm->GetNet() ); EQUIPOT* equipot = m_Pcb->FindNet( pt_segm->GetNet() );
if( equipot ) if( equipot )
msg = equipot->m_Netname + wxT( " " ); msg = equipot->m_Netname + wxT( " " );
else else
msg = wxT( "<noname>" ); msg = wxT( "<noname>" );
Affiche_1_Parametre( this, 0, _( "Netname" ), msg, YELLOW ); Affiche_1_Parametre( this, 0, _( "Netname" ), msg, YELLOW );
old_net = pt_segm->GetNet(); old_net = pt_segm->GetNet();
} }
g_HightLigth_NetCode = pt_segm->GetNet(); g_HightLigth_NetCode = pt_segm->GetNet();
/* Test drc with other zone segments, and pads */ /* Test drc with other zone segments, and pads */
flag_err_Drc = Drc( this, DC, pt_segm, (TRACK*) pt_segm->Pnext, 1 ); flag_err_Drc = Drc( this, DC, pt_segm, (TRACK*) pt_segm->Pnext, 1 );
if( flag_err_Drc == BAD_DRC ) if( flag_err_Drc == BAD_DRC )
...@@ -467,12 +502,12 @@ int WinEDA_PcbFrame::Test_DRC( wxDC* DC, bool TestPad2Pad, bool TestZone ) ...@@ -467,12 +502,12 @@ int WinEDA_PcbFrame::Test_DRC( wxDC* DC, bool TestPad2Pad, bool TestZone )
} }
/* Test drc with track segments */ /* Test drc with track segments */
int tmp = m_Pcb->m_NbPads; int tmp = m_Pcb->m_NbPads;
m_Pcb->m_NbPads = 0; // Pads already tested: disable pad test m_Pcb->m_NbPads = 0; // Pads already tested: disable pad test
flag_err_Drc = Drc( this, DC, pt_segm, m_Pcb->m_Track, 1 ); flag_err_Drc = Drc( this, DC, pt_segm, m_Pcb->m_Track, 1 );
m_Pcb->m_NbPads = tmp; m_Pcb->m_NbPads = tmp;
if( flag_err_Drc == BAD_DRC ) if( flag_err_Drc == BAD_DRC )
{ {
Marqueur = current_marqueur; Marqueur = current_marqueur;
...@@ -488,7 +523,7 @@ int WinEDA_PcbFrame::Test_DRC( wxDC* DC, bool TestPad2Pad, bool TestZone ) ...@@ -488,7 +523,7 @@ int WinEDA_PcbFrame::Test_DRC( wxDC* DC, bool TestPad2Pad, bool TestZone )
PtStruct = m_Pcb->m_Drawings; PtStruct = m_Pcb->m_Drawings;
if( PtStruct ) if( PtStruct )
PtStruct->Pback = Marqueur; PtStruct->Pback = Marqueur;
m_Pcb->m_Drawings = Marqueur; m_Pcb->m_Drawings = Marqueur;
GRSetDrawMode( DC, GR_OR ); GRSetDrawMode( DC, GR_OR );
...@@ -529,12 +564,12 @@ int Drc( WinEDA_BasePcbFrame* frame, wxDC* DC, ...@@ -529,12 +564,12 @@ int Drc( WinEDA_BasePcbFrame* frame, wxDC* DC,
// l'origine du segment de reference // l'origine du segment de reference
wxPoint shape_pos; wxPoint shape_pos;
org_X = pt_segment->m_Start.x; org_X = pt_segment->m_Start.x;
org_Y = pt_segment->m_Start.y; org_Y = pt_segment->m_Start.y;
finx = dx = pt_segment->m_End.x - org_X; finx = dx = pt_segment->m_End.x - org_X;
finy = dy = pt_segment->m_End.y - org_Y; finy = dy = pt_segment->m_End.y - org_Y;
MaskLayer = pt_segment->ReturnMaskLayer(); MaskLayer = pt_segment->ReturnMaskLayer();
net_code_ref = pt_segment->GetNet(); net_code_ref = pt_segment->GetNet();
...@@ -545,7 +580,7 @@ int Drc( WinEDA_BasePcbFrame* frame, wxDC* DC, ...@@ -545,7 +580,7 @@ int Drc( WinEDA_BasePcbFrame* frame, wxDC* DC,
{ {
/* Compute the segment angle in 0,1 degrees */ /* Compute the segment angle in 0,1 degrees */
segm_angle = ArcTangente( dy, dx ); segm_angle = ArcTangente( dy, dx );
/* Compute the segment lenght: we build an equivalent rotated segment, /* Compute the segment lenght: we build an equivalent rotated segment,
this segment is horizontal, therefore dx = lenght */ this segment is horizontal, therefore dx = lenght */
RotatePoint( &dx, &dy, segm_angle ); /* dx = lenght, dy = 0 */ RotatePoint( &dx, &dy, segm_angle ); /* dx = lenght, dy = 0 */
...@@ -573,7 +608,7 @@ int Drc( WinEDA_BasePcbFrame* frame, wxDC* DC, ...@@ -573,7 +608,7 @@ int Drc( WinEDA_BasePcbFrame* frame, wxDC* DC,
* a pseudo pad is used, with a shape and a size like the hole */ * a pseudo pad is used, with a shape and a size like the hole */
if( pt_pad->m_Drill.x == 0 ) if( pt_pad->m_Drill.x == 0 )
continue; continue;
D_PAD pseudo_pad( (MODULE*) NULL ); D_PAD pseudo_pad( (MODULE*) NULL );
pseudo_pad.m_Size = pt_pad->m_Drill; pseudo_pad.m_Size = pt_pad->m_Drill;
...@@ -696,13 +731,13 @@ int Drc( WinEDA_BasePcbFrame* frame, wxDC* DC, ...@@ -696,13 +731,13 @@ int Drc( WinEDA_BasePcbFrame* frame, wxDC* DC,
* in the new axis : the new X axis is the reference segment * in the new axis : the new X axis is the reference segment
* We must translate and rotate the segment to test * We must translate and rotate the segment to test
*/ */
x0 = pttrack->m_Start.x - org_X; x0 = pttrack->m_Start.x - org_X;
y0 = pttrack->m_Start.y - org_Y; y0 = pttrack->m_Start.y - org_Y;
xf = pttrack->m_End.x - org_X; xf = pttrack->m_End.x - org_X;
yf = pttrack->m_End.y - org_Y; yf = pttrack->m_End.y - org_Y;
RotatePoint( &x0, &y0, segm_angle ); RotatePoint( &x0, &y0, segm_angle );
RotatePoint( &xf, &yf, segm_angle ); RotatePoint( &xf, &yf, segm_angle );
if( pttrack->Type() == TYPEVIA ) if( pttrack->Type() == TYPEVIA )
...@@ -724,7 +759,7 @@ int Drc( WinEDA_BasePcbFrame* frame, wxDC* DC, ...@@ -724,7 +759,7 @@ int Drc( WinEDA_BasePcbFrame* frame, wxDC* DC,
{ {
if( abs( y0 ) >= w_dist ) if( abs( y0 ) >= w_dist )
continue; continue;
if( x0 > xf ) if( x0 > xf )
EXCHG( x0, xf ); /* pour que x0 <= xf */ EXCHG( x0, xf ); /* pour que x0 <= xf */
...@@ -860,18 +895,18 @@ int Drc( WinEDA_BasePcbFrame* frame, wxDC* DC, ...@@ -860,18 +895,18 @@ int Drc( WinEDA_BasePcbFrame* frame, wxDC* DC,
{ {
// Test the starting and the ending point // Test the starting and the ending point
int angle, rx0, ry0, rxf, ryf; int angle, rx0, ry0, rxf, ryf;
x0 = pttrack->m_Start.x; x0 = pttrack->m_Start.x;
y0 = pttrack->m_Start.y; y0 = pttrack->m_Start.y;
xf = pttrack->m_End.x; xf = pttrack->m_End.x;
yf = pttrack->m_End.y; yf = pttrack->m_End.y;
dx = xf - x0; dx = xf - x0;
dy = yf - y0; dy = yf - y0;
/* Compute the segment orientation (angle) en 0,1 degre */ /* Compute the segment orientation (angle) en 0,1 degre */
angle = ArcTangente( dy, dx ); angle = ArcTangente( dy, dx );
/* Compute the segment lenght: dx = longueur */ /* Compute the segment lenght: dx = longueur */
RotatePoint( &dx, &dy, angle ); RotatePoint( &dx, &dy, angle );
...@@ -944,7 +979,7 @@ static bool Test_Pad_to_Pads_Drc( WinEDA_BasePcbFrame* frame, ...@@ -944,7 +979,7 @@ static bool Test_Pad_to_Pads_Drc( WinEDA_BasePcbFrame* frame,
MaskLayer = pad_ref->m_Masque_Layer & ALL_CU_LAYERS; MaskLayer = pad_ref->m_Masque_Layer & ALL_CU_LAYERS;
int x_limite = max_size + g_DesignSettings.m_TrackClearence + int x_limite = max_size + g_DesignSettings.m_TrackClearence +
pad_ref->m_Rayon + pad_ref->m_Pos.x; pad_ref->m_Rayon + pad_ref->m_Pos.x;
for( ; pad_list < end_buffer; pad_list++ ) for( ; pad_list < end_buffer; pad_list++ )
{ {
pad = *pad_list; pad = *pad_list;
...@@ -972,7 +1007,7 @@ static bool Test_Pad_to_Pads_Drc( WinEDA_BasePcbFrame* frame, ...@@ -972,7 +1007,7 @@ static bool Test_Pad_to_Pads_Drc( WinEDA_BasePcbFrame* frame,
if( Pad_to_Pad_Isol( pad_ref, pad, g_DesignSettings.m_TrackClearence ) == OK_DRC ) if( Pad_to_Pad_Isol( pad_ref, pad, g_DesignSettings.m_TrackClearence ) == OK_DRC )
continue; continue;
else /* here we have a drc error! */ else /* here we have a drc error! */
{ {
ErrorsDRC_Count++; ErrorsDRC_Count++;
...@@ -1057,13 +1092,13 @@ static int Pad_to_Pad_Isol( D_PAD* pad_ref, D_PAD* pad, const int dist_min ) ...@@ -1057,13 +1092,13 @@ static int Pad_to_Pad_Isol( D_PAD* pad_ref, D_PAD* pad, const int dist_min )
// Test DRC: // Test DRC:
diag = BAD_DRC; diag = BAD_DRC;
rel_pos.x = ABS( rel_pos.x ); rel_pos.x = ABS( rel_pos.x );
rel_pos.y = ABS( rel_pos.y ); rel_pos.y = ABS( rel_pos.y );
if( ( rel_pos.x - ( (size.x + pad_ref->m_Size.x) / 2 ) ) >= dist_min ) if( ( rel_pos.x - ( (size.x + pad_ref->m_Size.x) / 2 ) ) >= dist_min )
diag = OK_DRC; diag = OK_DRC;
if( ( rel_pos.y - ( (size.y + pad_ref->m_Size.y) / 2 ) ) >= dist_min ) if( ( rel_pos.y - ( (size.y + pad_ref->m_Size.y) / 2 ) ) >= dist_min )
diag = OK_DRC; diag = OK_DRC;
} }
...@@ -1117,7 +1152,7 @@ static int TestClearanceSegmToPad( const D_PAD* pad_to_test, int w_segm, int dis ...@@ -1117,7 +1152,7 @@ static int TestClearanceSegmToPad( const D_PAD* pad_to_test, int w_segm, int dis
/* /*
* Routine adaptee de la "distance()" (LOCATE.CPP) * Routine adaptee de la "distance()" (LOCATE.CPP)
* teste la distance du pad au segment de droite en cours * teste la distance du pad au segment de droite en cours
* *
* retourne: * retourne:
* 0 si distance >= dist_min * 0 si distance >= dist_min
* 1 si distance < dist_min * 1 si distance < dist_min
...@@ -1125,7 +1160,7 @@ static int TestClearanceSegmToPad( const D_PAD* pad_to_test, int w_segm, int dis ...@@ -1125,7 +1160,7 @@ static int TestClearanceSegmToPad( const D_PAD* pad_to_test, int w_segm, int dis
* pad_to_test = pointeur sur le pad a tester * pad_to_test = pointeur sur le pad a tester
* w_segm = demi largeur du segment a tester * w_segm = demi largeur du segment a tester
* dist_min = marge a respecter * dist_min = marge a respecter
* *
* en variables globales * en variables globales
* segm_long = longueur du segment en test * segm_long = longueur du segment en test
* segm_angle = angle d'inclinaison du segment; * segm_angle = angle d'inclinaison du segment;
...@@ -1158,14 +1193,14 @@ static int TestClearanceSegmToPad( const D_PAD* pad_to_test, int w_segm, int dis ...@@ -1158,14 +1193,14 @@ static int TestClearanceSegmToPad( const D_PAD* pad_to_test, int w_segm, int dis
ycliplo = spot_cY - seuil - p_dimy; ycliplo = spot_cY - seuil - p_dimy;
xcliphi = spot_cX + seuil + p_dimx; xcliphi = spot_cX + seuil + p_dimx;
ycliphi = spot_cY + seuil + p_dimy; ycliphi = spot_cY + seuil + p_dimy;
x0 = y0 = 0; x0 = y0 = 0;
xf = finx; xf = finx;
yf = finy; yf = finy;
orient = pad_to_test->m_Orient; orient = pad_to_test->m_Orient;
RotatePoint( &x0, &y0, spot_cX, spot_cY, -orient ); RotatePoint( &x0, &y0, spot_cX, spot_cY, -orient );
RotatePoint( &xf, &yf, spot_cX, spot_cY, -orient ); RotatePoint( &xf, &yf, spot_cX, spot_cY, -orient );
...@@ -1173,7 +1208,7 @@ static int TestClearanceSegmToPad( const D_PAD* pad_to_test, int w_segm, int dis ...@@ -1173,7 +1208,7 @@ static int TestClearanceSegmToPad( const D_PAD* pad_to_test, int w_segm, int dis
if( bflag == OK_DRC ) if( bflag == OK_DRC )
return OK_DRC; return OK_DRC;
/* Erreur DRC : analyse fine de la forme de la pastille */ /* Erreur DRC : analyse fine de la forme de la pastille */
switch( pad_to_test->m_PadShape ) switch( pad_to_test->m_PadShape )
...@@ -1209,7 +1244,7 @@ static int TestClearanceSegmToPad( const D_PAD* pad_to_test, int w_segm, int dis ...@@ -1209,7 +1244,7 @@ static int TestClearanceSegmToPad( const D_PAD* pad_to_test, int w_segm, int dis
y0 = spot_cY + deltay; y0 = spot_cY + deltay;
RotatePoint( &x0, &y0, spot_cX, spot_cY, orient ); RotatePoint( &x0, &y0, spot_cX, spot_cY, orient );
RotatePoint( &x0, &y0, segm_angle ); RotatePoint( &x0, &y0, segm_angle );
bflag = TestMarginToCircle( x0, y0, p_dimx + seuil, segm_long ); bflag = TestMarginToCircle( x0, y0, p_dimx + seuil, segm_long );
if( bflag == BAD_DRC ) if( bflag == BAD_DRC )
return BAD_DRC; return BAD_DRC;
...@@ -1218,7 +1253,7 @@ static int TestClearanceSegmToPad( const D_PAD* pad_to_test, int w_segm, int dis ...@@ -1218,7 +1253,7 @@ static int TestClearanceSegmToPad( const D_PAD* pad_to_test, int w_segm, int dis
y0 = spot_cY - deltay; y0 = spot_cY - deltay;
RotatePoint( &x0, &y0, spot_cX, spot_cY, orient ); RotatePoint( &x0, &y0, spot_cX, spot_cY, orient );
RotatePoint( &x0, &y0, segm_angle ); RotatePoint( &x0, &y0, segm_angle );
bflag = TestMarginToCircle( x0, y0, p_dimx + seuil, segm_long ); bflag = TestMarginToCircle( x0, y0, p_dimx + seuil, segm_long );
if( bflag == BAD_DRC ) if( bflag == BAD_DRC )
return BAD_DRC; return BAD_DRC;
...@@ -1359,30 +1394,30 @@ static void Affiche_Erreur_DRC( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb, ...@@ -1359,30 +1394,30 @@ static void Affiche_Erreur_DRC( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb,
netname1 = equipot->m_Netname; netname1 = equipot->m_Netname;
else else
netname1 = wxT( "<noname>" ); netname1 = wxT( "<noname>" );
netname2 = wxT( "<noname>" ); netname2 = wxT( "<noname>" );
if( pt_ref->Type() == TYPEVIA ) if( pt_ref->Type() == TYPEVIA )
tracktype = wxT( "Via" ); tracktype = wxT( "Via" );
else if( pt_ref->Type() == TYPEZONE ) else if( pt_ref->Type() == TYPEZONE )
tracktype = wxT( "Zone" ); tracktype = wxT( "Zone" );
else else
tracktype = wxT( "Track" ); tracktype = wxT( "Track" );
if( pt_item->Type() == TYPEPAD ) if( pt_item->Type() == TYPEPAD )
{ {
D_PAD* pad = (D_PAD*) pt_item; D_PAD* pad = (D_PAD*) pt_item;
equipot = Pcb->FindNet( pad->GetNet() ); equipot = Pcb->FindNet( pad->GetNet() );
if( equipot ) if( equipot )
netname2 = equipot->m_Netname; 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 %s (net %s) and PAD %s (%s) net %s @ %d,%d\n" ), msg.Printf( _( "%d Drc Err %d %s (net %s) and PAD %s (%s) net %s @ %d,%d\n" ),
ErrorsDRC_Count, errnumber, tracktype.GetData(), ErrorsDRC_Count, errnumber, tracktype.GetData(),
netname1.GetData(), netname1.GetData(),
...@@ -1390,7 +1425,7 @@ static void Affiche_Erreur_DRC( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb, ...@@ -1390,7 +1425,7 @@ static void Affiche_Erreur_DRC( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb,
netname2.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;
...@@ -1413,7 +1448,7 @@ static void Affiche_Erreur_DRC( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb, ...@@ -1413,7 +1448,7 @@ static void Affiche_Erreur_DRC( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb,
< hypot( (double) (erc_pos.x - pt_ref->m_End.x), < hypot( (double) (erc_pos.x - pt_ref->m_End.x),
(double) (erc_pos.y - pt_ref->m_End.y) ) ) (double) (erc_pos.y - pt_ref->m_End.y) ) )
{ {
EXCHG( erc_pos_f.x, erc_pos.x ); EXCHG( erc_pos_f.x, erc_pos.x );
EXCHG( erc_pos_f.y, erc_pos.y ); EXCHG( erc_pos_f.y, erc_pos.y );
} }
msg.Printf( _( "%d Err type %d: %s (net %s) and track (net %s) @ %d,%d\n" ), msg.Printf( _( "%d Err type %d: %s (net %s) and track (net %s) @ %d,%d\n" ),
...@@ -1424,16 +1459,18 @@ static void Affiche_Erreur_DRC( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb, ...@@ -1424,16 +1459,18 @@ static void Affiche_Erreur_DRC( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb,
} }
if( DrcFrame ) if( DrcFrame )
DrcFrame->m_logWindow->AppendText( msg ); {
// DrcFrame->m_logWindow->AppendText( msg );
}
else else
panel->m_Parent->Affiche_Message( msg ); panel->m_Parent->Affiche_Message( msg );
if( s_RptFile ) if( s_RptFile )
fprintf( s_RptFile, "%s", CONV_TO_UTF8( msg ) ); fprintf( s_RptFile, "%s", CONV_TO_UTF8( msg ) );
if( current_marqueur == NULL ) if( current_marqueur == NULL )
current_marqueur = new MARQUEUR( Pcb ); 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 );
current_marqueur->m_Color = WHITE; current_marqueur->m_Color = WHITE;
current_marqueur->m_Diag = msg; current_marqueur->m_Diag = msg;
...@@ -1460,14 +1497,14 @@ static void Affiche_Erreur_DRC( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb, ...@@ -1460,14 +1497,14 @@ static void Affiche_Erreur_DRC( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb,
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; wxString netname1, netname2;
EQUIPOT* equipot = Pcb->FindNet( pad1->GetNet() ); EQUIPOT* equipot = Pcb->FindNet( pad1->GetNet() );
if( equipot ) if( equipot )
netname1 = equipot->m_Netname; netname1 = equipot->m_Netname;
else else
netname1 = wxT( "<noname>" ); netname1 = wxT( "<noname>" );
equipot = Pcb->FindNet( pad2->GetNet() ); equipot = Pcb->FindNet( pad2->GetNet() );
if( equipot ) if( equipot )
netname2 = equipot->m_Netname; netname2 = equipot->m_Netname;
...@@ -1475,21 +1512,23 @@ static void Affiche_Erreur_DRC( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb, ...@@ -1475,21 +1512,23 @@ static void Affiche_Erreur_DRC( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb,
netname2 = wxT( "<noname>" ); netname2 = wxT( "<noname>" );
msg.Printf( _( "%d Drc Err: PAD %s (%s) net %s @ %d,%d and PAD %s (%s) net %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" ),
ErrorsDRC_Count, ErrorsDRC_Count,
pad_name1.GetData(), module_name1.GetData(), netname1.GetData(), pad1->m_Pos.x, pad1->m_Pos.y, pad_name1.GetData(), module_name1.GetData(), 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 ); pad_name2.GetData(), module_name2.GetData(), netname2.GetData(), pad2->m_Pos.x, pad2->m_Pos.y );
if( DrcFrame ) if( DrcFrame )
DrcFrame->m_logWindow->AppendText( msg ); {
// DrcFrame->m_logWindow->AppendText( msg );
}
else else
panel->m_Parent->Affiche_Message( msg ); panel->m_Parent->Affiche_Message( msg );
if( s_RptFile ) if( s_RptFile )
fprintf( s_RptFile, "%s", CONV_TO_UTF8( msg ) ); fprintf( s_RptFile, "%s", CONV_TO_UTF8( msg ) );
if( current_marqueur == NULL ) if( current_marqueur == NULL )
current_marqueur = new MARQUEUR( Pcb ); current_marqueur = new MARQUEUR( Pcb );
current_marqueur->m_Pos = pad1->m_Pos; current_marqueur->m_Pos = pad1->m_Pos;
current_marqueur->m_Color = WHITE; current_marqueur->m_Color = WHITE;
current_marqueur->m_Diag = msg; current_marqueur->m_Diag = msg;
...@@ -1502,16 +1541,15 @@ static void Affiche_Erreur_DRC( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb, ...@@ -1502,16 +1541,15 @@ static void Affiche_Erreur_DRC( WinEDA_DrawPanel* panel, wxDC* DC, BOARD* Pcb,
/**********************************************/ /**********************************************/
/* Routine utilisee pour tester si une piste est en contact avec une autre piste. /* Routine utilisee pour tester si une piste est en contact avec une autre piste.
* *
* Cette routine controle si la ligne (x1,y1 x2,y2) a une partie s'inscrivant * Cette routine controle si la ligne (x1,y1 x2,y2) a une partie s'inscrivant
* dans le cadre (xcliplo,ycliplo xcliphi,ycliphi) (variables globales, * dans le cadre (xcliplo,ycliplo xcliphi,ycliphi) (variables globales,
* locales a ce fichier) * locales a ce fichier)
* *
* Retourne OK_DRC si aucune partie commune * Retourne OK_DRC si aucune partie commune
* Retourne BAD_DRC si partie commune * Retourne BAD_DRC si partie commune
*/ */
#define us unsigned int static inline int USCALE( unsigned arg, unsigned num, unsigned den )
static inline int USCALE( us arg, us num, us den )
{ {
int ii; int ii;
...@@ -1527,96 +1565,95 @@ static int Tst_Ligne( int x1, int y1, int x2, int y2 ) ...@@ -1527,96 +1565,95 @@ static int Tst_Ligne( int x1, int y1, int x2, int y2 )
{ {
int temp; int temp;
do { if( x1 > x2 )
if( x1 > x2 ) {
{ EXCHG( x1, x2 );
EXCHG( x1, x2 ); EXCHG( y1, y2 ); EXCHG( y1, y2 );
} }
if( (x2 < xcliplo) || (x1 > xcliphi) ) if( (x2 < xcliplo) || (x1 > xcliphi) )
{
WHEN_OUTSIDE;
}
if( y1 < y2 )
{
if( (y2 < ycliplo) || (y1 > ycliphi) )
{ {
WHEN_OUTSIDE; WHEN_OUTSIDE;
} }
if( y1 < y2 ) if( y1 < ycliplo )
{ {
if( (y2 < ycliplo) || (y1 > ycliphi) ) temp = USCALE( (x2 - x1), (ycliplo - y1), (y2 - y1) );
if( (x1 += temp) > xcliphi )
{ {
WHEN_OUTSIDE; WHEN_OUTSIDE;
} }
if( y1 < ycliplo ) y1 = ycliplo;
{ WHEN_INSIDE;
temp = USCALE( (x2 - x1), (ycliplo - y1), (y2 - y1) );
if( (x1 += temp) > xcliphi )
{
WHEN_OUTSIDE;
}
y1 = ycliplo;
WHEN_INSIDE;
}
if( y2 > ycliphi )
{
temp = USCALE( (x2 - x1), (y2 - ycliphi), (y2 - y1) );
if( (x2 -= temp) < xcliplo )
{
WHEN_OUTSIDE;
}
y2 = ycliphi;
WHEN_INSIDE;
}
if( x1 < xcliplo )
{
temp = USCALE( (y2 - y1), (xcliplo - x1), (x2 - x1) );
y1 += temp; x1 = xcliplo;
WHEN_INSIDE;
}
if( x2 > xcliphi )
{
temp = USCALE( (y2 - y1), (x2 - xcliphi), (x2 - x1) );
y2 -= temp; x2 = xcliphi;
WHEN_INSIDE;
}
} }
else if( y2 > ycliphi )
{ {
if( (y1 < ycliplo) || (y2 > ycliphi) ) temp = USCALE( (x2 - x1), (y2 - ycliphi), (y2 - y1) );
if( (x2 -= temp) < xcliplo )
{ {
WHEN_OUTSIDE; WHEN_OUTSIDE;
} }
if( y1 > ycliphi ) y2 = ycliphi;
{ WHEN_INSIDE;
temp = USCALE( (x2 - x1), (y1 - ycliphi), (y1 - y2) ); }
if( (x1 += temp) > xcliphi ) if( x1 < xcliplo )
{ {
WHEN_OUTSIDE; temp = USCALE( (y2 - y1), (xcliplo - x1), (x2 - x1) );
} y1 += temp; x1 = xcliplo;
y1 = ycliphi; WHEN_INSIDE;
WHEN_INSIDE; }
} if( x2 > xcliphi )
if( y2 < ycliplo ) {
{ temp = USCALE( (y2 - y1), (x2 - xcliphi), (x2 - x1) );
temp = USCALE( (x2 - x1), (ycliplo - y2), (y1 - y2) ); y2 -= temp; x2 = xcliphi;
if( (x2 -= temp) < xcliplo ) WHEN_INSIDE;
{ }
WHEN_OUTSIDE; }
} else
y2 = ycliplo; {
WHEN_INSIDE; if( (y1 < ycliplo) || (y2 > ycliphi) )
} {
if( x1 < xcliplo ) WHEN_OUTSIDE;
}
if( y1 > ycliphi )
{
temp = USCALE( (x2 - x1), (y1 - ycliphi), (y1 - y2) );
if( (x1 += temp) > xcliphi )
{ {
temp = USCALE( (y1 - y2), (xcliplo - x1), (x2 - x1) ); WHEN_OUTSIDE;
y1 -= temp;
x1 = xcliplo;
WHEN_INSIDE;
} }
if( x2 > xcliphi ) y1 = ycliphi;
WHEN_INSIDE;
}
if( y2 < ycliplo )
{
temp = USCALE( (x2 - x1), (ycliplo - y2), (y1 - y2) );
if( (x2 -= temp) < xcliplo )
{ {
temp = USCALE( (y1 - y2), (x2 - xcliphi), (x2 - x1) ); WHEN_OUTSIDE;
y2 += temp;
x2 = xcliphi;
WHEN_INSIDE;
} }
y2 = ycliplo;
WHEN_INSIDE;
}
if( x1 < xcliplo )
{
temp = USCALE( (y1 - y2), (xcliplo - x1), (x2 - x1) );
y1 -= temp;
x1 = xcliplo;
WHEN_INSIDE;
}
if( x2 > xcliphi )
{
temp = USCALE( (y1 - y2), (x2 - xcliphi), (x2 - x1) );
y2 += temp;
x2 = xcliphi;
WHEN_INSIDE;
} }
} while( 0 ); }
if( ( (x2 + x1)/2 <= xcliphi ) && ( (x2 + x1)/2 >= xcliplo ) \ if( ( (x2 + x1)/2 <= xcliphi ) && ( (x2 + x1)/2 >= xcliplo ) \
&& ( (y2 + y1)/2 <= ycliphi ) && ( (y2 + y1)/2 >= ycliplo ) ) && ( (y2 + y1)/2 <= ycliphi ) && ( (y2 + y1)/2 >= ycliplo ) )
...@@ -1626,3 +1663,4 @@ static int Tst_Ligne( int x1, int y1, int x2, int y2 ) ...@@ -1626,3 +1663,4 @@ static int Tst_Ligne( int x1, int y1, int x2, int y2 )
else else
return OK_DRC; return OK_DRC;
} }
/*
* This program source code file is part of KICAD, a free EDA CAD application.
*
* Copyright (C) 2007 Dick Hollenbeck, dick@softplc.com
* Copyright (C) 2007 Kicad Developers, see change_log.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you may find one here:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* or you may search the http://www.gnu.org website for the version 2 license,
* or you may write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef _DRC_STUFF_H
#define _DRC_STUFF_H
#include "fctsys.h"
/// DRC error codes:
#define DRCE_ 1
/**
* Class DRC_ITEM
* is a holder for a DRC error item. It is generated when two objects are
* too close. There are holders for information on two items. The
* information held is the board coordinate and the MenuText for each item.
* Also held is the type of error by number and the location of the MARQUEUR.
* A function is provided to translate that number into text.
*/
class DRC_ITEM
{
protected:
int m_ErrorCode; ///< the error code's numeric value
wxPoint m_MarkerPos; ///< position of the MARKER
wxString m_AText; ///< text for the first BOARD_ITEM
wxString m_BText; ///< text for the second BOARD_ITEM
wxPoint m_APos; ///< the location of the first BOARD_ITEM
wxPoint m_BPos; ///< the location of the first BOARD_ITEM
public:
DRC_ITEM( int aErrorCode, const wxString& aText, const wxString& bText,
const wxPoint& aPos, const wxPoint& bPos )
{
m_ErrorCode = aErrorCode;
m_AText = aText;
m_BText = bText;
m_APos = aPos;
m_BPos = bPos;
}
/**
* Function ShowHtml
* translates this object into a fragment of HTML suitable for the
* wxWidget's wxHtmlListBox class.
* @return wxString - the html text.
*/
wxString ShowHtml() const
{
wxString ret;
ret.Printf( wxT("<b>%s</b> <ul><li> %s: %s </li> <li> %s: %s </li> </ul>"),
GetErrorText().GetData(),
ShowCoord( m_APos ).GetData(), m_AText.GetData(),
ShowCoord( m_BPos ).GetData(), m_BText.GetData() );
return ret;
}
/**
* Function ShowText
* translates this object into a text string suitable for saving
* to disk in a report. Change this as needed to format the report.
* @return wxString - the simple non-html text.
*/
wxString ShowText() const
{
wxString ret;
ret.Printf( wxT("%s\n %s: %s\n %s: %s\n"),
GetErrorText().GetData(),
ShowCoord( m_APos ).GetData(), m_AText.GetData(),
ShowCoord( m_BPos ).GetData(), m_BText.GetData() );
return ret;
}
/**
* Function GetErrorText
* returns the string form of a drc error code.
*/
const wxString& GetErrorText() const;
/**
* Function ShowCoord
* formats a coordinate or position to text.
* @param aPos The position to format
* @return wxString - The formated string
*/
static wxString ShowCoord( const wxPoint& aPos );
};
class WinEDA_DrawPanel;
class MARQUEUR;
typedef std::vector<DRC_ITEM> DRC_LIST;
/**
* Class DRC_TESTER
* performs all the DRC tests, and can optionally generate a DRC test report
* to a disk file. This class is given access to the windows and the BOARD
* that it needs via its constructor or access functions.
*/
class DRC_TESTER
{
protected:
bool doPad2PadTest;
bool doUnconnectedTest;
bool doZonesTest;
bool doCreateRptFile;
FILE* rptFile;
wxString rptFilename;
int errorCount;
MARQUEUR* currentMarker;
bool abortDrc;
bool drcInProgress;
int spot_cX;
int spot_cY;
int finx;
int finy; // coord relatives de l'extremite du segm de reference
int segmAngle; // angle d'inclinaison du segment de reference en 0,1 degre
int segmLong; // longueur du segment de reference
int xcliplo;
int ycliplo;
int xcliphi;
int ycliphi; // coord de la surface de securite du segment a comparer
DRC_LIST drcList;
WinEDA_DrawPanel* drawPanel;
public:
DRC_TESTER()
{
doPad2PadTest = true;
doUnconnectedTest = true;
doZonesTest = false;
doCreateRptFile = false;
}
/**
* Function SetTests
* sets all the test flags and may be called before running the tests.
* @param aPad2PadTest Tells whether to test pad to pad distances.
* @param aUnconnectedTest Tells whether to list unconnected pads.
* @param aZonesTest Tells whether to test zones.
* @param aRptFilename If non-Empty, is the name of the file to
* save the report to. If Empty, means save no report.
*/
void SetTests( bool aPad2PadTest, bool aUnconnectedTest, bool aZonesTest, const wxString& aRptFilename )
{
doPad2PadTest = aPad2PadTest;
doUnconnectedTest = aUnconnectedTest;
doZonesTest = aZonesTest;
rptFilename = aRptFilename;
if( rptFilename.IsEmpty() )
doCreateRptFile = false;
else
doCreateRptFile = true;
}
};
#endif // _DRC_STUFF_H
//EOF
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment