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