KiCad PCB EDA Suite
Loading...
Searching...
No Matches
match_properties.cpp File Reference
#include <tools/match_properties.h>
#include <board.h>
#include <eda_item.h>
#include <footprint.h>
#include <i18n_utility.h>
#include <pad.h>
#include <pcb_barcode.h>
#include <pcb_dimension.h>
#include <pcb_reference_image.h>
#include <pcb_shape.h>
#include <pcb_table.h>
#include <pcb_tablecell.h>
#include <pcb_target.h>
#include <pcb_text.h>
#include <pcb_textbox.h>
#include <pcb_track.h>
#include <properties/property.h>
#include <properties/property_mgr.h>
#include <properties/wx_any_utils.h>
#include <zone.h>
#include <map>

Go to the source code of this file.

Classes

struct  FAMILY
 
struct  COMMON_PROPERTY
 A property that means the same thing in more than one family. More...
 
struct  PENDING_PROPERTY
 One value staged for the target. Optional entries are dropped if they will not go. More...
 

Functions

static const std::map< wxString, FAMILY > & families ()
 Keyed by the names Family() returns. Every family there must appear here.
 
static const std::map< wxString, COMMON_PROPERTY > & commonProperties ()
 Keyed by the name the settings use after the prefix.
 
static const std::map< wxString, std::map< wxString, wxString > > & commonReach ()
 The families a common property actually reaches, once the unregistered ones are dropped.
 
static wxString familyPrefix (const EDA_ITEM &aItem)
 Empty if the item has no family. Never matches a key.
 
static std::vector< PENDING_PROPERTYplan (const EDA_ITEM &aSource, const EDA_ITEM &aTarget, const std::set< wxString > &aEnabledKeys)
 Target properties to write, paired with values read off the source.
 

Variables

static const wxString COMMON_FAMILY = wxS( "common" )
 The prefix common keys carry in the enabled set, in place of a family.
 

Function Documentation

◆ commonProperties()

static const std::map< wxString, COMMON_PROPERTY > & commonProperties ( )
static

Keyed by the name the settings use after the prefix.

A family that does not offer the property is dropped when the catalog is built, so listing one here is only a claim.

Definition at line 95 of file match_properties.cpp.

References _HKI.

Referenced by MATCH_PROPERTIES_CATALOG::AllSafeKeys(), commonReach(), and MATCH_PROPERTIES_CATALOG::PropertyLabel().

◆ commonReach()

const std::map< wxString, std::map< wxString, wxString > > & commonReach ( )
static

◆ families()

◆ familyPrefix()

static wxString familyPrefix ( const EDA_ITEM & aItem)
static

Empty if the item has no family. Never matches a key.

Definition at line 202 of file match_properties.cpp.

References MATCH_PROPERTIES_CATALOG::Family().

Referenced by MATCH_PROPERTIES_CATALOG::AnyEnabledFor(), and plan().

◆ plan()

static std::vector< PENDING_PROPERTY > plan ( const EDA_ITEM & aSource,
const EDA_ITEM & aTarget,
const std::set< wxString > & aEnabledKeys )
static

Target properties to write, paired with values read off the source.

Definition at line 368 of file match_properties.cpp.

References COMMON_FAMILY, commonReach(), families(), MATCH_PROPERTIES_CATALOG::Family(), familyPrefix(), INSPECTABLE::Get(), PROPERTY_MANAGER::GetProperty(), PROPERTY_MANAGER::Instance(), PROPERTY_MANAGER::IsAvailableFor(), PROPERTY_BASE::IsCopyable(), PROPERTY_BASE::IsHiddenFromPropertiesManager(), PROPERTY_MANAGER::IsWriteableFor(), name, and TYPE_HASH.

Referenced by CONSTRAINT_EDIT_TOOL::AddPointConstraint(), BACK_ANNOTATE::applyChangelist(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), MATCH_PROPERTIES_CATALOG::Copy(), KIGIT_PCB_MERGE::Merge(), KICAD_DIFF::KICAD_MERGE_ENGINE::Plan(), PlanBackannotateUnitSwaps(), PCBNEW_JOBS_HANDLER::runFpLibMerge(), PCBNEW_JOBS_HANDLER::runPcbMerge(), EESCHEMA_JOBS_HANDLER::runSchMerge(), and EESCHEMA_JOBS_HANDLER::runSymLibMerge().

Variable Documentation

◆ COMMON_FAMILY

const wxString COMMON_FAMILY = wxS( "common" )
static