KiCad PCB EDA Suite
Loading...
Searching...
No Matches
DRC_RE_CUSTOM_RULE_PANEL Class Reference

Simple panel used for editing custom rule text. More...

#include <drc_re_custom_rule_panel.h>

Inheritance diagram for DRC_RE_CUSTOM_RULE_PANEL:
DRC_RULE_EDITOR_CONTENT_PANEL_BASE

Public Member Functions

 DRC_RE_CUSTOM_RULE_PANEL (wxWindow *aParent, std::shared_ptr< DRC_RE_CUSTOM_RULE_CONSTRAINT_DATA > aConstraintData)
 
 ~DRC_RE_CUSTOM_RULE_PANEL () override
 
bool TransferDataToWindow () override
 
bool TransferDataFromWindow () override
 
bool ValidateInputs (int *aErrorCount, wxString *aValidationMessage) override
 
wxString GenerateRule (const RULE_GENERATION_CONTEXT &aContext) override
 

Protected Member Functions

wxString buildRule (const RULE_GENERATION_CONTEXT &aContext, const std::vector< wxString > &aConstraintClauses) const
 

Static Protected Member Functions

static wxString sanitizeRuleName (const wxString &aRuleName)
 
static wxString escapeCondition (const wxString &aCondition)
 
static wxString trimTrailingZeros (const wxString &aValue)
 
static wxString formatDouble (double aValue, int aPrecision=6)
 

Private Member Functions

void onScintillaCharAdded (wxStyledTextEvent &aEvent)
 
void onCheckSyntax (wxCommandEvent &aEvent)
 

Private Attributes

std::shared_ptr< DRC_RE_CUSTOM_RULE_CONSTRAINT_DATAm_constraintData
 
wxStyledTextCtrl * m_textCtrl
 
wxButton * m_checkSyntaxBtn
 
wxTipWindow * m_tipWindow = nullptr
 
std::unique_ptr< SCINTILLA_TRICKSm_scintillaTricks
 

Detailed Description

Simple panel used for editing custom rule text.

The panel consists of a single wxStyledTextCtrl allowing free-form rule entry.

Definition at line 43 of file drc_re_custom_rule_panel.h.

Constructor & Destructor Documentation

◆ DRC_RE_CUSTOM_RULE_PANEL()

DRC_RE_CUSTOM_RULE_PANEL::DRC_RE_CUSTOM_RULE_PANEL ( wxWindow * aParent,
std::shared_ptr< DRC_RE_CUSTOM_RULE_CONSTRAINT_DATA > aConstraintData )

◆ ~DRC_RE_CUSTOM_RULE_PANEL()

DRC_RE_CUSTOM_RULE_PANEL::~DRC_RE_CUSTOM_RULE_PANEL ( )
override

Definition at line 74 of file drc_re_custom_rule_panel.cpp.

Member Function Documentation

◆ buildRule()

wxString DRC_RULE_EDITOR_CONTENT_PANEL_BASE::buildRule ( const RULE_GENERATION_CONTEXT & aContext,
const std::vector< wxString > & aConstraintClauses ) const
inlineprotectedinherited

◆ escapeCondition()

static wxString DRC_RULE_EDITOR_CONTENT_PANEL_BASE::escapeCondition ( const wxString & aCondition)
inlinestaticprotectedinherited

Definition at line 94 of file drc_re_content_panel_base.h.

References CTX_QUOTED_STR, and EscapeString().

Referenced by buildRule().

◆ formatDouble()

static wxString DRC_RULE_EDITOR_CONTENT_PANEL_BASE::formatDouble ( double aValue,
int aPrecision = 6 )
inlinestaticprotectedinherited

Definition at line 115 of file drc_re_content_panel_base.h.

References trimTrailingZeros().

◆ GenerateRule()

wxString DRC_RE_CUSTOM_RULE_PANEL::GenerateRule ( const RULE_GENERATION_CONTEXT & aContext)
overridevirtual

Implements DRC_RULE_EDITOR_CONTENT_PANEL_BASE.

Definition at line 105 of file drc_re_custom_rule_panel.cpp.

References m_constraintData, and m_textCtrl.

◆ onCheckSyntax()

◆ onScintillaCharAdded()

void DRC_RE_CUSTOM_RULE_PANEL::onScintillaCharAdded ( wxStyledTextEvent & aEvent)
private

Definition at line 119 of file drc_re_custom_rule_panel.cpp.

References m_scintillaTricks, m_textCtrl, NONE, and STRING.

Referenced by DRC_RE_CUSTOM_RULE_PANEL().

◆ sanitizeRuleName()

static wxString DRC_RULE_EDITOR_CONTENT_PANEL_BASE::sanitizeRuleName ( const wxString & aRuleName)
inlinestaticprotectedinherited

Definition at line 63 of file drc_re_content_panel_base.h.

References result.

Referenced by buildRule().

◆ TransferDataFromWindow()

bool DRC_RE_CUSTOM_RULE_PANEL::TransferDataFromWindow ( )
overridevirtual

Implements DRC_RULE_EDITOR_CONTENT_PANEL_BASE.

Definition at line 88 of file drc_re_custom_rule_panel.cpp.

References m_constraintData, and m_textCtrl.

◆ TransferDataToWindow()

bool DRC_RE_CUSTOM_RULE_PANEL::TransferDataToWindow ( )
overridevirtual

Implements DRC_RULE_EDITOR_CONTENT_PANEL_BASE.

Definition at line 79 of file drc_re_custom_rule_panel.cpp.

References m_constraintData, and m_textCtrl.

◆ trimTrailingZeros()

static wxString DRC_RULE_EDITOR_CONTENT_PANEL_BASE::trimTrailingZeros ( const wxString & aValue)
inlinestaticprotectedinherited

Definition at line 99 of file drc_re_content_panel_base.h.

References result.

Referenced by formatDouble().

◆ ValidateInputs()

bool DRC_RE_CUSTOM_RULE_PANEL::ValidateInputs ( int * aErrorCount,
wxString * aValidationMessage )
overridevirtual

Implements DRC_RULE_EDITOR_CONTENT_PANEL_BASE.

Definition at line 97 of file drc_re_custom_rule_panel.cpp.

Member Data Documentation

◆ m_checkSyntaxBtn

wxButton* DRC_RE_CUSTOM_RULE_PANEL::m_checkSyntaxBtn
private

Definition at line 61 of file drc_re_custom_rule_panel.h.

Referenced by DRC_RE_CUSTOM_RULE_PANEL().

◆ m_constraintData

std::shared_ptr<DRC_RE_CUSTOM_RULE_CONSTRAINT_DATA> DRC_RE_CUSTOM_RULE_PANEL::m_constraintData
private

◆ m_scintillaTricks

std::unique_ptr<SCINTILLA_TRICKS> DRC_RE_CUSTOM_RULE_PANEL::m_scintillaTricks
private

Definition at line 69 of file drc_re_custom_rule_panel.h.

Referenced by DRC_RE_CUSTOM_RULE_PANEL(), and onScintillaCharAdded().

◆ m_textCtrl

wxStyledTextCtrl* DRC_RE_CUSTOM_RULE_PANEL::m_textCtrl
private

◆ m_tipWindow

wxTipWindow* DRC_RE_CUSTOM_RULE_PANEL::m_tipWindow = nullptr
private

Definition at line 66 of file drc_re_custom_rule_panel.h.

Referenced by onCheckSyntax().


The documentation for this class was generated from the following files: