Commit c19e3785 authored by CHARRAS's avatar CHARRAS

Add some missing files and better DRC test

parent f27208a1
......@@ -4,6 +4,15 @@ Started 2007-June-11
Please add newer entries at the top, list the date and your name with
email address.
2007-Jul-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ pcbnew
Some file are added (missing .prj files)
Better Drc test:
Zones can be tested.
better pad to pad test.
2007-Jul-25 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
** Some minor enhancements
......
......@@ -5,7 +5,7 @@
COMMON_GLOBL wxString g_BuildVersion
#ifdef EDA_BASE
(wxT("(2007-07-24)"))
(wxT("(2007-07-30)"))
#endif
;
......
......@@ -41,6 +41,10 @@
#define NEGATE_AND_NORMALIZE_ANGLE_POS(Angle) \
{ Angle = - Angle; while (Angle < 0) Angle += 3600; while (Angle >= 3600) Angle -= 3600; }
/* Normalize angle to be in the -90.0 .. 90.0 range */
#define NORMALIZE_ANGLE_90(Angle) { while (Angle < -900) Angle += 1800; \
while (Angle > 900) Angle -= 1800; }
/* exchange 2 donnees */
#define EXCHG(a,b) { typeof(a) __temp__ = (a); (a) = (b); (b) = __temp__; }
......
......@@ -565,7 +565,7 @@ public:
MODULE * ListAndSelectModuleName(void);
void Liste_Equipot(wxCommandEvent & event);
void Swap_Layers(wxCommandEvent & event);
int Test_DRC(wxDC * DC);
int Test_DRC(wxDC * DC, bool TestPad2Pad, bool TestZone);
void Install_Test_DRC_Frame(wxDC * DC);
void Trace_Pcb(wxDC * DC, int mode);
void Trace_PcbEdges(wxDC * DC, int mode_color);
......@@ -595,7 +595,7 @@ public:
void Erase_Pistes(wxDC * DC, int masque_type, bool query);
void Erase_Modules(wxDC * DC, bool query);
void Erase_Textes_Pcb(wxDC * DC, bool query);
void Erase_Marqueurs(wxDC * DC, bool query);
void Erase_Marqueurs(void);
void UnDeleteItem(wxDC * DC);
void RemoveStruct(EDA_BaseStruct * Item, wxDC * DC);
void Via_Edit_Control(wxDC * DC, int command_type, SEGVIA * via);
......
No preview for this file type
......@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kicad\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2007-07-25 10:24+0100\n"
"PO-Revision-Date: 2007-07-30 14:17+0100\n"
"Last-Translator: \n"
"Language-Team: kicad team <jean-pierre.charras@ujf-grenoble.fr>\n"
"MIME-Version: 1.0\n"
......@@ -1493,7 +1493,7 @@ msgid "Compile"
msgstr "Compile"
#: pcbnew/dialog_netlist.cpp:178
#: pcbnew/dialog_drc.cpp:164
#: pcbnew/dialog_drc.cpp:193
#: pcbnew/gendrill.cpp:254
#: eeschema/plotps.cpp:207
#: eeschema/netlist_control.cpp:124
......@@ -1602,75 +1602,89 @@ msgstr "Inclure pistes autorout
msgid "Include Locked Tracks"
msgstr "Inclure pistes verrouilles"
#: pcbnew/drc.cpp:65
#: pcbnew/drc.cpp:71
msgid "Look for active routes\n"
msgstr "Recherche des chevelus actifs\n"
#: pcbnew/drc.cpp:71
#: pcbnew/drc.cpp:77
msgid "Unconnected found:\n"
msgstr "Non connect trouv:\n"
#: pcbnew/drc.cpp:76
#: pcbnew/drc.cpp:82
#, c-format
msgid "%d > Pad %s (%s) @ %.4f,%.4f and "
msgstr "%d > Pad %s (%s) @ %.4f,%.4f et "
#: pcbnew/drc.cpp:84
#: pcbnew/drc.cpp:90
#, c-format
msgid "Pad %s (%s) @ %.4f,%.4f\n"
msgstr "Pad %s (%s) @ %.4f,%.4f\n"
#: pcbnew/drc.cpp:89
#: pcbnew/drc.cpp:95
#, c-format
msgid "Active routes: %d\n"
msgstr "Active routes: %d\n"
#: pcbnew/drc.cpp:90
#: pcbnew/drc.cpp:96
msgid "OK! (No active routes)\n"
msgstr "OK! (Pas de chevelu actif)\n"
#: pcbnew/drc.cpp:112
#: pcbnew/drc.cpp:122
#, c-format
msgid "** End Drc: %d errors **\n"
msgstr "** FinDrc: %d erreurs **\n"
#: pcbnew/drc.cpp:114
#: pcbnew/drc.cpp:124
msgid "** End Drc: No Error **\n"
msgstr "** Fin Drc: Aucune Erreur **\n"
#: pcbnew/drc.cpp:229
#: pcbnew/drc.cpp:198
msgid "Tst Pad to Pad\n"
msgstr "Tst Pad to Pad\n"
#: pcbnew/drc.cpp:237
#: pcbnew/drc.cpp:301
msgid "SegmNb"
msgstr "SegmNb"
#: pcbnew/drc.cpp:230
#: pcbnew/drc.cpp:238
msgid "Track Err"
msgstr "Err Pistes"
#: pcbnew/drc.cpp:233
#: pcbnew/drc.cpp:241
msgid "Tst Tracks\n"
msgstr "Tst Pistes\n"
#: pcbnew/drc.cpp:252
#: pcbnew/drc.cpp:265
#: pcbnew/drc.cpp:330
#: eeschema/eelayer.cpp:141
msgid "Netname"
msgstr "NetName"
#: pcbnew/drc.cpp:950
#: pcbnew/drc.cpp:302
msgid "Zone Err"
msgstr "Err. Zone"
#: pcbnew/drc.cpp:304
msgid "Tst Zones\n"
msgstr "Test Zones\n"
#: pcbnew/drc.cpp:1119
#, c-format
msgid "%d Drc Err %d PAD %s (%s) @ %d,%d\n"
msgstr "%d Err Drc %d PAD %s (%s) @ %d,%d\n"
#: pcbnew/drc.cpp:961
#: pcbnew/drc.cpp:1130
#, c-format
msgid "%d Err type %d: sur VIA @ %d,%d\n"
msgstr "%d Err type %d: sur VIA @ %d,%d\n"
#: pcbnew/drc.cpp:972
#: pcbnew/drc.cpp:1141
#, c-format
msgid "%d Err type %d: sur SEGMENT @ %d,%d\n"
msgstr "%d Err type %d: sur SEGMENT @ %d,%d\n"
#: pcbnew/drc.cpp:1007
#: pcbnew/drc.cpp:1176
#, c-format
msgid "%d Drc Err: PAD %s (%s) @ %d,%d and PAD %s (%s) @ %d,%d\n"
msgstr "%d Err Drc: PAD %s (%s) @ %d,%d et PAD %s (%s) @ %d,%d\n"
......@@ -1857,11 +1871,11 @@ msgstr "Effacement contour"
msgid "Set Width"
msgstr "Ajuste Epaiss"
#: pcbnew/class_pad.cpp:629
#: pcbnew/class_pad.cpp:630
msgid "Unknown Pad shape"
msgstr "Forme pad inconnue"
#: pcbnew/class_pad.cpp:697
#: pcbnew/class_pad.cpp:698
#: pcbnew/affiche.cpp:76
#: pcbnew/affiche.cpp:266
#: pcbnew/class_module.cpp:1060
......@@ -1869,15 +1883,15 @@ msgstr "Forme pad inconnue"
msgid "Module"
msgstr "Module"
#: pcbnew/class_pad.cpp:700
#: pcbnew/class_pad.cpp:701
msgid "RefP"
msgstr "RefP"
#: pcbnew/class_pad.cpp:703
#: pcbnew/class_pad.cpp:704
msgid "Net"
msgstr "Net"
#: pcbnew/class_pad.cpp:769
#: pcbnew/class_pad.cpp:770
#: pcbnew/affiche.cpp:36
#: pcbnew/affiche.cpp:91
#: pcbnew/affiche.cpp:95
......@@ -1890,21 +1904,21 @@ msgstr "Net"
msgid "Layer"
msgstr "Couche"
#: pcbnew/class_pad.cpp:781
#: pcbnew/class_pad.cpp:782
#: pcbnew/affiche.cpp:53
#: pcbnew/affiche.cpp:109
#: gerbview/affiche.cpp:49
msgid "H Size"
msgstr "Taille H"
#: pcbnew/class_pad.cpp:785
#: pcbnew/class_pad.cpp:786
#: pcbnew/affiche.cpp:56
#: pcbnew/affiche.cpp:112
#: gerbview/affiche.cpp:52
msgid "V Size"
msgstr "Taille V"
#: pcbnew/class_pad.cpp:791
#: pcbnew/class_pad.cpp:792
#: pcbnew/affiche.cpp:208
#: pcbnew/affiche.cpp:210
#: pcbnew/gendrill.cpp:398
......@@ -1912,11 +1926,11 @@ msgstr "Taille V"
msgid "Drill"
msgstr "Perage"
#: pcbnew/class_pad.cpp:799
#: pcbnew/class_pad.cpp:800
msgid "Drill X / Y"
msgstr "Perage X/Y"
#: pcbnew/class_pad.cpp:810
#: pcbnew/class_pad.cpp:811
#: pcbnew/affiche.cpp:47
#: pcbnew/affiche.cpp:103
#: pcbnew/class_module.cpp:1057
......@@ -1926,11 +1940,11 @@ msgstr "Per
msgid "Orient"
msgstr "Orient"
#: pcbnew/class_pad.cpp:814
#: pcbnew/class_pad.cpp:815
msgid "X Pos"
msgstr "X Pos"
#: pcbnew/class_pad.cpp:818
#: pcbnew/class_pad.cpp:819
msgid "Y pos"
msgstr "Y pos"
......@@ -2002,7 +2016,7 @@ msgid "Track Width"
msgstr "Epais. Piste"
#: pcbnew/dialog_track_options.cpp:164
#: pcbnew/dialog_drc.cpp:133
#: pcbnew/dialog_drc.cpp:141
msgid "Clearance"
msgstr "Isolation"
......@@ -2538,23 +2552,53 @@ msgstr "Effacer"
msgid "Pcb Text"
msgstr "Texte Pcb"
#: pcbnew/dialog_drc.cpp:145
#: pcbnew/dialog_drc.cpp:137
#: eeschema/fieldedi.cpp:223
#: eeschema/dialog_erc.cpp:237
#: eeschema/dialog_edit_component_in_lib.cpp:166
#: eeschema/dialog_create_component.cpp:176
#: eeschema/libedpart.cpp:241
#: eeschema/dialog_edit_component_in_schematic.cpp:204
#: eeschema/editpart.cpp:204
#: eeschema/dialog_build_BOM.cpp:279
#: cvpcb/dialog_display_options.h:43
msgid "Options"
msgstr "Options"
#: pcbnew/dialog_drc.cpp:149
msgid "Test Drc:"
msgstr "Test Drc:"
#: pcbnew/dialog_drc.cpp:153
msgid "Include pad to pad test"
msgstr "Inclure test pad pad"
#: pcbnew/dialog_drc.cpp:157
msgid "Include unconnected"
msgstr "Inclure non connexions"
#: pcbnew/dialog_drc.cpp:161
#: pcbnew/block.cpp:136
msgid "Include zones"
msgstr "Inclure zones"
#: pcbnew/dialog_drc.cpp:174
msgid "Test Drc"
msgstr "Test Drc"
#: pcbnew/dialog_drc.cpp:149
#: pcbnew/dialog_drc.cpp:178
msgid "Stop Drc"
msgstr "Stop Drc"
#: pcbnew/dialog_drc.cpp:156
#: pcbnew/dialog_drc.cpp:185
msgid "Del Markers"
msgstr "Supprimer Marqueurs"
#: pcbnew/dialog_drc.cpp:160
#: pcbnew/dialog_drc.cpp:189
msgid "List Unconn"
msgstr "Liste Non Conn."
#: pcbnew/dialog_drc.cpp:167
#: pcbnew/dialog_drc.cpp:196
#: common/svg_print.cpp:232
#: share/svg_print.cpp:232
msgid "Messages:"
......@@ -2568,10 +2612,6 @@ msgstr "Inclure Modules"
msgid "Include tracks"
msgstr "Inclure Pistes"
#: pcbnew/block.cpp:136
msgid "Include zones"
msgstr "Inclure zones"
#: pcbnew/block.cpp:141
msgid "Include Text on copper layers"
msgstr "Inclure Texte sur couches cuivre"
......@@ -2692,7 +2732,7 @@ msgstr "Pads: Edition globale"
#: pcbnew/menubarpcb.cpp:205
#: pcbnew/menubarmodedit.cpp:45
#: pcbnew/tool_modedit.cpp:125
#: pcbnew/modedit.cpp:365
#: pcbnew/modedit.cpp:299
msgid "Pad Settings"
msgstr "Caract pads"
......@@ -2804,11 +2844,11 @@ msgstr "Impossible de cr
msgid "Create temporary file "
msgstr "Creation fichier temporaire "
#: pcbnew/router.cpp:525
#: pcbnew/router.cpp:526
msgid "Unable to find data file "
msgstr "Impossible de trouver le fichier de donnes "
#: pcbnew/router.cpp:531
#: pcbnew/router.cpp:532
msgid "Reading autorouter data file "
msgstr "Lecture fichier donnes de l'autorouteur"
......@@ -4104,7 +4144,7 @@ msgid "Local Ratsnest"
msgstr "Monter le chevelu gnral"
#: pcbnew/edit.cpp:720
#: pcbnew/modedit.cpp:393
#: pcbnew/modedit.cpp:327
#: eeschema/schedit.cpp:443
#: eeschema/libframe.cpp:554
msgid "Delete item"
......@@ -4625,7 +4665,7 @@ msgid "Add Pads"
msgstr "Addition de \"pins\""
#: pcbnew/tool_modedit.cpp:175
#: pcbnew/modedit.cpp:379
#: pcbnew/modedit.cpp:313
msgid "Place anchor"
msgstr "Place Ancre"
......@@ -4652,11 +4692,35 @@ msgstr "Grille %.1f"
msgid "Grid %.3f"
msgstr "Grille %.3f"
#: pcbnew/modedit.cpp:362
#: pcbnew/modedit.cpp:175
msgid "Unable to find the footprint source on the main board"
msgstr "Impossible de trouver le module source sur le PCB principal"
#: pcbnew/modedit.cpp:176
msgid ""
"\n"
"Cannot update the footprint"
msgstr ""
"\n"
"Ne peut mettre jour le module"
#: pcbnew/modedit.cpp:184
msgid "A footprint source was found on the main board"
msgstr "Un module source a t trouv sur le PCB principal"
#: pcbnew/modedit.cpp:185
msgid ""
"\n"
"Cannot insert this footprint"
msgstr ""
"\n"
"Ne peut insrer cd module"
#: pcbnew/modedit.cpp:296
msgid "Add Pad"
msgstr "Ajouter Pastilles"
#: pcbnew/modedit.cpp:375
#: pcbnew/modedit.cpp:309
#: eeschema/schedit.cpp:293
msgid "Add Drawing"
msgstr "Ajout d'lments graphiques"
......@@ -4718,18 +4782,6 @@ msgstr "Erreur sur
msgid "Componant properties"
msgstr "Proprits du composant"
#: eeschema/fieldedi.cpp:223
#: eeschema/dialog_erc.cpp:237
#: eeschema/dialog_edit_component_in_lib.cpp:166
#: eeschema/dialog_create_component.cpp:176
#: eeschema/libedpart.cpp:241
#: eeschema/dialog_edit_component_in_schematic.cpp:204
#: eeschema/editpart.cpp:204
#: eeschema/dialog_build_BOM.cpp:279
#: cvpcb/dialog_display_options.h:43
msgid "Options"
msgstr "Options"
#: eeschema/fieldedi.cpp:226
msgid " General : "
msgstr " Gnral :"
......@@ -9753,10 +9805,6 @@ msgstr "Nbr segm = %d, Longueur = "
msgid "Find"
msgstr "Trouver"
#: pcbnew/dialog_drc.h:43
msgid "DRC Control"
msgstr "Controle ERC"
#: pcbnew/dialog_pad_edit.h:43
msgid "Pad properties"
msgstr "Proprits des Pads"
......@@ -9781,6 +9829,10 @@ msgstr "Netliste: "
msgid "General Options"
msgstr "Options gnrales"
#: pcbnew/dialog_drc.h:53
msgid "DRC Control"
msgstr "Controle ERC"
#: pcbnew/win_eda_cleaningoptionsframe.h:50
#: pcbnew/cleaningoptions_dialog.h:48
msgid "Cleaning options"
......
......@@ -477,15 +477,16 @@ wxPoint shape_pos;
}
/* Trace de la reference */
if( ! frame->m_DisplayPadNum) return;
dx = min(m_Size.x, m_Size.y); /* dx = taille du texte */
if( (dx / zoom) > 12 ) /* Si taille suffisante pour 2 lettres */
dx = min(m_Size.x, m_Size.y); /* dx = text size */
if( (dx / zoom) > 12 ) /* size must be enought to draw 2 chars */
{
wxString buffer;
ReturnStringPadName(buffer);
dy = buffer.Len();
if ( dy < 2 ) dy = 2; /* alignement sur textes a 2 lettres */
dx = (dx * 9 ) / (dy * 13 ); /* le texte est ajuste pour
tenir entierement dans la pastille */
/* Draw text with an angle between -90 deg and + 90 deg */
NORMALIZE_ANGLE_90(angle);
if ( dy < 2 ) dy = 2; /* text min size is 2 char */
dx = (dx * 9 ) / (dy * 13 ); /* Text size ajusted to pad size */
DrawGraphicText(panel, DC, wxPoint(ux0, uy0),
WHITE, buffer, angle, wxSize(dx, dx),
GR_TEXT_HJUSTIFY_CENTER, GR_TEXT_VJUSTIFY_CENTER);
......
......@@ -25,7 +25,7 @@ class D_PAD: public EDA_BaseStruct
public:
union {
unsigned long m_NumPadName;
char m_Padname[4] ; /* nom (numero) de la pastille (assimilatble a un long)*/
char m_Padname[4] ; /* nom (numero) de la pastille (assimilable a un long)*/
};
wxString m_Netname; /* Net Name */
int m_Masque_Layer; // (Bit a Bit :1= cuivre, 15= cmp,
......
This diff is collapsed.
......@@ -47,6 +47,8 @@ IMPLEMENT_DYNAMIC_CLASS( WinEDA_DrcFrame, wxDialog )
BEGIN_EVENT_TABLE( WinEDA_DrcFrame, wxDialog )
////@begin WinEDA_DrcFrame event table entries
EVT_CLOSE( WinEDA_DrcFrame::OnCloseWindow )
EVT_BUTTON( ID_DRC_RUN, WinEDA_DrcFrame::OnDrcRunClick )
EVT_BUTTON( ID_STOP_CONTROL_DRC, WinEDA_DrcFrame::OnStopControlDrcClick )
......@@ -93,16 +95,21 @@ bool WinEDA_DrcFrame::Create( wxWindow* parent, wxWindowID id, const wxString& c
m_CommandSizer = NULL;
m_ClearenceTitle = NULL;
m_SetClearance = NULL;
m_Pad2PadTestCtrl = NULL;
m_UnconnectedTestCtrl = NULL;
m_ZonesTestCtrl = NULL;
m_logWindow = NULL;
////@end WinEDA_DrcFrame member initialisation
////@begin WinEDA_DrcFrame creation
SetExtraStyle(GetExtraStyle()|wxWS_EX_BLOCK_EVENTS);
SetExtraStyle(wxWS_EX_BLOCK_EVENTS);
wxDialog::Create( parent, id, caption, pos, size, style );
CreateControls();
GetSizer()->Fit(this);
GetSizer()->SetSizeHints(this);
if (GetSizer())
{
GetSizer()->SetSizeHints(this);
}
Centre();
////@end WinEDA_DrcFrame creation
return true;
......@@ -117,7 +124,7 @@ void WinEDA_DrcFrame::CreateControls()
SetFont(*g_DialogFont);
////@begin WinEDA_DrcFrame content construction
// Generated by DialogBlocks, 27/02/2006 21:15:33 (unregistered)
// Generated by DialogBlocks, 30/07/2007 12:44:15 (unregistered)
WinEDA_DrcFrame* itemDialog1 = this;
......@@ -127,49 +134,75 @@ void WinEDA_DrcFrame::CreateControls()
m_CommandSizer = new wxBoxSizer(wxHORIZONTAL);
m_MainSizer->Add(m_CommandSizer, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxVERTICAL);
m_CommandSizer->Add(itemBoxSizer4, 0, wxGROW|wxALL, 5);
wxStaticBox* itemStaticBoxSizer4Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Options"));
wxStaticBoxSizer* itemStaticBoxSizer4 = new wxStaticBoxSizer(itemStaticBoxSizer4Static, wxVERTICAL);
m_CommandSizer->Add(itemStaticBoxSizer4, 0, wxGROW|wxALL, 5);
m_ClearenceTitle = new wxStaticText( itemDialog1, wxID_STATIC, _("Clearance"), wxDefaultPosition, wxDefaultSize, 0 );
itemBoxSizer4->Add(m_ClearenceTitle, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
itemStaticBoxSizer4->Add(m_ClearenceTitle, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
m_SetClearance = new wxTextCtrl( itemDialog1, ID_TEXTCTRL1, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
itemBoxSizer4->Add(m_SetClearance, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
itemStaticBoxSizer4->Add(m_SetClearance, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
itemStaticBoxSizer4->Add(5, 5, 0, wxGROW|wxALL, 5);
wxStaticBox* itemStaticBoxSizer8Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Test Drc:"));
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);
wxBoxSizer* itemBoxSizer7 = new wxBoxSizer(wxHORIZONTAL);
m_CommandSizer->Add(itemBoxSizer7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
m_UnconnectedTestCtrl = new wxCheckBox( itemDialog1, ID_CHECKBOX, _("Include unconnected"), wxDefaultPosition, wxDefaultSize, 0 );
m_UnconnectedTestCtrl->SetValue(false);
itemStaticBoxSizer8->Add(m_UnconnectedTestCtrl, 0, wxGROW|wxALL, 5);
wxBoxSizer* itemBoxSizer8 = new wxBoxSizer(wxVERTICAL);
itemBoxSizer7->Add(itemBoxSizer8, 0, wxGROW|wxALL, 5);
m_ZonesTestCtrl = new wxCheckBox( itemDialog1, ID_CHECKBOX_TEST_ZONES, _("Include zones"), wxDefaultPosition, wxDefaultSize, 0 );
m_ZonesTestCtrl->SetValue(false);
itemStaticBoxSizer8->Add(m_ZonesTestCtrl, 0, wxGROW|wxALL, 5);
wxButton* itemButton9 = new wxButton( itemDialog1, ID_DRC_RUN, _("Test Drc"), wxDefaultPosition, wxDefaultSize, 0 );
itemButton9->SetForegroundColour(wxColour(202, 0, 0));
itemBoxSizer8->Add(itemButton9, 0, wxGROW|wxALL, 5);
wxBoxSizer* itemBoxSizer12 = new wxBoxSizer(wxVERTICAL);
m_CommandSizer->Add(itemBoxSizer12, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxButton* itemButton10 = new wxButton( itemDialog1, ID_STOP_CONTROL_DRC, _("Stop Drc"), wxDefaultPosition, wxDefaultSize, 0 );
itemButton10->SetForegroundColour(wxColour(0, 128, 128));
itemBoxSizer8->Add(itemButton10, 0, wxGROW|wxALL, 5);
wxBoxSizer* itemBoxSizer13 = new wxBoxSizer(wxHORIZONTAL);
itemBoxSizer12->Add(itemBoxSizer13, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
wxBoxSizer* itemBoxSizer11 = new wxBoxSizer(wxVERTICAL);
itemBoxSizer7->Add(itemBoxSizer11, 0, wxGROW|wxALL, 5);
wxBoxSizer* itemBoxSizer14 = new wxBoxSizer(wxVERTICAL);
itemBoxSizer13->Add(itemBoxSizer14, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxButton* itemButton12 = new wxButton( itemDialog1, ID_ERASE_DRC_MARKERS, _("Del Markers"), wxDefaultPosition, wxDefaultSize, 0 );
itemButton12->SetForegroundColour(wxColour(0, 128, 0));
itemBoxSizer11->Add(itemButton12, 0, wxGROW|wxALL, 5);
wxButton* itemButton15 = new wxButton( itemDialog1, ID_DRC_RUN, _("Test Drc"), wxDefaultPosition, wxDefaultSize, 0 );
itemButton15->SetForegroundColour(wxColour(202, 0, 0));
itemBoxSizer14->Add(itemButton15, 0, wxGROW|wxALL, 5);
wxButton* itemButton13 = new wxButton( itemDialog1, ID_LIST_UNCONNECTED_PADS, _("List Unconn"), wxDefaultPosition, wxDefaultSize, 0 );
itemButton13->SetForegroundColour(wxColour(0, 0, 255));
itemBoxSizer11->Add(itemButton13, 0, wxGROW|wxALL, 5);
wxButton* itemButton16 = new wxButton( itemDialog1, ID_STOP_CONTROL_DRC, _("Stop Drc"), wxDefaultPosition, wxDefaultSize, 0 );
itemButton16->SetForegroundColour(wxColour(0, 128, 128));
itemBoxSizer14->Add(itemButton16, 0, wxGROW|wxALL, 5);
wxButton* itemButton14 = new wxButton( itemDialog1, wxID_CLOSE, _("&Close"), wxDefaultPosition, wxDefaultSize, 0 );
itemBoxSizer11->Add(itemButton14, 0, wxGROW|wxALL, 5);
wxBoxSizer* itemBoxSizer17 = new wxBoxSizer(wxVERTICAL);
itemBoxSizer13->Add(itemBoxSizer17, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxStaticText* itemStaticText15 = new wxStaticText( itemDialog1, wxID_STATIC, _("Messages:"), wxDefaultPosition, wxDefaultSize, 0 );
m_MainSizer->Add(itemStaticText15, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
wxButton* itemButton18 = new wxButton( itemDialog1, ID_ERASE_DRC_MARKERS, _("Del Markers"), wxDefaultPosition, wxDefaultSize, 0 );
itemButton18->SetForegroundColour(wxColour(0, 128, 0));
itemBoxSizer17->Add(itemButton18, 0, wxGROW|wxALL, 5);
wxButton* itemButton19 = new wxButton( itemDialog1, ID_LIST_UNCONNECTED_PADS, _("List Unconn"), wxDefaultPosition, wxDefaultSize, 0 );
itemButton19->SetForegroundColour(wxColour(0, 0, 255));
itemBoxSizer17->Add(itemButton19, 0, wxGROW|wxALL, 5);
wxButton* itemButton20 = new wxButton( itemDialog1, wxID_CLOSE, _("&Close"), wxDefaultPosition, wxDefaultSize, 0 );
itemBoxSizer12->Add(itemButton20, 0, wxGROW|wxALL, 5);
wxStaticText* itemStaticText21 = new wxStaticText( itemDialog1, wxID_STATIC, _("Messages:"), wxDefaultPosition, wxDefaultSize, 0 );
m_MainSizer->Add(itemStaticText21, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
m_logWindow = new wxTextCtrl( itemDialog1, ID_TEXTCTRL, _T(""), wxDefaultPosition, wxSize(-1, 200), wxTE_MULTILINE|wxTE_READONLY );
m_MainSizer->Add(m_logWindow, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
// Set validators
m_Pad2PadTestCtrl->SetValidator( wxGenericValidator(& s_Pad2PadTestOpt) );
m_UnconnectedTestCtrl->SetValidator( wxGenericValidator(& s_UnconnectedTestOpt) );
m_ZonesTestCtrl->SetValidator( wxGenericValidator(& s_ZonesTestOpt) );
////@end WinEDA_DrcFrame content construction
AddUnitSymbol(*m_ClearenceTitle);
......@@ -252,7 +285,25 @@ void WinEDA_DrcFrame::OnListUnconnectedPadsClick( wxCommandEvent& event )
void WinEDA_DrcFrame::OnCloseClick( wxCommandEvent& event )
{
s_Pad2PadTestOpt = m_Pad2PadTestCtrl->IsChecked();
s_UnconnectedTestOpt = m_UnconnectedTestCtrl->IsChecked();
s_ZonesTestOpt = m_ZonesTestCtrl->IsChecked();
Close();
}
/*!
* wxEVT_CLOSE_WINDOW event handler for ID_DIALOG
*/
void WinEDA_DrcFrame::OnCloseWindow( wxCloseEvent& event )
{
s_Pad2PadTestOpt = m_Pad2PadTestCtrl->IsChecked();
s_UnconnectedTestOpt = m_UnconnectedTestCtrl->IsChecked();
s_ZonesTestOpt = m_ZonesTestCtrl->IsChecked();
event.Skip();
}
......@@ -23,6 +23,7 @@
*/
////@begin includes
#include "wx/valgen.h"
////@end includes
/*!
......@@ -39,17 +40,20 @@ class wxBoxSizer;
////@begin control identifiers
#define ID_DIALOG 10000
#define SYMBOL_WINEDA_DRCFRAME_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
#define SYMBOL_WINEDA_DRCFRAME_TITLE _("DRC Control")
#define SYMBOL_WINEDA_DRCFRAME_IDNAME ID_DIALOG
#define SYMBOL_WINEDA_DRCFRAME_SIZE wxSize(400, 300)
#define SYMBOL_WINEDA_DRCFRAME_POSITION wxDefaultPosition
#define ID_TEXTCTRL1 10002
#define ID_CHECKBOX_PAD2PAD 10009
#define ID_CHECKBOX 10008
#define ID_CHECKBOX_TEST_ZONES 10007
#define ID_DRC_RUN 10003
#define ID_STOP_CONTROL_DRC 10004
#define ID_ERASE_DRC_MARKERS 10005
#define ID_LIST_UNCONNECTED_PADS 10006
#define ID_TEXTCTRL 10001
#define SYMBOL_WINEDA_DRCFRAME_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
#define SYMBOL_WINEDA_DRCFRAME_TITLE _("DRC Control")
#define SYMBOL_WINEDA_DRCFRAME_IDNAME ID_DIALOG
#define SYMBOL_WINEDA_DRCFRAME_SIZE wxSize(400, 300)
#define SYMBOL_WINEDA_DRCFRAME_POSITION wxDefaultPosition
////@end control identifiers
/*!
......@@ -83,6 +87,9 @@ public:
////@begin WinEDA_DrcFrame event handler declarations
/// wxEVT_CLOSE_WINDOW event handler for ID_DIALOG
void OnCloseWindow( wxCloseEvent& event );
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_DRC_RUN
void OnDrcRunClick( wxCommandEvent& event );
......@@ -121,6 +128,9 @@ public:
wxBoxSizer* m_CommandSizer;
wxStaticText* m_ClearenceTitle;
wxTextCtrl* m_SetClearance;
wxCheckBox* m_Pad2PadTestCtrl;
wxCheckBox* m_UnconnectedTestCtrl;
wxCheckBox* m_ZonesTestCtrl;
wxTextCtrl* m_logWindow;
////@end WinEDA_DrcFrame member variables
WinEDA_PcbFrame * m_Parent;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -90,7 +90,7 @@ wxClientDC dc(m_Parent->DrawPanel);
if ( m_DelMarkers->GetValue() )
{
m_Parent->Erase_Marqueurs(&dc, FALSE);
m_Parent->Erase_Marqueurs();
redraw = TRUE;
}
......@@ -335,18 +335,18 @@ EDA_BaseStruct * PtStruct, *PtNext;
}
/************************************************************/
void WinEDA_PcbFrame::Erase_Marqueurs(wxDC * DC, bool query)
/************************************************************/
/*******************************************/
void WinEDA_PcbFrame::Erase_Marqueurs(void)
/*******************************************/
{
EDA_BaseStruct * PtStruct, *PtNext;
PtStruct = m_Pcb->m_Drawings;
for( ; PtStruct != NULL; PtStruct = PtNext)
{
{
PtNext = PtStruct->Pnext;
if(PtStruct->m_StructType == TYPEMARQUEUR ) DeleteStructure(PtStruct);
}
}
GetScreen()->SetModify();
}
......
......@@ -70,6 +70,7 @@ int net_number;
Compile_Ratsnest(DC, TRUE);
m_Pcb->ComputeBoundaryBox();
g_GridRoutingSize = GetScreen()->GetGrid().x;
// Sortie de la dimension hors tout du pcb (dimensions + marge + g_GridRoutingSize)
#define B_MARGE 1000 // en 1/10000 inch
......
This diff is collapsed.
This diff is collapsed.
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