KiCad PCB EDA Suite
sch_component.cpp File Reference
#include <sch_edit_frame.h>
#include <widgets/msgpanel.h>
#include <bitmaps.h>
#include <core/mirror.h>
#include <lib_rectangle.h>
#include <lib_pin.h>
#include <lib_text.h>
#include <sch_component.h>
#include <sch_sheet_path.h>
#include <schematic.h>
#include <trace_helpers.h>
#include <trigo.h>

Go to the source code of this file.

Functions

std::string toUTFTildaText (const wxString &txt)
 Convert a wxString to UTF8 and replace any control characters with a ~, where a control character is one of the first ASCII values up to ' ' 32d. More...
 
static LIB_PARTdummy ()
 Used to draw a dummy shape when a LIB_PART is not found in library. More...
 

Function Documentation

◆ dummy()

static LIB_PART* dummy ( )
static

Used to draw a dummy shape when a LIB_PART is not found in library.

This component is a 400 mils square with the text ?? DEF DUMMY U 0 40 Y Y 1 0 N F0 "U" 0 -350 60 H V F1 "DUMMY" 0 350 60 H V DRAW T 0 0 0 150 0 0 0 ?? S -200 200 200 -200 0 1 0 ENDDRAW ENDDEF

Definition at line 69 of file sch_component.cpp.

70 {
71  static LIB_PART* part;
72 
73  if( !part )
74  {
75  part = new LIB_PART( wxEmptyString );
76 
77  LIB_RECTANGLE* square = new LIB_RECTANGLE( part );
78 
79  square->MoveTo( wxPoint( Mils2iu( -200 ), Mils2iu( 200 ) ) );
80  square->SetEndPosition( wxPoint( Mils2iu( 200 ), Mils2iu( -200 ) ) );
81 
82  LIB_TEXT* text = new LIB_TEXT( part );
83 
84  text->SetTextSize( wxSize( Mils2iu( 150 ), Mils2iu( 150 ) ) );
85  text->SetText( wxString( wxT( "??" ) ) );
86 
87  part->AddDrawItem( square );
88  part->AddDrawItem( text );
89  }
90 
91  return part;
92 }
Define a symbol library graphical text item.
Definition: lib_text.h:40
void SetTextSize(const wxSize &aNewSize)
Definition: eda_text.h:244
void AddDrawItem(LIB_ITEM *aItem)
Add a new draw aItem to the draw object list.
virtual void SetText(const wxString &aText)
Definition: eda_text.cpp:121
Define a library symbol object.
double square(double x)

References LIB_PART::AddDrawItem(), EDA_TEXT::SetText(), EDA_TEXT::SetTextSize(), and square().

Referenced by SCH_EDITOR_CONTROL::Annotate(), APPEARANCE_CONTROLS::ApplyLayerPreset(), GERBER_WRITER::createDrillFile(), EXCELLON_WRITER::createDrillFile(), BOARD_ADAPTER::createPadWithClearance(), ROUTER_TOOL::CustomTrackWidthDialog(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), SCH_EDIT_FRAME::DisplayCurrentSheet(), PL_DRAW_PANEL_GAL::DisplayWorksheet(), COMMON_TOOLS::doZoomToPreset(), PNS_PCBNEW_RULE_RESOLVER::DpCoupledNet(), PNS::DRAGGER::dragWalkaround(), PCB_EDIT_FRAME::Edit_Zone_Params(), GERBER_FILE_IMAGE::ExecuteRS274XCommand(), SCH_EDIT_FRAME::FocusOnItem(), GENDRILL_WRITER_BASE::genDrillMapFile(), BOARD_EDITOR_CONTROL::GenerateFabFiles(), RENDER_3D_LEGACY::generateViasAndPads(), GERBVIEW_FRAME::GERBVIEW_FRAME(), SCH_COMPONENT::GetBodyBoundingBox(), WS_DRAW_ITEM_PAGE::GetBoundingBox(), FP_TREE_MODEL_ADAPTER::getFootprints(), FOOTPRINT::GetFpPadsLocalBbox(), SCHLIB_FILTER::GetLibSource(), SCH_COMPONENT::GetMsgPanelInfo(), NETINFO_ITEM::GetPosition(), X2_ATTRIBUTE::GetPrm(), DIALOG_DIELECTRIC_MATERIAL::GetSelectedSubstrate(), GRText(), highlightNet(), PCB_SHAPE::HitTest(), ZONE::HitTestForCorner(), ZONE::HitTestForEdge(), DIALOG_GENDRILL::InitDisplayParams(), SHAPE_LINE_CHAIN::Intersects(), DRC_ENGINE::IsNetADiffPair(), PCB_EDIT_FRAME::KiwayMailIn(), PCB_CONTROL::LayerAlphaDec(), PCB_CONTROL::LayerAlphaInc(), EXCELLON_IMAGE::LoadFile(), PCB_PICKER_TOOL::Main(), LENGTH_TUNER_TOOL::MainLoop(), EDIT_POINTS_FACTORY::Make(), DIALOG_SCH_FIND::OnCancel(), FOOTPRINT_VIEWER_FRAME::OnCharHook(), DIALOG_FOOTPRINT_CHECKER::OnClose(), DIALOG_DRC::OnClose(), PNS::SHOVE::onCollidingSolid(), DIALOG_EXPORT_STEP::onExportButton(), PCB_EDIT_FRAME::OnExportIDF3(), PCB_EDIT_FRAME::OnExportVRML(), DIALOG_LIB_SYMBOL_PROPERTIES::OnFilterDClick(), COMMON_TOOLS::OnGridChanged(), DIALOG_ERC::OnLinkClicked(), DIALOG_CHANGE_SYMBOLS::onOkButtonClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnOKClicked(), SIM_PLOT_FRAME::onPlotChanged(), SIM_PLOT_FRAME::onPlotClose(), PANEL_SELECTION_FILTER::onPopupSelection(), APPEARANCE_CONTROLS::onReadOnlySwatch(), EDA_DRAW_FRAME::OnSelectGrid(), PANEL_SETUP_BOARD_STACKUP::OnUpdateUI(), SCH_EDIT_FRAME::OpenProjectFiles(), PCB_EDIT_FRAME::OpenProjectFiles(), DIALOG_SPICE_MODEL::parsePowerSource(), PCB_CALCULATOR_FRAME::PCB_CALCULATOR_FRAME(), LENGTH_TUNER_TOOL::performTuning(), DIALOG_PLOT::Plot(), PlotStandardLayer(), SCH_COMPONENT::Print(), SCH_PRINTOUT::PrintPage(), PROJECT_TREE::PROJECT_TREE(), PANEL_SETUP_PINMAP::reBuildMatrixPanel(), GERBVIEW_FRAME::ReCreateAuxiliaryToolbar(), PCB_EDIT_FRAME::ReCreateAuxiliaryToolbar(), DIALOG_INSPECTOR::ReCreateDesignList(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), PCB_EDIT_FRAME::ReCreateHToolbar(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), EDA_3D_VIEWER::ReCreateMainToolbar(), PCB_EDIT_FRAME::ReCreateOptToolbar(), PCB_EDIT_FRAME::ReCreateVToolbar(), PCB_CONTROL::Redo(), SIM_PLOT_FRAME::removePlot(), SCHEMATIC::ResolveCrossReference(), PL_EDITOR_FRAME::ReturnCoordOriginCorner(), FOOTPRINT_EDIT_FRAME::SaveLibraryAs(), CLIPBOARD_IO::SaveSelection(), JSON_SETTINGS::SaveToFile(), FOOTPRINT_VIEWER_FRAME::selectNext(), FOOTPRINT_VIEWER_FRAME::selectPrev(), WS_DATA_ITEM_TEXT::SetConstrainedTextSize(), DIALOG_EDIT_COMPONENTS_LIBID::setLibIdByBrowser(), SYMBOL_EDITOR_CONTROL::ShowComponentTree(), SCH_EDITOR_CONTROL::ShowCvpcb(), SCH_EDITOR_CONTROL::ShowPcbNew(), SPICE_VALUE::SPICE_VALUE(), DIALOG_DIELECTRIC_MATERIAL::TransferDataFromWindow(), DIALOG_IMPORT_GFX::TransferDataFromWindow(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataFromWindow(), DIALOG_MIGRATE_SETTINGS::TransferDataToWindow(), DIALOG_DIELECTRIC_MATERIAL::TransferDataToWindow(), DIALOG_PRINT_PCBNEW::TransferDataToWindow(), PANEL_SETUP_RULES::TransferDataToWindow(), DIALOG_PAGES_SETTINGS::TransferDataToWindow(), FOOTPRINT::TransformPadsWithClearanceToPolygon(), PCB_CALCULATOR_FRAME::TW_Init(), PCB_CONTROL::Undo(), FP_TREE_SYNCHRONIZING_ADAPTER::updateLibrary(), SCH_EDITOR_CONTROL::UpdatePCB(), EE_POINT_EDITOR::updatePoints(), LIB_ID_VALIDATOR::Validate(), and GERBER_JOBFILE_WRITER::WriteJSONJobFile().

◆ toUTFTildaText()

std::string toUTFTildaText ( const wxString &  txt)

Convert a wxString to UTF8 and replace any control characters with a ~, where a control character is one of the first ASCII values up to ' ' 32d.

Definition at line 43 of file sch_component.cpp.

44 {
45  std::string ret = TO_UTF8( txt );
46 
47  for( std::string::iterator it = ret.begin(); it!=ret.end(); ++it )
48  {
49  if( (unsigned char) *it <= ' ' )
50  *it = '~';
51  }
52  return ret;
53 }
#define TO_UTF8(wxstring)
Convert a wxString to a UTF8 encoded C string for all wxWidgets build modes.
Definition: macros.h:96

References TO_UTF8.

Referenced by SCH_LEGACY_PLUGIN::saveComponent(), and SCH_SEXPR_PLUGIN::saveSymbol().