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

Overlay panel for routing width constraints showing min/preferred/max width fields positioned over a diagram. More...

#include <drc_re_routing_width_overlay_panel.h>

Inheritance diagram for DRC_RE_ROUTING_WIDTH_OVERLAY_PANEL:
DRC_RE_BITMAP_OVERLAY_PANEL DRC_RULE_EDITOR_CONTENT_PANEL_BASE

Public Member Functions

 DRC_RE_ROUTING_WIDTH_OVERLAY_PANEL (wxWindow *aParent, DRC_RE_ROUTING_WIDTH_CONSTRAINT_DATA *aData, EDA_UNITS aUnits)
 
 ~DRC_RE_ROUTING_WIDTH_OVERLAY_PANEL () override=default
 
bool TransferDataToWindow () override
 
bool TransferDataFromWindow () override
 
bool ValidateInputs (int *aErrorCount, wxString *aValidationMessage) override
 
wxString GenerateRule (const RULE_GENERATION_CONTEXT &aContext) override
 
void SetBackgroundBitmap (BITMAPS aBitmap)
 Set the background bitmap for this panel.
 
void ClearFieldErrors ()
 Clear error indicators from all fields.
 
void ShowFieldError (const wxString &aFieldId)
 Show an error indicator on the specified field.
 

Protected Member Functions

template<typename T>
DRC_RE_OVERLAY_FIELDAddField (const wxString &aId, const DRC_RE_FIELD_POSITION &aPosition, long aStyle=0)
 Create and position a field control on the bitmap overlay.
 
template<typename T>
DRC_RE_OVERLAY_FIELDAddFieldWithUnits (const wxString &aId, const DRC_RE_FIELD_POSITION &aPosition, UNIT_BINDER *aUnitBinder, long aStyle=0)
 Create and position a field control with unit binding.
 
DRC_RE_OVERLAY_FIELDAddCheckbox (const wxString &aId, const DRC_RE_FIELD_POSITION &aPosition)
 Create and position a checkbox control on the bitmap overlay.
 
void LoadBitmap ()
 Load the appropriate bitmap variant for the current theme and DPI.
 
void PositionFields ()
 Position all fields based on the current scale factor.
 
void SetupFieldStyling (wxControl *aControl)
 Apply transparent styling to a field control.
 

Protected Attributes

wxBitmap m_bitmap
 Current background bitmap.
 
BITMAPS m_bitmapId
 BITMAPS enum value.
 
wxSize m_baseBitmapSize
 Bitmap size at 1x scale.
 
std::vector< std::unique_ptr< DRC_RE_OVERLAY_FIELD > > m_fields
 All overlay fields.
 
std::map< wxString, DRC_RE_OVERLAY_FIELD * > m_fieldIdMap
 Field ID to field lookup.
 

Private Member Functions

void OnPaint (wxPaintEvent &aEvent)
 
void OnDPIChanged (wxDPIChangedEvent &aEvent)
 
void OnThemeChange (wxSysColourChangedEvent &aEvent)
 
void OnFieldFocus (wxFocusEvent &aEvent)
 
void OnFieldBlur (wxFocusEvent &aEvent)
 
void PositionLabel (DRC_RE_OVERLAY_FIELD *aField)
 Position a label relative to its field control based on the label position setting.
 

Private Attributes

DRC_RE_ROUTING_WIDTH_CONSTRAINT_DATAm_data
 
UNITS_PROVIDER m_unitsProvider
 
std::unique_ptr< UNIT_BINDERm_optWidthBinder
 
std::unique_ptr< UNIT_BINDERm_widthToleranceBinder
 

Detailed Description

Overlay panel for routing width constraints showing min/preferred/max width fields positioned over a diagram.

Definition at line 43 of file drc_re_routing_width_overlay_panel.h.

Constructor & Destructor Documentation

◆ DRC_RE_ROUTING_WIDTH_OVERLAY_PANEL()

◆ ~DRC_RE_ROUTING_WIDTH_OVERLAY_PANEL()

DRC_RE_ROUTING_WIDTH_OVERLAY_PANEL::~DRC_RE_ROUTING_WIDTH_OVERLAY_PANEL ( )
overridedefault

Member Function Documentation

◆ AddCheckbox()

DRC_RE_OVERLAY_FIELD * DRC_RE_BITMAP_OVERLAY_PANEL::AddCheckbox ( const wxString & aId,
const DRC_RE_FIELD_POSITION & aPosition )
protectedinherited

◆ AddField()

template<typename T>
DRC_RE_OVERLAY_FIELD * DRC_RE_BITMAP_OVERLAY_PANEL::AddField ( const wxString & aId,
const DRC_RE_FIELD_POSITION & aPosition,
long aStyle = 0 )
protectedinherited

◆ AddFieldWithUnits()

template<typename T>
DRC_RE_OVERLAY_FIELD * DRC_RE_BITMAP_OVERLAY_PANEL::AddFieldWithUnits ( const wxString & aId,
const DRC_RE_FIELD_POSITION & aPosition,
UNIT_BINDER * aUnitBinder,
long aStyle = 0 )
protectedinherited

Create and position a field control with unit binding.

Template Parameters
TThe wxWindow-derived control type to create.
Parameters
aIdString identifier for this field.
aPositionPosition specification in 1x bitmap coordinates.
aUnitBinderUNIT_BINDER to associate with this field for unit conversion.
aStyleWindow style flags passed to the control constructor
Returns
Pointer to the created field wrapper.

Definition at line 206 of file drc_re_bitmap_overlay_panel.h.

References AddField(), and DRC_RE_OVERLAY_FIELD::SetUnitBinder().

◆ ClearFieldErrors()

void DRC_RE_BITMAP_OVERLAY_PANEL::ClearFieldErrors ( )
inherited

Clear error indicators from all fields.

Definition at line 222 of file drc_re_bitmap_overlay_panel.cpp.

References m_fields.

Referenced by DRC_RE_NUMERIC_INPUT_OVERLAY_PANEL::ValidateInputs().

◆ GenerateRule()

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

Implements DRC_RULE_EDITOR_CONTENT_PANEL_BASE.

Definition at line 165 of file drc_re_routing_width_overlay_panel.cpp.

References m_data.

◆ LoadBitmap()

void DRC_RE_BITMAP_OVERLAY_PANEL::LoadBitmap ( )
protectedinherited

Load the appropriate bitmap variant for the current theme and DPI.

Definition at line 113 of file drc_re_bitmap_overlay_panel.cpp.

References INVALID_BITMAP, KiBitmapBundle(), m_baseBitmapSize, m_bitmap, m_bitmapId, and Refresh().

Referenced by OnDPIChanged(), OnThemeChange(), and SetBackgroundBitmap().

◆ OnDPIChanged()

void DRC_RE_BITMAP_OVERLAY_PANEL::OnDPIChanged ( wxDPIChangedEvent & aEvent)
privateinherited

Definition at line 70 of file drc_re_bitmap_overlay_panel.cpp.

References LoadBitmap(), PositionFields(), and Refresh().

Referenced by DRC_RE_BITMAP_OVERLAY_PANEL().

◆ OnFieldBlur()

void DRC_RE_BITMAP_OVERLAY_PANEL::OnFieldBlur ( wxFocusEvent & aEvent)
privateinherited

Definition at line 95 of file drc_re_bitmap_overlay_panel.cpp.

Referenced by SetupFieldStyling().

◆ OnFieldFocus()

void DRC_RE_BITMAP_OVERLAY_PANEL::OnFieldFocus ( wxFocusEvent & aEvent)
privateinherited

Definition at line 87 of file drc_re_bitmap_overlay_panel.cpp.

Referenced by SetupFieldStyling().

◆ OnPaint()

void DRC_RE_BITMAP_OVERLAY_PANEL::OnPaint ( wxPaintEvent & aEvent)
privateinherited

Definition at line 56 of file drc_re_bitmap_overlay_panel.cpp.

References m_bitmap.

Referenced by DRC_RE_BITMAP_OVERLAY_PANEL().

◆ OnThemeChange()

void DRC_RE_BITMAP_OVERLAY_PANEL::OnThemeChange ( wxSysColourChangedEvent & aEvent)
privateinherited

Definition at line 79 of file drc_re_bitmap_overlay_panel.cpp.

References LoadBitmap(), and Refresh().

Referenced by DRC_RE_BITMAP_OVERLAY_PANEL().

◆ PositionFields()

◆ PositionLabel()

void DRC_RE_BITMAP_OVERLAY_PANEL::PositionLabel ( DRC_RE_OVERLAY_FIELD * aField)
privateinherited

Position a label relative to its field control based on the label position setting.

Parameters
aFieldThe overlay field containing the label to position.

Definition at line 161 of file drc_re_bitmap_overlay_panel.cpp.

References BOTTOM, GAP, DRC_RE_OVERLAY_FIELD::GetControl(), DRC_RE_OVERLAY_FIELD::GetLabel(), DRC_RE_OVERLAY_FIELD::GetPosition(), DRC_RE_FIELD_POSITION::labelPosition, LEFT, NONE, RIGHT, and TOP.

Referenced by AddCheckbox(), AddField(), and PositionFields().

◆ SetBackgroundBitmap()

◆ SetupFieldStyling()

void DRC_RE_BITMAP_OVERLAY_PANEL::SetupFieldStyling ( wxControl * aControl)
protectedinherited

Apply transparent styling to a field control.

Parameters
aControlThe control to style.

Definition at line 102 of file drc_re_bitmap_overlay_panel.cpp.

References OnFieldBlur(), and OnFieldFocus().

Referenced by AddCheckbox(), and AddField().

◆ ShowFieldError()

void DRC_RE_BITMAP_OVERLAY_PANEL::ShowFieldError ( const wxString & aFieldId)
inherited

Show an error indicator on the specified field.

Parameters
aFieldIdThe string identifier of the field to highlight.

Definition at line 229 of file drc_re_bitmap_overlay_panel.cpp.

References m_fieldIdMap.

Referenced by DRC_RE_NUMERIC_INPUT_OVERLAY_PANEL::ValidateInputs().

◆ TransferDataFromWindow()

bool DRC_RE_ROUTING_WIDTH_OVERLAY_PANEL::TransferDataFromWindow ( )
overridevirtual

◆ TransferDataToWindow()

bool DRC_RE_ROUTING_WIDTH_OVERLAY_PANEL::TransferDataToWindow ( )
overridevirtual

◆ ValidateInputs()

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

Member Data Documentation

◆ m_baseBitmapSize

wxSize DRC_RE_BITMAP_OVERLAY_PANEL::m_baseBitmapSize
protectedinherited

Bitmap size at 1x scale.

Definition at line 163 of file drc_re_bitmap_overlay_panel.h.

Referenced by DRC_RE_BITMAP_OVERLAY_PANEL(), LoadBitmap(), and SetBackgroundBitmap().

◆ m_bitmap

wxBitmap DRC_RE_BITMAP_OVERLAY_PANEL::m_bitmap
protectedinherited

Current background bitmap.

Definition at line 161 of file drc_re_bitmap_overlay_panel.h.

Referenced by LoadBitmap(), OnPaint(), and SetBackgroundBitmap().

◆ m_bitmapId

BITMAPS DRC_RE_BITMAP_OVERLAY_PANEL::m_bitmapId
protectedinherited

BITMAPS enum value.

Definition at line 162 of file drc_re_bitmap_overlay_panel.h.

Referenced by DRC_RE_BITMAP_OVERLAY_PANEL(), LoadBitmap(), and SetBackgroundBitmap().

◆ m_data

◆ m_fieldIdMap

std::map<wxString, DRC_RE_OVERLAY_FIELD*> DRC_RE_BITMAP_OVERLAY_PANEL::m_fieldIdMap
protectedinherited

Field ID to field lookup.

Definition at line 165 of file drc_re_bitmap_overlay_panel.h.

Referenced by AddCheckbox(), AddField(), and ShowFieldError().

◆ m_fields

◆ m_optWidthBinder

std::unique_ptr<UNIT_BINDER> DRC_RE_ROUTING_WIDTH_OVERLAY_PANEL::m_optWidthBinder
private

◆ m_unitsProvider

UNITS_PROVIDER DRC_RE_ROUTING_WIDTH_OVERLAY_PANEL::m_unitsProvider
private

◆ m_widthToleranceBinder

std::unique_ptr<UNIT_BINDER> DRC_RE_ROUTING_WIDTH_OVERLAY_PANEL::m_widthToleranceBinder
private

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