KiCad PCB EDA Suite
sch_text.cpp File Reference

Code for handling schematic texts (texts, labels, hlabels and global labels). More...

#include <sch_symbol.h>
#include <sch_edit_frame.h>
#include <plotters/plotter.h>
#include <widgets/msgpanel.h>
#include <gal/stroke_font.h>
#include <bitmaps.h>
#include <string_utils.h>
#include <sch_text.h>
#include <schematic.h>
#include <settings/color_settings.h>
#include <sch_painter.h>
#include <default_values.h>
#include <wx/debug.h>
#include <wx/log.h>
#include <dialogs/html_message_box.h>
#include <project/project_file.h>
#include <project/net_settings.h>
#include <core/mirror.h>
#include <trigo.h>
#include "sch_text_help_md.h"

Go to the source code of this file.

Functions

bool IncrementLabelMember (wxString &name, int aIncrement)
 
wxString getElectricalTypeLabel (PINSHEETLABEL_SHAPE aType)
 

Variables

static int TemplateIN_HN [] = { 6, 0, 0, -1, -1, -2, -1, -2, 1, -1, 1, 0, 0 }
 
static int TemplateIN_HI [] = { 6, 0, 0, 1, 1, 2, 1, 2, -1, 1, -1, 0, 0 }
 
static int TemplateIN_UP [] = { 6, 0, 0, 1, -1, 1, -2, -1, -2, -1, -1, 0, 0 }
 
static int TemplateIN_BOTTOM [] = { 6, 0, 0, 1, 1, 1, 2, -1, 2, -1, 1, 0, 0 }
 
static int TemplateOUT_HN [] = { 6, -2, 0, -1, 1, 0, 1, 0, -1, -1, -1, -2, 0 }
 
static int TemplateOUT_HI [] = { 6, 2, 0, 1, -1, 0, -1, 0, 1, 1, 1, 2, 0 }
 
static int TemplateOUT_UP [] = { 6, 0, -2, 1, -1, 1, 0, -1, 0, -1, -1, 0, -2 }
 
static int TemplateOUT_BOTTOM [] = { 6, 0, 2, 1, 1, 1, 0, -1, 0, -1, 1, 0, 2 }
 
static int TemplateUNSPC_HN [] = { 5, 0, -1, -2, -1, -2, 1, 0, 1, 0, -1 }
 
static int TemplateUNSPC_HI [] = { 5, 0, -1, 2, -1, 2, 1, 0, 1, 0, -1 }
 
static int TemplateUNSPC_UP [] = { 5, 1, 0, 1, -2, -1, -2, -1, 0, 1, 0 }
 
static int TemplateUNSPC_BOTTOM [] = { 5, 1, 0, 1, 2, -1, 2, -1, 0, 1, 0 }
 
static int TemplateBIDI_HN [] = { 5, 0, 0, -1, -1, -2, 0, -1, 1, 0, 0 }
 
static int TemplateBIDI_HI [] = { 5, 0, 0, 1, -1, 2, 0, 1, 1, 0, 0 }
 
static int TemplateBIDI_UP [] = { 5, 0, 0, -1, -1, 0, -2, 1, -1, 0, 0 }
 
static int TemplateBIDI_BOTTOM [] = { 5, 0, 0, -1, 1, 0, 2, 1, 1, 0, 0 }
 
static int Template3STATE_HN [] = { 5, 0, 0, -1, -1, -2, 0, -1, 1, 0, 0 }
 
static int Template3STATE_HI [] = { 5, 0, 0, 1, -1, 2, 0, 1, 1, 0, 0 }
 
static int Template3STATE_UP [] = { 5, 0, 0, -1, -1, 0, -2, 1, -1, 0, 0 }
 
static int Template3STATE_BOTTOM [] = { 5, 0, 0, -1, 1, 0, 2, 1, 1, 0, 0 }
 
static int * TemplateShape [5][4]
 

Detailed Description

Code for handling schematic texts (texts, labels, hlabels and global labels).

Definition in file sch_text.cpp.

Function Documentation

◆ getElectricalTypeLabel()

wxString getElectricalTypeLabel ( PINSHEETLABEL_SHAPE  aType)

Definition at line 571 of file sch_text.cpp.

572 {
573  switch( aType )
574  {
575  case PINSHEETLABEL_SHAPE::PS_INPUT: return _( "Input" );
576  case PINSHEETLABEL_SHAPE::PS_OUTPUT: return _( "Output" );
577  case PINSHEETLABEL_SHAPE::PS_BIDI: return _( "Bidirectional" );
578  case PINSHEETLABEL_SHAPE::PS_TRISTATE: return _( "Tri-State" );
579  case PINSHEETLABEL_SHAPE::PS_UNSPECIFIED: return _( "Passive" );
580  default: return wxT( "???" );
581  }
582 }
#define _(s)

References _, PS_BIDI, PS_INPUT, PS_OUTPUT, PS_TRISTATE, and PS_UNSPECIFIED.

Referenced by SCH_TEXT::GetMsgPanelInfo(), and SCH_TEXT::GetShownText().

◆ IncrementLabelMember()

bool IncrementLabelMember ( wxString &  name,
int  aIncrement 
)

Definition at line 54 of file sch_text.cpp.

55 {
56  if( name.IsEmpty() )
57  return true;
58 
59  int ii = name.Len() - 1;
60 
61  // Ignore formatting constructs
62  if( name.GetChar( ii ) == '}' )
63  ii--;
64 
65  wxString digits;
66 
67  while( ii >= 0 && wxIsdigit( name.GetChar( ii ) ) )
68  {
69  digits = name.GetChar( ii ) + digits;
70  ii--;
71  }
72 
73  if( digits.IsEmpty() )
74  return true;
75 
76  long number = 0;
77 
78  if( digits.ToLong( &number ) )
79  {
80  number += aIncrement;
81 
82  // Don't let result go below zero
83 
84  if( number > -1 )
85  {
86  name.Remove( ii + 1 );
87  name << number;
88  return true;
89  }
90  }
91 
92  return false;
93 }
const char * name
Definition: DXF_plotter.cpp:56

References name.

Referenced by SCH_TEXT::IncrementLabel(), and SYMBOL_EDITOR_PIN_TOOL::RepeatPin().

Variable Documentation

◆ Template3STATE_BOTTOM

int Template3STATE_BOTTOM[] = { 5, 0, 0, -1, 1, 0, 2, 1, 1, 0, 0 }
static

Definition at line 124 of file sch_text.cpp.

◆ Template3STATE_HI

int Template3STATE_HI[] = { 5, 0, 0, 1, -1, 2, 0, 1, 1, 0, 0 }
static

Definition at line 122 of file sch_text.cpp.

◆ Template3STATE_HN

int Template3STATE_HN[] = { 5, 0, 0, -1, -1, -2, 0, -1, 1, 0, 0 }
static

Definition at line 121 of file sch_text.cpp.

◆ Template3STATE_UP

int Template3STATE_UP[] = { 5, 0, 0, -1, -1, 0, -2, 1, -1, 0, 0 }
static

Definition at line 123 of file sch_text.cpp.

◆ TemplateBIDI_BOTTOM

int TemplateBIDI_BOTTOM[] = { 5, 0, 0, -1, 1, 0, 2, 1, 1, 0, 0 }
static

Definition at line 119 of file sch_text.cpp.

◆ TemplateBIDI_HI

int TemplateBIDI_HI[] = { 5, 0, 0, 1, -1, 2, 0, 1, 1, 0, 0 }
static

Definition at line 117 of file sch_text.cpp.

◆ TemplateBIDI_HN

int TemplateBIDI_HN[] = { 5, 0, 0, -1, -1, -2, 0, -1, 1, 0, 0 }
static

Definition at line 116 of file sch_text.cpp.

◆ TemplateBIDI_UP

int TemplateBIDI_UP[] = { 5, 0, 0, -1, -1, 0, -2, 1, -1, 0, 0 }
static

Definition at line 118 of file sch_text.cpp.

◆ TemplateIN_BOTTOM

int TemplateIN_BOTTOM[] = { 6, 0, 0, 1, 1, 1, 2, -1, 2, -1, 1, 0, 0 }
static

Definition at line 104 of file sch_text.cpp.

◆ TemplateIN_HI

int TemplateIN_HI[] = { 6, 0, 0, 1, 1, 2, 1, 2, -1, 1, -1, 0, 0 }
static

Definition at line 102 of file sch_text.cpp.

◆ TemplateIN_HN

int TemplateIN_HN[] = { 6, 0, 0, -1, -1, -2, -1, -2, 1, -1, 1, 0, 0 }
static

Definition at line 101 of file sch_text.cpp.

◆ TemplateIN_UP

int TemplateIN_UP[] = { 6, 0, 0, 1, -1, 1, -2, -1, -2, -1, -1, 0, 0 }
static

Definition at line 103 of file sch_text.cpp.

◆ TemplateOUT_BOTTOM

int TemplateOUT_BOTTOM[] = { 6, 0, 2, 1, 1, 1, 0, -1, 0, -1, 1, 0, 2 }
static

Definition at line 109 of file sch_text.cpp.

◆ TemplateOUT_HI

int TemplateOUT_HI[] = { 6, 2, 0, 1, -1, 0, -1, 0, 1, 1, 1, 2, 0 }
static

Definition at line 107 of file sch_text.cpp.

◆ TemplateOUT_HN

int TemplateOUT_HN[] = { 6, -2, 0, -1, 1, 0, 1, 0, -1, -1, -1, -2, 0 }
static

Definition at line 106 of file sch_text.cpp.

◆ TemplateOUT_UP

int TemplateOUT_UP[] = { 6, 0, -2, 1, -1, 1, 0, -1, 0, -1, -1, 0, -2 }
static

Definition at line 108 of file sch_text.cpp.

◆ TemplateShape

int* TemplateShape[5][4]
static
Initial value:
=
{
}
static int Template3STATE_HN[]
Definition: sch_text.cpp:121
static int TemplateUNSPC_HN[]
Definition: sch_text.cpp:111
static int Template3STATE_HI[]
Definition: sch_text.cpp:122
static int TemplateUNSPC_HI[]
Definition: sch_text.cpp:112
static int TemplateOUT_UP[]
Definition: sch_text.cpp:108
static int TemplateOUT_HN[]
Definition: sch_text.cpp:106
static int TemplateUNSPC_UP[]
Definition: sch_text.cpp:113
static int TemplateIN_UP[]
Definition: sch_text.cpp:103
static int TemplateOUT_HI[]
Definition: sch_text.cpp:107
static int TemplateBIDI_HI[]
Definition: sch_text.cpp:117
static int Template3STATE_BOTTOM[]
Definition: sch_text.cpp:124
static int TemplateIN_BOTTOM[]
Definition: sch_text.cpp:104
static int TemplateOUT_BOTTOM[]
Definition: sch_text.cpp:109
static int TemplateIN_HI[]
Definition: sch_text.cpp:102
static int Template3STATE_UP[]
Definition: sch_text.cpp:123
static int TemplateBIDI_HN[]
Definition: sch_text.cpp:116
static int TemplateBIDI_BOTTOM[]
Definition: sch_text.cpp:119
static int TemplateBIDI_UP[]
Definition: sch_text.cpp:118
static int TemplateUNSPC_BOTTOM[]
Definition: sch_text.cpp:114
static int TemplateIN_HN[]
Definition: sch_text.cpp:101

Definition at line 126 of file sch_text.cpp.

Referenced by SCH_HIERLABEL::CreateGraphicShape().

◆ TemplateUNSPC_BOTTOM

int TemplateUNSPC_BOTTOM[] = { 5, 1, 0, 1, 2, -1, 2, -1, 0, 1, 0 }
static

Definition at line 114 of file sch_text.cpp.

◆ TemplateUNSPC_HI

int TemplateUNSPC_HI[] = { 5, 0, -1, 2, -1, 2, 1, 0, 1, 0, -1 }
static

Definition at line 112 of file sch_text.cpp.

◆ TemplateUNSPC_HN

int TemplateUNSPC_HN[] = { 5, 0, -1, -2, -1, -2, 1, 0, 1, 0, -1 }
static

Definition at line 111 of file sch_text.cpp.

◆ TemplateUNSPC_UP

int TemplateUNSPC_UP[] = { 5, 1, 0, 1, -2, -1, -2, -1, 0, 1, 0 }
static

Definition at line 113 of file sch_text.cpp.