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 <plotter.h>
#include <widgets/msgpanel.h>
#include <gal/stroke_font.h>
#include <bitmaps.h>
#include <kicad_string.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 <dialogs/html_messagebox.h>
#include <project/project_file.h>
#include <project/net_settings.h>
#include <core/mirror.h>
#include <dialog_helpers.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 484 of file sch_text.cpp.

485 {
486  switch( aType )
487  {
488  case PINSHEETLABEL_SHAPE::PS_INPUT: return _( "Input" );
489  case PINSHEETLABEL_SHAPE::PS_OUTPUT: return _( "Output" );
490  case PINSHEETLABEL_SHAPE::PS_BIDI: return _( "Bidirectional" );
491  case PINSHEETLABEL_SHAPE::PS_TRISTATE: return _( "Tri-State" );
492  case PINSHEETLABEL_SHAPE::PS_UNSPECIFIED: return _( "Passive" );
493  default: return wxT( "???" );
494  }
495 }
#define _(s)
Definition: 3d_actions.cpp:33

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  int ii, nn;
57  long number = 0;
58 
59  ii = name.Len() - 1;
60  nn = 0;
61 
62  // No number found, but simply repeating the same label is valid
63 
64  if( !wxIsdigit( name.GetChar( ii ) ) )
65  return true;
66 
67  while( ii >= 0 && wxIsdigit( name.GetChar( ii ) ) )
68  {
69  ii--;
70  nn++;
71  }
72 
73  ii++; /* digits are starting at ii position */
74  wxString litt_number = name.Right( nn );
75 
76  if( litt_number.ToLong( &number ) )
77  {
78  number += aIncrement;
79 
80  // Don't let result go below zero
81 
82  if( number > -1 )
83  {
84  name.Remove( ii );
85  name << number;
86  return true;
87  }
88  }
89  return false;
90 }
const char * name
Definition: DXF_plotter.cpp:59

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 121 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 119 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 118 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 120 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 116 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 114 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 113 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 115 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 101 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 99 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 98 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 100 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 106 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 104 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 103 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 105 of file sch_text.cpp.

◆ TemplateShape

int* TemplateShape[5][4]
static
Initial value:
=
{
}
static int Template3STATE_HN[]
Definition: sch_text.cpp:118
static int TemplateUNSPC_HN[]
Definition: sch_text.cpp:108
static int Template3STATE_HI[]
Definition: sch_text.cpp:119
static int TemplateUNSPC_HI[]
Definition: sch_text.cpp:109
static int TemplateOUT_UP[]
Definition: sch_text.cpp:105
static int TemplateOUT_HN[]
Definition: sch_text.cpp:103
static int TemplateUNSPC_UP[]
Definition: sch_text.cpp:110
static int TemplateIN_UP[]
Definition: sch_text.cpp:100
static int TemplateOUT_HI[]
Definition: sch_text.cpp:104
static int TemplateBIDI_HI[]
Definition: sch_text.cpp:114
static int Template3STATE_BOTTOM[]
Definition: sch_text.cpp:121
static int TemplateIN_BOTTOM[]
Definition: sch_text.cpp:101
static int TemplateOUT_BOTTOM[]
Definition: sch_text.cpp:106
static int TemplateIN_HI[]
Definition: sch_text.cpp:99
static int Template3STATE_UP[]
Definition: sch_text.cpp:120
static int TemplateBIDI_HN[]
Definition: sch_text.cpp:113
static int TemplateBIDI_BOTTOM[]
Definition: sch_text.cpp:116
static int TemplateBIDI_UP[]
Definition: sch_text.cpp:115
static int TemplateUNSPC_BOTTOM[]
Definition: sch_text.cpp:111
static int TemplateIN_HN[]
Definition: sch_text.cpp:98

Definition at line 123 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 111 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 109 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 108 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 110 of file sch_text.cpp.