30 std::shared_ptr<DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA> aConstraintData ) :
35 wxALL | wxEXPAND, 10 );
90 std::string* aValidationMessage )
97 *aErrorCount =
result.errors.size();
99 for(
size_t i = 0; i <
result.errors.size(); i++ )
112 return wxEmptyString;
114 auto formatDistance = [&](
double aValue )
119 wxString widthClause = wxString::Format(
120 wxS(
"(constraint track_width (min %s) (opt %s) (max %s))" ),
125 wxString gapClause = wxString::Format(
126 wxS(
"(constraint diff_pair_gap (min %s) (opt %s) (max %s))" ),
131 wxString uncoupledClause = wxString::Format(
132 wxS(
"(constraint diff_pair_uncoupled (max %s))" ),
135 wxLogTrace( wxS(
"KI_TRACE_DRC_RULE_EDITOR" ), wxS(
"Diff pair clauses: %s | %s | %s" ),
136 widthClause, gapClause, uncoupledClause );
138 return buildRule( aContext, { widthClause, gapClause, uncoupledClause } );
@ constraint_routing_diff_pair
DRC_RE_ROUTING_DIFF_PAIR_PANEL_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
wxTextCtrl * m_minWidthTextCtrl
wxTextCtrl * m_maxGapTextCtrl
wxTextCtrl * m_preferredWidthTextCtrl
wxTextCtrl * m_minGapTextCtrl
wxTextCtrl * m_preferredGapTextCtrl
wxTextCtrl * m_maxWidthTextCtrl
wxTextCtrl * m_maxUncoupledLengthTextCtrl
wxBoxSizer * bConstraintImageSizer
std::shared_ptr< DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA > m_constraintData
~DRC_RE_ROUTING_DIFF_PAIR_PANEL() override
bool TransferDataFromWindow() override
bool TransferDataToWindow() override
bool ValidateInputs(int *aErrorCount, std::string *aValidationMessage) override
DRC_RE_ROUTING_DIFF_PAIR_PANEL(wxWindow *aParent, wxString *aConstraintTitle, std::shared_ptr< DRC_RE_ROUTING_DIFF_PAIR_CONSTRAINT_DATA > aConstraintData)
wxString GenerateRule(const RULE_GENERATION_CONTEXT &aContext) override
wxString buildRule(const RULE_GENERATION_CONTEXT &aContext, const std::vector< wxString > &aConstraintClauses) const
static wxString formatDouble(double aValue, int aPrecision=6)
wxStaticBitmap * GetConstraintImage(wxPanel *aParent, BITMAPS aBitMap)
static std::string FormatErrorMessage(const int &aErrorCount, const std::string aErrorMessage)
Result of a validation operation.
wxString result
Test unit parsing edge cases and error handling.