KiCad PCB EDA Suite
sch_sheet.h
Go to the documentation of this file.
1 /*
2  * This program source code file is part of KiCad, a free EDA CAD application.
3  *
4  * Copyright (C) 2015 Jean-Pierre Charras, jp.charras at wanadoo.fr
5  * Copyright (C) 1992-2017 KiCad Developers, see AUTHORS.txt for contributors.
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, you may find one here:
19  * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
20  * or you may search the http://www.gnu.org website for the version 2 license,
21  * or you may write to the Free Software Foundation, Inc.,
22  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
23  */
24 
30 #ifndef SCH_SHEEET_H
31 #define SCH_SHEEET_H
32 
33 #include <boost/ptr_container/ptr_vector.hpp>
34 #include <sch_text.h>
35 
36 
37 class LINE_READER;
38 class SCH_SCREEN;
39 class SCH_SHEET;
40 class SCH_SHEET_PIN;
41 class SCH_SHEET_PATH;
42 class DANGLING_END_ITEM;
43 class SCH_EDIT_FRAME;
45 
46 
47 #define MIN_SHEET_WIDTH 500
48 #define MIN_SHEET_HEIGHT 150
49 
50 
62 {
63 public:
74  {
80  };
81 
82 private:
83  int m_number;
84 
89 
90 public:
91  SCH_SHEET_PIN( SCH_SHEET* parent,
92  const wxPoint& pos = wxPoint( 0, 0 ),
93  const wxString& text = wxEmptyString );
94 
95  // Do not create a copy constructor. The one generated by the compiler is adequate.
96 
98 
99  wxString GetClass() const override
100  {
101  return wxT( "SCH_SHEET_PIN" );
102  }
103 
104  bool operator ==( const SCH_SHEET_PIN* aPin ) const;
105 
112  bool IsMovableFromAnchorPoint() override { return true; }
113 
114  void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
115  GR_DRAWMODE aDrawMode, COLOR4D aColor = COLOR4D::UNSPECIFIED ) override;
116 
123  void CreateGraphicShape( std::vector <wxPoint>& aPoints, const wxPoint& aPos ) override;
124 
125  void SwapData( SCH_ITEM* aItem ) override;
126 
127  int GetPenSize() const override;
128 
134  int GetNumber() const { return m_number; }
135 
141  void SetNumber( int aNumber );
142 
143  void SetEdge( SHEET_SIDE aEdge );
144 
145  SHEET_SIDE GetEdge() const;
146 
151  void ConstrainOnEdge( wxPoint Pos );
152 
159  SCH_SHEET* GetParent() const { return (SCH_SHEET*) m_Parent; }
160 
161 #if defined(DEBUG)
162  void Show( int nestLevel, std::ostream& os ) const override;
163 #endif
164 
165  // Geometric transforms (used in block operations):
166 
167  void Move( const wxPoint& aMoveVector ) override
168  {
169  Offset( aMoveVector );
170  }
171 
172  void MirrorY( int aYaxis_position ) override;
173 
174  void Rotate( wxPoint aPosition ) override;
175 
176  void MirrorX( int aXaxis_position ) override;
177 
178  bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation ) override;
179 
180  bool Replace( wxFindReplaceData& aSearchData, void* aAuxData = NULL ) override
181  {
182  return EDA_ITEM::Replace( aSearchData, m_Text );
183  }
184 
185  bool IsReplaceable() const override { return true; }
186 
187  void GetEndPoints( std::vector< DANGLING_END_ITEM >& aItemList ) override;
188 
189  bool IsConnectable() const override { return true; }
190 
191  wxString GetSelectMenuText() const override;
192 
193  BITMAP_DEF GetMenuImage() const override;
194 
195  void SetPosition( const wxPoint& aPosition ) override { ConstrainOnEdge( aPosition ); }
196 
197  bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
198 
199  EDA_ITEM* Clone() const override;
200 };
201 
202 
203 typedef boost::ptr_vector<SCH_SHEET_PIN> SCH_SHEET_PINS;
204 
205 
209 class SCH_SHEET : public SCH_ITEM
210 {
211  friend class SCH_SHEET_PIN;
212 
216 
218  SCH_SHEET_PINS m_pins;
219 
222  wxString m_fileName;
223 
226  wxString m_name;
227 
230 
233 
236 
238  wxSize m_size;
239 
240 public:
241  SCH_SHEET( const wxPoint& pos = wxPoint( 0, 0 ) );
242 
247  SCH_SHEET( const SCH_SHEET& aSheet );
248 
249  ~SCH_SHEET();
250 
251  wxString GetClass() const override
252  {
253  return wxT( "SCH_SHEET" );
254  }
255 
265  bool IsMovableFromAnchorPoint() override { return false; }
266 
267  wxString GetName() const { return m_name; }
268 
269  void SetName( const wxString& aName ) { m_name = aName; }
270 
271  int GetSheetNameSize() const { return m_sheetNameSize; }
272 
273  void SetSheetNameSize( int aSize ) { m_sheetNameSize = aSize; }
274 
275  int GetFileNameSize() const { return m_fileNameSize; }
276 
277  void SetFileNameSize( int aSize ) { m_fileNameSize = aSize; }
278 
280 
281  wxSize GetSize() { return m_size; }
282 
283  void SetSize( const wxSize& aSize ) { m_size = aSize; }
284 
295 
307  void SetScreen( SCH_SCREEN* aScreen );
308 
314  int GetScreenCount() const;
315 
316  void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ) override;
317 
318  /* there is no member for orientation in sch_sheet, to preserve file
319  * format, we detect orientation based on pin edges
320  */
321  bool IsVerticalOrientation() const;
322 
332  void AddPin( SCH_SHEET_PIN* aSheetPin );
333 
334  SCH_SHEET_PINS& GetPins() { return m_pins; }
335 
336  SCH_SHEET_PINS& GetPins() const
337  {
338  return const_cast< SCH_SHEET_PINS& >( m_pins );
339  }
340 
346  void RemovePin( SCH_SHEET_PIN* aSheetPin );
347 
354  void CleanupSheet();
355 
363  SCH_SHEET_PIN* GetPin( const wxPoint& aPosition );
364 
372  bool HasPin( const wxString& aName );
373 
374  bool HasPins() { return !m_pins.empty(); }
375 
381  bool HasUndefinedPins();
382 
394  int GetMinWidth() const;
395 
406  int GetMinHeight() const;
407 
408  int GetPenSize() const override;
409 
410  void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
411  GR_DRAWMODE aDrawMode, COLOR4D aColor = COLOR4D::UNSPECIFIED ) override;
412 
413  EDA_RECT const GetBoundingBox() const override;
414 
420  wxPoint GetResizePosition() const;
421 
422  void SwapData( SCH_ITEM* aItem ) override;
423 
429  int ComponentCount();
430 
438  bool SearchHierarchy( const wxString& aFilename, SCH_SCREEN** aScreen );
439 
450  bool LocatePathOfScreen( SCH_SCREEN* aScreen, SCH_SHEET_PATH* aList );
451 
457  int CountSheets();
458 
464  wxString GetFileName( void ) const;
465 
466  // Set a new filename without changing anything else
467  void SetFileName( const wxString& aFilename )
468  {
469  m_fileName = aFilename;
470  // Filenames are stored using unix notation
471  m_fileName.Replace( wxT("\\"), wxT("/") );
472  }
473 
474  bool ChangeFileName( SCH_EDIT_FRAME* aFrame, const wxString& aFileName );
475 
476  // Geometric transforms (used in block operations):
477 
478  void Move( const wxPoint& aMoveVector ) override
479  {
480  m_pos += aMoveVector;
481 
482  for( SCH_SHEET_PIN& pin : m_pins )
483  {
484  pin.Move( aMoveVector );
485  }
486  }
487 
488  void MirrorY( int aYaxis_position ) override;
489 
490  void MirrorX( int aXaxis_position ) override;
491 
492  void Rotate( wxPoint aPosition ) override;
493 
494  bool Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation ) override;
495 
496  bool Replace( wxFindReplaceData& aSearchData, void* aAuxData = NULL ) override;
497 
498  bool IsReplaceable() const override { return true; }
499 
505  void Resize( const wxSize& aSize );
506 
511 
516 
517  void GetEndPoints( std::vector <DANGLING_END_ITEM>& aItemList ) override;
518 
519  bool IsDanglingStateChanged( std::vector< DANGLING_END_ITEM >& aItemList ) override;
520 
521  bool IsDangling() const override;
522 
523  bool IsSelectStateChanged( const wxRect& aRect ) override;
524 
525  bool IsConnectable() const override { return true; }
526 
527  void GetConnectionPoints( std::vector< wxPoint >& aPoints ) const override;
528 
529  SEARCH_RESULT Visit( INSPECTOR inspector, void* testData, const KICAD_T scanTypes[] ) override;
530 
531  wxString GetSelectMenuText() const override;
532 
533  BITMAP_DEF GetMenuImage() const override;
534 
535  void GetNetListItem( NETLIST_OBJECT_LIST& aNetListItems,
536  SCH_SHEET_PATH* aSheetPath ) override;
537 
538  SCH_ITEM& operator=( const SCH_ITEM& aSheet );
539 
540  wxPoint GetPosition() const override { return m_pos; }
541 
542  void SetPosition( const wxPoint& aPosition ) override;
543 
544  bool HitTest( const wxPoint& aPosition, int aAccuracy ) const override;
545 
546  bool HitTest( const EDA_RECT& aRect, bool aContained = false, int aAccuracy = 0 ) const override;
547 
548  void Plot( PLOTTER* aPlotter ) override;
549 
550  EDA_ITEM* Clone() const override;
551 
552 #if defined(DEBUG)
553  void Show( int nestLevel, std::ostream& os ) const override;
554 #endif
555 
556 protected:
557 
565  void renumberPins();
566 };
567 
568 
569 typedef std::vector< SCH_SHEET* > SCH_SHEETS; // no ownership over contained SCH_SHEETs
570 
571 #endif // SCH_SHEEET_H
bool HitTest(const wxPoint &aPosition, int aAccuracy) const override
Function HitTest tests if aPosition is contained within or on the bounding box of an item...
void Offset(const wxPoint &aOffset)
Definition: eda_text.h:229
SCH_ITEM & operator=(const SCH_ITEM &aSheet)
Definition: sch_sheet.cpp:1013
Class LINE_READER is an abstract class from which implementation specific LINE_READERs may be derived...
Definition: richio.h:81
EDA_ITEM * m_Parent
Linked list: Link (parent struct)
Definition: base_struct.h:182
void SetFileNameSize(int aSize)
Definition: sch_sheet.h:277
bool SearchHierarchy(const wxString &aFilename, SCH_SCREEN **aScreen)
Search the existing hierarchy for an instance of screen loaded from aFileName.
Definition: sch_sheet.cpp:562
SCH_SHEET_PIN * GetPin(const wxPoint &aPosition)
Return the sheet pin item found at aPosition in the sheet.
Definition: sch_sheet.cpp:370
SCH_SHEET * GetParent() const
Get the parent sheet object of this sheet pin.
Definition: sch_sheet.h:159
bool IsDangling() const override
Definition: sch_sheet.cpp:806
std::vector< SCH_SHEET * > SCH_SHEETS
Definition: sch_sheet.h:569
wxString m_Text
Definition: eda_text.h:346
BITMAP_DEF GetMenuImage() const override
Function GetMenuImage returns a pointer to an image to be used in menus.
SCH_SHEET_PINS & GetPins()
Definition: sch_sheet.h:334
PNG memory record (file in memory).
Definition: bitmap_types.h:38
EDA_ITEM * Clone() const override
Function Clone creates a duplicate of this item with linked list members set to NULL.
SCH_SHEET_PIN(SCH_SHEET *parent, const wxPoint &pos=wxPoint(0, 0), const wxString &text=wxEmptyString)
bool Replace(wxFindReplaceData &aSearchData, wxString &aText)
Helper function used in search and replace dialog Function Replace performs a text replace on aText u...
void SetFileName(const wxString &aFilename)
Definition: sch_sheet.h:467
void MirrorY(int aYaxis_position) override
Function MirrorY mirrors item relative to the Y axis about aYaxis_position.
void GetEndPoints(std::vector< DANGLING_END_ITEM > &aItemList) override
Function GetEndPoints adds the schematic item end points to aItemList if the item has end points...
Definition: sch_sheet.cpp:779
int CountSheets()
Count the number of sheets found in "this" sheet includeing all of the subsheets. ...
Definition: sch_sheet.cpp:624
int GetMinHeight() const
Return the minimum height that the sheet can be resized based on the sheet pin positions.
Definition: sch_sheet.cpp:300
bool ChangeFileName(SCH_EDIT_FRAME *aFrame, const wxString &aFileName)
int m_sheetNameSize
The height of the text used to draw the sheet name.
Definition: sch_sheet.h:229
void SetScreen(SCH_SCREEN *aScreen)
Set the SCH_SCREEN associated with this sheet to aScreen.
Definition: sch_sheet.cpp:103
wxPoint GetResizePosition() const
Return the position of the lower right corner of the sheet in drawing units.
Definition: sch_sheet.cpp:905
SHEET_SIDE GetEdge() const
bool IsDanglingStateChanged(std::vector< DANGLING_END_ITEM > &aItemList) override
Function IsDanglingStateChanged tests the schematic item to aItemList to check if it's dangling state...
Definition: sch_sheet.cpp:793
wxSize m_size
The size of the sheet.
Definition: sch_sheet.h:238
wxString GetClass() const override
Function GetClass returns the class name.
Definition: sch_sheet.h:99
wxString m_name
This is equivalent to the reference designator for components and is stored in F0 sheet pin in the sc...
Definition: sch_sheet.h:226
SCH_SHEET * GetRootSheet()
Return the root sheet of this SCH_SHEET object.
Definition: sch_sheet.cpp:135
int ComponentCount()
Count our own components, without the power components.
Definition: sch_sheet.cpp:532
bool IsConnectable() const override
Function IsConnectable returns true if the schematic item can connect to another schematic item...
Definition: sch_sheet.h:189
bool IsMovableFromAnchorPoint() override
Return true for items which are moved with the anchor point at mouse cursor and false for items moved...
Definition: sch_sheet.h:112
Schematic editor (Eeschema) main window.
Definition: schframe.h:118
bool IsReplaceable() const override
Function IsReplaceable.
Definition: sch_sheet.h:185
void GetMsgPanelInfo(std::vector< MSG_PANEL_ITEM > &aList) override
Function GetMsgPanelInfo populates aList of MSG_PANEL_ITEM objects with it's internal state for displ...
Definition: sch_sheet.cpp:651
bool Matches(wxFindReplaceData &aSearchData, void *aAuxData, wxPoint *aFindLocation) override
Function Matches compares the item against the search criteria in aSearchData.
Definition: sch_sheet.cpp:735
bool operator==(const SCH_SHEET_PIN *aPin) const
int GetPenSize() const override
Function GetPenSize virtual pure.
Definition: sch_sheet.cpp:382
void MirrorX(int aXaxis_position) override
Function MirrorX mirrors item relative to the X axis about aXaxis_position.
wxPoint m_pos
The position of the sheet.
Definition: sch_sheet.h:235
SCH_SCREEN * GetScreen()
Definition: sch_sheet.h:279
void AddPin(SCH_SHEET_PIN *aSheetPin)
Add aSheetPin to the sheet.
Definition: sch_sheet.cpp:176
void CreateGraphicShape(std::vector< wxPoint > &aPoints, const wxPoint &aPos) override
Calculate the graphic shape (a polygon) associated to the text.
bool Replace(wxFindReplaceData &aSearchData, void *aAuxData=NULL) override
Function Replace performs a text replace using the find and replace criteria in aSearchData on items ...
Definition: sch_sheet.h:180
KICAD_T
Enum KICAD_T is the set of class identification values, stored in EDA_ITEM::m_StructType.
Definition: typeinfo.h:78
wxString m_fileName
The file name is also in the SCH_SCREEN object associated with the sheet.
Definition: sch_sheet.h:222
Class NETLIST_OBJECT_LIST is a container holding and owning NETLIST_OBJECTs, which are connected item...
const INSPECTOR_FUNC & INSPECTOR
Definition: base_struct.h:118
int GetSheetNameSize() const
Definition: sch_sheet.h:271
void renumberPins()
Renumber the sheet pins in the sheet.
Definition: sch_sheet.cpp:767
wxString GetClass() const override
Function GetClass returns the class name.
Definition: sch_sheet.h:251
void RemovePin(SCH_SHEET_PIN *aSheetPin)
Remove aSheetPin from the sheet.
Definition: sch_sheet.cpp:186
bool IsConnectable() const override
Function IsConnectable returns true if the schematic item can connect to another schematic item...
Definition: sch_sheet.h:525
EDA_RECT const GetBoundingBox() const override
Function GetBoundingBox returns the orthogonal, bounding box of this object for display purposes...
Definition: sch_sheet.cpp:498
void MirrorX(int aXaxis_position) override
Function MirrorX mirrors item relative to the X axis about aXaxis_position.
Definition: sch_sheet.cpp:688
bool IsReplaceable() const override
Function IsReplaceable.
Definition: sch_sheet.h:498
bool HasPins()
Definition: sch_sheet.h:374
void SetSheetNameSize(int aSize)
Definition: sch_sheet.h:273
void SetName(const wxString &aName)
Definition: sch_sheet.h:269
SCH_SHEET_PINS m_pins
The list of sheet connection points.
Definition: sch_sheet.h:218
GR_DRAWMODE
Drawmode. Compositing mode plus a flag or two.
Definition: gr_basic.h:41
bool IsMovableFromAnchorPoint() override
Return true for items which are moved with the anchor point at mouse cursor and false for items moved...
Definition: sch_sheet.h:265
void SetEdge(SHEET_SIDE aEdge)
SEARCH_RESULT Visit(INSPECTOR inspector, void *testData, const KICAD_T scanTypes[]) override
Function Visit may be re-implemented for each derived class in order to handle all the types given by...
Definition: sch_sheet.cpp:841
int GetNumber() const
Get the sheet label number.
Definition: sch_sheet.h:134
int GetFileNameSize() const
Definition: sch_sheet.h:275
void Move(const wxPoint &aMoveVector) override
Function Move moves the item by aMoveVector to a new position.
Definition: sch_sheet.h:167
wxString GetSelectMenuText() const override
Function GetSelectMenuText returns the text to display to be used in the selection clarification cont...
Definition: sch_sheet.cpp:868
Define a sheet pin (label) used in sheets to create hierarchical schematics.
Definition: sch_sheet.h:61
Class SCH_SHEET_PATH.
int GetScreenCount() const
Return the number of times the associated screen for the sheet is being used.
Definition: sch_sheet.cpp:126
void CleanupSheet()
Delete sheet label which do not have a corresponding hierarchical label.
Definition: sch_sheet.cpp:339
void ConstrainOnEdge(wxPoint Pos)
Adjust label position to edge based on proximity to vertical or horizontal edge of the parent sheet...
wxPoint GetPosition() const override
Function GetPosition.
Definition: sch_sheet.h:540
void Rotate(wxPoint aPosition) override
Function Rotate rotates the item around aPosition 90 degrees in the clockwise direction.
Definition: sch_sheet.cpp:664
wxString GetFileName(void) const
Return the filename corresponding to this sheet.
Definition: sch_sheet.cpp:645
wxPoint GetFileNamePosition()
Definition: sch_sheet.cpp:406
Sheet symbol placed in a schematic, and is the entry point for a sub schematic.
Definition: sch_sheet.h:209
void SetSize(const wxSize &aSize)
Definition: sch_sheet.h:283
wxString GetSelectMenuText() const override
Function GetSelectMenuText returns the text to display to be used in the selection clarification cont...
SCH_SHEET(const wxPoint &pos=wxPoint(0, 0))
Definition: sch_sheet.cpp:46
void Draw(EDA_DRAW_PANEL *aPanel, wxDC *aDC, const wxPoint &aOffset, GR_DRAWMODE aDrawMode, COLOR4D aColor=COLOR4D::UNSPECIFIED) override
Function Draw Draw a schematic item.
void GetConnectionPoints(std::vector< wxPoint > &aPoints) const override
Function GetConnectionPoints add all the connection points for this item to aPoints.
Definition: sch_sheet.cpp:834
bool HasUndefinedPins()
Check all sheet labels against schematic for undefined hierarchical labels.
Definition: sch_sheet.cpp:231
void SetPosition(const wxPoint &aPosition) override
Function SetPosition set the schematic item position to aPosition.
Definition: sch_sheet.h:195
bool LocatePathOfScreen(SCH_SCREEN *aScreen, SCH_SHEET_PATH *aList)
Search the existing hierarchy for an instance of screen loaded from aFileName.
Definition: sch_sheet.cpp:593
Base plotter engine class.
Definition: class_plotter.h:97
void Draw(EDA_DRAW_PANEL *aPanel, wxDC *aDC, const wxPoint &aOffset, GR_DRAWMODE aDrawMode, COLOR4D aColor=COLOR4D::UNSPECIFIED) override
Function Draw Draw a schematic item.
Definition: sch_sheet.cpp:425
int m_fileNameSize
The height of the text used to draw the file name.
Definition: sch_sheet.h:232
void SwapData(SCH_ITEM *aItem) override
Function SwapData swap the internal data structures aItem with the schematic item.
Definition: sch_sheet.cpp:147
SHEET_SIDE
Defines the edge of the sheet that the sheet pin is positioned SHEET_LEFT_SIDE = 0: pin on left side ...
Definition: sch_sheet.h:73
EDA_ITEM * Clone() const override
Function Clone creates a duplicate of this item with linked list members set to NULL.
Definition: sch_sheet.cpp:97
void SetNumber(int aNumber)
Set the sheet label number.
void Plot(PLOTTER *aPlotter) override
Function Plot plots the schematic item to aPlotter.
Definition: sch_sheet.cpp:935
boost::ptr_vector< SCH_SHEET_PIN > SCH_SHEET_PINS
Definition: sch_sheet.h:203
bool Matches(wxFindReplaceData &aSearchData, void *aAuxData, wxPoint *aFindLocation) override
Function Matches compares the item against the search criteria in aSearchData.
void GetEndPoints(std::vector< DANGLING_END_ITEM > &aItemList) override
Function GetEndPoints adds the schematic item end points to aItemList if the item has end points...
int m_number
Label number use for saving sheet label to file.
Definition: sch_sheet.h:83
int GetMinWidth() const
Return the minimum width of the sheet based on the widths of the sheet pin text.
Definition: sch_sheet.cpp:260
void MirrorY(int aYaxis_position) override
Function MirrorY mirrors item relative to the Y axis about aYaxis_position.
Definition: sch_sheet.cpp:700
void SetPosition(const wxPoint &aPosition) override
Function SetPosition set the schematic item position to aPosition.
Definition: sch_sheet.cpp:711
wxPoint GetSheetNamePosition()
Definition: sch_sheet.cpp:388
Class EDA_RECT handles the component boundary box.
SCH_SCREEN * m_screen
Screen that contains the physical data for the sheet.
Definition: sch_sheet.h:215
SCH_SHEET_PINS & GetPins() const
Definition: sch_sheet.h:336
Class EDA_ITEM is a base class for most all the KiCad significant classes, used in schematics and boa...
Definition: base_struct.h:165
bool IsVerticalOrientation() const
Definition: sch_sheet.cpp:220
void SwapData(SCH_ITEM *aItem) override
Function SwapData swap the internal data structures aItem with the schematic item.
BITMAP_DEF GetMenuImage() const override
Function GetMenuImage returns a pointer to an image to be used in menus.
Definition: sch_sheet.cpp:876
bool HasPin(const wxString &aName)
Checks if the sheet already has a sheet pin named aName.
Definition: sch_sheet.cpp:208
void Rotate(wxPoint aPosition) override
Function Rotate rotates the item around aPosition 90 degrees in the clockwise direction.
Class DANGLING_END_ITEM is a helper class used to store the state of schematic items that can be conn...
SEARCH_RESULT
Definition: base_struct.h:82
bool IsSelectStateChanged(const wxRect &aRect) override
Function IsSelectStateChanged checks if the selection state of an item inside aRect has changed...
Definition: sch_sheet.cpp:819
bool Replace(wxFindReplaceData &aSearchData, void *aAuxData=NULL) override
Function Replace performs a text replace using the find and replace criteria in aSearchData on items ...
Definition: sch_sheet.cpp:761
wxString GetName() const
Definition: sch_sheet.h:267
Class SCH_ITEM is a base class for any item which can be embedded within the SCHEMATIC container clas...
int GetPenSize() const override
Function GetPenSize virtual pure.
Implementation of the label properties dialog.
void Move(const wxPoint &aMoveVector) override
Function Move moves the item by aMoveVector to a new position.
Definition: sch_sheet.h:478
wxSize GetSize()
Definition: sch_sheet.h:281
SHEET_SIDE m_edge
Definition: sch_sheet.h:88
void Resize(const wxSize &aSize)
Resize this sheet to aSize and adjust all of the labels accordingly.
Definition: sch_sheet.cpp:720
Class COLOR4D is the color representation with 4 components: red, green, blue, alpha.
Definition: color4d.h:39
bool HitTest(const wxPoint &aPosition, int aAccuracy) const override
Function HitTest tests if aPosition is contained within or on the bounding box of an item...
Definition: sch_sheet.cpp:882
void GetNetListItem(NETLIST_OBJECT_LIST &aNetListItems, SCH_SHEET_PATH *aSheetPath) override
Function GetNetListItem creates a new NETLIST_OBJECT for the schematic object and adds it to aNetList...
Definition: sch_sheet.cpp:911