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

Overlay panel for via style constraints showing via diameter and hole size fields positioned over a diagram. More...

#include <drc_re_via_style_overlay_panel.h>

Inheritance diagram for DRC_RE_VIA_STYLE_OVERLAY_PANEL:
DRC_RE_BITMAP_OVERLAY_PANEL DRC_RULE_EDITOR_CONTENT_PANEL_BASE

Public Member Functions

 DRC_RE_VIA_STYLE_OVERLAY_PANEL (wxWindow *aParent, DRC_RE_VIA_STYLE_CONSTRAINT_DATA *aData, EDA_UNITS aUnits)
 
 ~DRC_RE_VIA_STYLE_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_VIA_STYLE_CONSTRAINT_DATAm_data
 
UNITS_PROVIDER m_unitsProvider
 
wxChoice * m_viaTypeChoice
 
wxStaticText * m_viaTypeLabel
 
std::unique_ptr< UNIT_BINDERm_minViaDiameterBinder
 
std::unique_ptr< UNIT_BINDERm_maxViaDiameterBinder
 
std::unique_ptr< UNIT_BINDERm_minViaHoleSizeBinder
 
std::unique_ptr< UNIT_BINDERm_maxViaHoleSizeBinder
 

Detailed Description

Overlay panel for via style constraints showing via diameter and hole size fields positioned over a diagram.

Definition at line 44 of file drc_re_via_style_overlay_panel.h.

Constructor & Destructor Documentation

◆ DRC_RE_VIA_STYLE_OVERLAY_PANEL()

◆ ~DRC_RE_VIA_STYLE_OVERLAY_PANEL()

DRC_RE_VIA_STYLE_OVERLAY_PANEL::~DRC_RE_VIA_STYLE_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_VIA_STYLE_OVERLAY_PANEL::GenerateRule ( const RULE_GENERATION_CONTEXT & aContext)
overridevirtual

Implements DRC_RULE_EDITOR_CONTENT_PANEL_BASE.

Definition at line 251 of file drc_re_via_style_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_VIA_STYLE_OVERLAY_PANEL::TransferDataFromWindow ( )
overridevirtual

◆ TransferDataToWindow()

bool DRC_RE_VIA_STYLE_OVERLAY_PANEL::TransferDataToWindow ( )
overridevirtual

◆ ValidateInputs()

bool DRC_RE_VIA_STYLE_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_maxViaDiameterBinder

std::unique_ptr<UNIT_BINDER> DRC_RE_VIA_STYLE_OVERLAY_PANEL::m_maxViaDiameterBinder
private

◆ m_maxViaHoleSizeBinder

std::unique_ptr<UNIT_BINDER> DRC_RE_VIA_STYLE_OVERLAY_PANEL::m_maxViaHoleSizeBinder
private

◆ m_minViaDiameterBinder

std::unique_ptr<UNIT_BINDER> DRC_RE_VIA_STYLE_OVERLAY_PANEL::m_minViaDiameterBinder
private

◆ m_minViaHoleSizeBinder

std::unique_ptr<UNIT_BINDER> DRC_RE_VIA_STYLE_OVERLAY_PANEL::m_minViaHoleSizeBinder
private

◆ m_unitsProvider

UNITS_PROVIDER DRC_RE_VIA_STYLE_OVERLAY_PANEL::m_unitsProvider
private

Definition at line 62 of file drc_re_via_style_overlay_panel.h.

Referenced by DRC_RE_VIA_STYLE_OVERLAY_PANEL().

◆ m_viaTypeChoice

wxChoice* DRC_RE_VIA_STYLE_OVERLAY_PANEL::m_viaTypeChoice
private

◆ m_viaTypeLabel

wxStaticText* DRC_RE_VIA_STYLE_OVERLAY_PANEL::m_viaTypeLabel
private

Definition at line 65 of file drc_re_via_style_overlay_panel.h.

Referenced by DRC_RE_VIA_STYLE_OVERLAY_PANEL().


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