KiCad PCB EDA Suite
mocks.cpp
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) 1992-2020 KiCad Developers, see AUTHORS.txt for contributors.
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, you may find one here:
18  * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
19  * or you may search the http://www.gnu.org website for the version 2 license,
20  * or you may write to the Free Software Foundation, Inc.,
21  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
22  */
23 
24 #include <pgm_base.h>
25 #include <kiface_base.h>
26 #include <confirm.h>
27 #include <pcb_edit_frame.h>
28 #include <eda_dde.h>
29 #include <wx/file.h>
30 #include <wx/snglinst.h>
31 #include <wx/app.h>
32 #include <board.h>
33 #include <fp_lib_table.h>
34 #include <footprint_viewer_frame.h>
35 #include <footprint_wizard_frame.h>
36 #include <footprint.h>
37 #include <tools/pcb_actions.h>
38 #include <router/router_tool.h>
39 #include <dialog_find.h>
41 
43 
44 
45 #if 0
46 
47 static struct IFACE : public KIFACE_BASE
48 {
49  // Of course all are overloads, implementations of the KIFACE.
50 
51  IFACE( const char* aName, KIWAY::FACE_T aType ) :
52  KIFACE_BASE( aName, aType )
53  {}
54 
55  bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits ) override
56  {
57  return true;
58  }
59 
60  void OnKifaceEnd() override {}
61 
62  wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 ) override
63  {
64  assert( false );
65  return nullptr;
66  }
67 
79  void* IfaceOrAddress( int aDataId ) override
80  {
81  return NULL;
82  }
83 }
84 kiface( "pcb_test_frame", KIWAY::FACE_PCB );
85 
86 static struct PGM_TEST_FRAME : public PGM_BASE
87 {
88  bool OnPgmInit();
89 
90  void OnPgmExit()
91  {
92  Kiway.OnKiwayEnd();
93 
94  // Destroy everything in PGM_BASE, especially wxSingleInstanceCheckerImpl
95  // earlier than wxApp and earlier than static destruction would.
97  }
98 
99  void MacOpenFile( const wxString& aFileName ) override
100  {
101  wxFileName filename( aFileName );
102 
103  if( filename.FileExists() )
104  {
105  #if 0
106  // this pulls in EDA_DRAW_FRAME type info, which we don't want in
107  // the single_top link image.
108  KIWAY_PLAYER* frame = dynamic_cast<KIWAY_PLAYER*>( App().GetTopWindow() );
109  #else
110  KIWAY_PLAYER* frame = (KIWAY_PLAYER*) App().GetTopWindow();
111  #endif
112 
113  if( frame )
114  frame->OpenProjectFiles( std::vector<wxString>( 1, aFileName ) );
115  }
116  }
117 }
118 program;
119 
120 PGM_BASE& Pgm()
121 {
122  return program;
123 }
124 
125 
126 // Similar to PGM_BASE& Pgm(), but return nullptr when a *.ki_face
127 // is run from a python script, mot from a Kicad application
129 {
130  return nullptr; //&program;
131 }
132 
133 
135 {
136  return kiface;
137 }
138 #endif
139 
140 // FP_LIB_TABLE GFootprintTable;
141 
143 {
144  // these members are initialized to avoid warnings about non initialized vars
145  m_frame = aParent;
146  m_hitList.clear();
147  m_it = m_hitList.begin();
148  m_upToDate = false;
149 }
150 
151 void DIALOG_FIND::onFindNextClick( wxCommandEvent& aEvent )
152 {
153 }
154 
155 void DIALOG_FIND::onFindPreviousClick( wxCommandEvent& aEvent )
156 {
157 }
158 
159 void DIALOG_FIND::onSearchAgainClick( wxCommandEvent& aEvent )
160 {
161 }
162 
163 void DIALOG_FIND::onTextEnter( wxCommandEvent& event )
164 {
165 }
166 
167 void DIALOG_FIND::OnCloseButtonClick( wxCommandEvent& aEvent )
168 {
169 }
170 
171 void DIALOG_FIND::OnClose( wxCloseEvent& aEvent )
172 {
173 }
174 
175 
176 DIALOG_FIND_BASE::DIALOG_FIND_BASE( wxWindow* parent, wxWindowID id, const wxString& title,
177  const wxPoint& pos, const wxSize& size, long style ) :
178  DIALOG_SHIM( parent, id, title, pos, size, style )
179 {
180  // these members are initialized only to avoid warnings about non initialized vars
181  searchStringLabel = nullptr;
182  m_searchCombo = nullptr;
183  m_matchCase = nullptr;
184  m_matchWords = nullptr;
185  m_wildcards = nullptr;
186  m_wrap = nullptr;
187  m_includeValues = nullptr;
188  m_includeReferences = nullptr;
189  m_includeTexts = nullptr;
190  m_includeMarkers = nullptr;
191  m_includeVias = nullptr;
192  m_findNext = nullptr;
193  m_findPrevious = nullptr;
194  m_searchAgain = nullptr;
195  m_closeButton = nullptr;
196  m_status = nullptr;
197 }
198 
199 
201 {
202 }
203 
204 
206 {
207  return nullptr;
208 }
209 
210 
211 DIALOG_FILTER_SELECTION_BASE::DIALOG_FILTER_SELECTION_BASE( wxWindow* parent, wxWindowID id,
212  const wxString& title,
213  const wxPoint& pos, const wxSize& size,
214  long style ) :
215  DIALOG_SHIM( parent, id, title, pos, size, style )
216 {
217  // these members are initialized only to avoid warnings about non initialized vars
218  m_Include_Modules = nullptr;
219  m_Include_PcbTextes = nullptr;
220  m_IncludeLockedModules = nullptr;
221  m_Include_Draw_Items = nullptr;
222  m_Include_Tracks = nullptr;
223  m_Include_Vias = nullptr;
224  m_Include_Edges_Items = nullptr;
225  m_Include_Zones = nullptr;
226  m_sdbSizer1 = nullptr;
227  m_staticLine = nullptr;
228  m_sdbSizer1OK = nullptr;
229  m_sdbSizer1Cancel = nullptr;
230 }
231 
232 
234 {
235 }
236 
237 
239  DIALOG_FILTER_SELECTION_BASE( aParent ),
240  m_options( aOptions )
241 {
242  // silence another compiler warning about m_options not being used
243  if( m_options.includeModules )
244  {
245  }
246 }
247 
248 
249 void DIALOG_FILTER_SELECTION::checkBoxClicked( wxCommandEvent& aEvent )
250 {
251 }
252 
253 
255 {
256  return true;
257 }
258 
259 
261 {
262 }
263 
264 
265 
267 
268 
273 {
274 public:
276 };
277 
278 
280  PCB_TOOL_BASE( "pcbnew.InteractiveSelection" ),
281  m_frame( NULL ),
282  m_enteredGroup( NULL ),
283  m_nonModifiedCursor( KICURSOR::ARROW ),
284  m_priv( nullptr )
285 {
286 }
287 
288 
290 {
291 }
292 
293 
295 {
296  return true;
297 }
298 
299 
300 void PCB_SELECTION_TOOL::Reset( RESET_REASON aReason )
301 {
302 }
303 
304 
305 int PCB_SELECTION_TOOL::Main( const TOOL_EVENT& aEvent )
306 {
307  return 0;
308 }
309 
310 
312 {
313 }
314 
315 
316 void PCB_SELECTION_TOOL::ExitGroup( bool aSelectGroup )
317 {
318 }
319 
320 
322 {
323  return m_selection;
324 }
325 
326 
328  bool aConfirmLockedItems )
329 {
330  return m_selection;
331 }
332 
333 
335 {
337 }
338 
339 
340 bool PCB_SELECTION_TOOL::selectPoint( const VECTOR2I& aWhere, bool aOnDrag,
341  bool* aSelectionCancelledFlag,
342  CLIENT_SELECTION_FILTER aClientFilter )
343 {
344  return false;
345 }
346 
347 
348 bool PCB_SELECTION_TOOL::selectCursor( bool aForceSelect, CLIENT_SELECTION_FILTER aClientFilter )
349 {
350  return false;
351 }
352 
353 
355 {
356  return false;
357 }
358 
359 
361 {
362  return 0;
363 }
364 
365 
367 {
368  return 0;
369 }
370 
371 
372 int PCB_SELECTION_TOOL::SelectItems( const TOOL_EVENT& aEvent )
373 {
374  return 0;
375 }
376 
377 
378 int PCB_SELECTION_TOOL::SelectItem( const TOOL_EVENT& aEvent )
379 {
380  return 0;
381 }
382 
383 
384 int PCB_SELECTION_TOOL::SelectAll( const TOOL_EVENT& aEvent )
385 {
386  return 0;
387 }
388 
389 
390 void PCB_SELECTION_TOOL::AddItemToSel( BOARD_ITEM* aItem, bool aQuietMode )
391 {
392 }
393 
394 
396 {
397  return 0;
398 }
399 
400 
401 int PCB_SELECTION_TOOL::UnselectItem( const TOOL_EVENT& aEvent )
402 {
403  return 0;
404 }
405 
406 
407 void PCB_SELECTION_TOOL::RemoveItemFromSel( BOARD_ITEM* aItem, bool aQuietMode )
408 {
409 }
410 
411 
413 {
414 }
415 
416 
418 {
419 }
420 
421 
423 {
424  return 0;
425 }
426 
427 
429  STOP_CONDITION aStopCondition )
430 {
431 }
432 
433 
434 void PCB_SELECTION_TOOL::selectAllItemsOnNet( int aNetCode, bool aSelect )
435 {
436 }
437 
438 
439 int PCB_SELECTION_TOOL::selectNet( const TOOL_EVENT& aEvent )
440 {
441  return 0;
442 }
443 
444 
445 void PCB_SELECTION_TOOL::selectAllItemsOnSheet( wxString& aSheetPath )
446 {
447 }
448 
449 
451 {
452 }
453 
454 
456 {
457  return 0;
458 }
459 
460 
462 {
463  return 0;
464 }
465 
466 
474 static bool itemIsIncludedByFilter( const BOARD_ITEM& aItem, const BOARD& aBoard,
475  const DIALOG_FILTER_SELECTION::OPTIONS& aFilterOptions )
476 {
477  return false;
478 }
479 
480 
482 {
483  return 0;
484 }
485 
486 
487 void PCB_SELECTION_TOOL::FilterCollectedItems( GENERAL_COLLECTOR& aCollector, bool aMultiSelect )
488 {
489 }
490 
491 
492 bool PCB_SELECTION_TOOL::itemPassesFilter( BOARD_ITEM* aItem, bool aMultiSelect )
493 {
494  return true;
495 }
496 
497 
498 void PCB_SELECTION_TOOL::ClearSelection( bool aQuietMode )
499 {
500 }
501 
502 
504 {
505 }
506 
507 
509 {
510  return 0;
511 }
512 
513 
515 {
516  return false;
517 }
518 
519 
520 bool PCB_SELECTION_TOOL::Selectable( const BOARD_ITEM* aItem, bool checkVisibilityOnly ) const
521 {
522  return false;
523 }
524 
525 
527 {
528 }
529 
530 
532 {
533 }
534 
535 void PCB_SELECTION_TOOL::highlight( BOARD_ITEM* aItem, int aMode, PCB_SELECTION* aGroup )
536 {
537 }
538 
539 void PCB_SELECTION_TOOL::highlightInternal( BOARD_ITEM* aItem, int aMode, bool aUsingOverlay )
540 {
541 }
542 
543 
544 void PCB_SELECTION_TOOL::unhighlight( BOARD_ITEM* aItem, int aMode, PCB_SELECTION* aGroup )
545 {
546 }
547 
548 
549 void PCB_SELECTION_TOOL::unhighlightInternal( BOARD_ITEM* aItem, int aMode, bool aUsingOverlay )
550 {
551 }
552 
553 
554 bool PCB_SELECTION_TOOL::selectionContains( const VECTOR2I& aPoint ) const
555 {
556  return false;
557 }
558 
560  const VECTOR2I& aWhere ) const
561 {
562 }
563 
564 
565 
566 
568 {
569  return 0;
570 }
571 
572 
573 int PCB_SELECTION_TOOL::UpdateMenu( const TOOL_EVENT& aEvent )
574 {
575  return 0;
576 }
577 
578 
580 {
581 }
582 
583 void PCB_TOOL_BASE::doInteractiveItemPlacement( const std::string& aTool,
584  INTERACTIVE_PLACER_BASE* aPlacer,
585  const wxString& aCommitMessage, int aOptions )
586 {
587 }
588 
589 
590 bool PCB_TOOL_BASE::Init()
591 {
592  return true;
593 }
594 
595 
596 void PCB_TOOL_BASE::Reset( RESET_REASON aReason )
597 {
598 }
599 
600 
602 {
603 }
604 
605 
607 {
608  static PCB_DISPLAY_OPTIONS disp;
609 
610  return disp;
611 }
612 
614 {
615  return nullptr;
616 }
617 
618 
620 {
621  static PCB_SELECTION sel;
622 
623  return sel;
624 }
625 
626 
628 {
629  static PCB_SELECTION sel;
630 
631  return sel;
632 }
633 
634 
635 EDA_ITEM* PCB_SELECTION::GetTopLeftItem( bool onlyModules ) const
636 {
637  return nullptr;
638 }
639 
640 
641 const std::vector<KIGFX::VIEW_ITEM*> PCB_SELECTION::updateDrawList() const
642 {
643  std::vector<VIEW_ITEM*> items;
644 
645  return items;
646 }
647 
648 
650 {
651  return LSET();
652 }
653 
654 #if 0
655 #include <3d_canvas/board_adapter.h>
656 
659 BBOX_3D::BBOX_3D(){};
661 TRACK_BALL::TRACK_BALL(float x) : CAMERA(x) {};
664 
665 #endif
666 
668 
670 {
671  return nullptr;
672 }
673 
674 
676 {
677  return 0;
678 }
const GENERAL_COLLECTORS_GUIDE getCollectorsGuide() const
int selectSameSheet(const TOOL_EVENT &aEvent)
Invoke filter dialog and modify current selection.
virtual bool OpenProjectFiles(const std::vector< wxString > &aFileList, int aCtl=0)
Open a project or set of files given by aFileList.
Definition: kiway_player.h:118
BITMAP2CMP_SETTINGS kiface
int CursorSelection(const TOOL_EVENT &aEvent)
Clear current selection event handler.
A wxFrame capable of the OpenProjectFiles function, meaning it can load a portion of a KiCad project.
Definition: kiway_player.h:64
void checkBoxClicked(wxCommandEvent &aEvent) override
Reference to the options struct to fill.
void select(BOARD_ITEM *aItem)
Take necessary action mark an item as selected.
DDE server & client.
A KIFACE implementation.
Definition: kiface_base.h:37
bool OnKifaceStart(PGM_BASE *aProgram, int aCtlBits) override
Typically start_common() is called from here.
TRACK_BALL(float aRangeScale, float aDefaultZoom)
Definition: track_ball.cpp:37
void MacOpenFile(const wxString &aFileName) override
Specific to MacOSX (not used under Linux or Windows).
This file is part of the common library.
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
Definition: board_item.h:49
~BBOX_3D()
Definition: bbox_3d.cpp:56
Container for data for KiCad programs.
Definition: pgm_base.h:93
KIFACE_BASE & Kiface()
Global KIFACE_BASE "get" accessor.
int SelectionMenu(const TOOL_EVENT &aEvent)
Show a popup menu to trim the COLLECTOR passed as aEvent's parameter down to a single item.
int GetColorStandardListCount()
Definition: mocks.cpp:675
void highlightInternal(BOARD_ITEM *aItem, int aHighlightMode, bool aUsingOverlay)
DIALOG_FILTER_SELECTION::OPTIONS m_filterOpts
virtual wxApp & App()
Returns a bare naked wxApp which may come from wxPython, SINGLE_TOP, or kicad.exe.
Definition: pgm_base.cpp:132
void FilterCollectedItems(GENERAL_COLLECTOR &aCollector, bool aMultiSelect)
void Destroy()
Definition: pgm_base.cpp:124
wxWindow * CreateWindow(wxWindow *aParent, int aClassId, KIWAY *aKiway, int aCtlBits=0) override
Create a wxWindow for the current project.
virtual void Reset(RESET_REASON aReason) override
Bring the tool to a known, initial state.
void highlight(BOARD_ITEM *aItem, int aHighlightMode, PCB_SELECTION *aGroup=nullptr)
Highlight the item visually.
const FAB_LAYER_COLOR * GetColorStandardList()
Definition: mocks.cpp:669
void OnKifaceEnd() override
Called just once just before the DSO is to be unloaded.
Private implementation of firewalled private data.
KICURSOR
Definition: cursors.h:33
Dialog helper object to sit in the inheritance tree between wxDialog and any class written by wxFormB...
Definition: dialog_shim.h:82
void setTransitions() override
Zoom the screen to center and fit the current selection.
int UnselectItem(const TOOL_EVENT &aEvent)
void(* CLIENT_SELECTION_FILTER)(const VECTOR2I &, GENERAL_COLLECTOR &, PCB_SELECTION_TOOL *)
void Reset(RESET_REASON aReason) override
Bring the tool to a known, initial state.
Struct that will be set with the result of the user choices in the dialog.
bool doSelectionMenu(GENERAL_COLLECTOR *aItems)
Allow the selection of a single item from a list via pop-up menu.
void selectConnectedTracks(BOARD_CONNECTED_ITEM &aSourceItem, STOP_CONDITION aStopCondition)
Select connected tracks and vias.
void OnKiwayEnd()
Definition: kiway.cpp:641
DIALOG_FIND_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=wxEmptyString, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxDEFAULT_DIALOG_STYLE)
KIWAY Kiway & Pgm(), KFCTL_STANDALONE
The global Program "get" accessor.
Definition: single_top.cpp:106
A base class derived from BOARD_ITEM for items that can be connected and have a net,...
int UnselectItems(const TOOL_EVENT &aEvent)
void onTextEnter(wxCommandEvent &event) override
Definition: dialog_find.cpp:97
void RebuildSelection()
Rebuild the selection from the EDA_ITEMs' selection flags.
A class used to derive camera objects from.
Definition: camera.h:77
bool Init() override
Init() is called once upon a registration of the tool.
PCB_SELECTION & GetSelection()
Return the set of currently selected items.
Class DIALOG_FILTER_SELECTION_BASE.
void UnbrightenItem(BOARD_ITEM *aItem)
int updateSelection(const TOOL_EVENT &aEvent)
Event handler to update the selection VIEW_ITEM.
static bool itemIsIncludedByFilter(const BOARD_ITEM &aItem, const BOARD &aBoard, const DIALOG_FILTER_SELECTION::OPTIONS &aFilterOptions)
Function itemIsIncludedByFilter()
Definition: mocks.cpp:474
Container for display options like enable/disable some optional drawings.
LSET is a set of PCB_LAYER_IDs.
Definition: layer_ids.h:504
void onFindNextClick(wxCommandEvent &event) override
bool selectMultiple()
Handle drawing a selection box that allows one to select many items at the same time.
const PCB_SELECTION & selection() const
int selectNet(const TOOL_EVENT &aEvent)
Select all copper connections belonging to the same net(s) as the items in the selection.
void onFindPreviousClick(wxCommandEvent &event) override
void OnPgmExit()
Definition: mock_pgm.cpp:75
virtual void setTransitions() override
This method is meant to be overridden in order to specify handlers for events.
PGM_BASE * PgmOrNull()
similar to PGM_BASE& Pgm(), but return a reference that can be nullptr when running a shared lib from...
Definition: cvpcb.cpp:125
int expandConnection(const TOOL_EVENT &aEvent)
Expand the current track selection to the next boundary (junctions, pads, or all)
void AddItemToSel(BOARD_ITEM *aItem, bool aQuietMode=false)
Select all items on the board.
bool selectPoint(const VECTOR2I &aWhere, bool aOnDrag=false, bool *aSelectionCancelledFlag=nullptr, CLIENT_SELECTION_FILTER aClientFilter=nullptr)
Select an item pointed by the parameter aWhere.
Generic, UI-independent tool event.
Definition: tool_event.h:152
FP_LIB_TABLE GFootprintTable
The global footprint library table.
Definition: mocks.cpp:42
DIALOG_FIND(PCB_BASE_FRAME *aParent)
Definition: dialog_find.cpp:54
bool Selectable(const BOARD_ITEM *aItem, bool checkVisibilityOnly=false) const
Check conditions for an item to be selected.
A minimalistic software bus for communications between various DLLs/DSOs (DSOs) within the same KiCad...
Definition: kiway.h:260
void OnCloseButtonClick(wxCommandEvent &aEvent) override
pcbnew DSO
Definition: kiway.h:269
EDA_ITEM * GetTopLeftItem(bool aFootprintsOnly=false) const override
void BrightenItem(BOARD_ITEM *aItem)
PCB_SELECTION m_selection
void ExitGroup(bool aSelectGroup=false)
Leave the currently entered group.
void unselect(BOARD_ITEM *aItem)
Take necessary action mark an item as unselected.
void * IfaceOrAddress(int aDataId) override
Return pointer to the requested object.
const PCB_DISPLAY_OPTIONS & displayOptions() const
FACE_T
Known KIFACE implementations.
Definition: kiway.h:266
int selectSheetContents(const TOOL_EVENT &aEvent)
Select all footprints belonging to same hierarchical sheet as the selected footprint (same sheet path...
int Main(const TOOL_EVENT &aEvent)
The main loop.
KIFACE_BASE(const char *aKifaceName, KIWAY::FACE_T aId)
Definition: kiface_base.h:64
int SelectItems(const TOOL_EVENT &aEvent)
Item unselection event handler.
int SelectItem(const TOOL_EVENT &aEvent)
bool itemPassesFilter(BOARD_ITEM *aItem, bool aMultiSelect)
bool selectCursor(bool aForceSelect=false, CLIENT_SELECTION_FILTER aClientFilter=nullptr)
Select an item under the cursor unless there is something already selected or aSelectAlways is true.
const std::vector< KIGFX::VIEW_ITEM * > updateDrawList() const override
see class PGM_BASE
PCB_SELECTION & RequestSelection(CLIENT_SELECTION_FILTER aClientFilter, bool aConfirmLockedItems=false)
Return the current selection set, filtered according to aFlags and aClientFilter.
BBOX_3D()
Create with default values a bounding box (not initialized)
Definition: bbox_3d.cpp:37
IFACE(const char *aDSOname, KIWAY::FACE_T aType)
Information pertinent to a Pcbnew printed circuit board.
Definition: board.h:190
PGM_SINGLE_TOP program
DIALOG_FILTER_SELECTION(PCB_BASE_FRAME *aParent, OPTIONS &aOptions)
Create the filter selection dialog.
Used when the right click button is pressed, or when the select tool is in effect.
Definition: collectors.h:240
virtual bool Init() override
Init() is called once upon a registration of the tool.
static void NeighboringSegmentFilter(const VECTOR2I &aPt, GENERAL_COLLECTOR &aCollector)
A base class for most all the KiCad significant classes used in schematics and boards.
Definition: eda_item.h:100
int UpdateMenu(const TOOL_EVENT &aEvent)
Pass the selection to a conditional menu for updating.
OBJECT_2D_TYPE
Definition: object_2d.h:44
int SelectAll(const TOOL_EVENT &aEvent)
Multiple item selection event handler.
void selectAllItemsOnNet(int aNetCode, bool aSelect=true)
Select all items with the given net code.
DIALOG_FILTER_SELECTION_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Filter Selected Items"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
void OnClose(wxCloseEvent &event) override
void doInteractiveItemPlacement(const std::string &aTool, INTERACTIVE_PLACER_BASE *aPlacer, const wxString &aCommitMessage, int aOptions=IPO_ROTATE|IPO_FLIP|IPO_REPEAT)
Helper function for performing a common interactive idiom: wait for a left click, place an item there...
void RemoveItemFromSel(BOARD_ITEM *aItem, bool aQuietMode=false)
Multiple item unselection event handler.
A general implementation of a COLLECTORS_GUIDE.
Definition: collectors.h:377
void onSearchAgainClick(wxCommandEvent &event) override
bool selectionContains(const VECTOR2I &aPoint) const
int ClearSelection(const TOOL_EVENT &aEvent)
PCB_DRAW_PANEL_GAL * canvas() const
void unhighlightInternal(BOARD_ITEM *aItem, int aHighlightMode, bool aUsingOverlay)
void GuessSelectionCandidates(GENERAL_COLLECTOR &aCollector, const VECTOR2I &aWhere) const
Try to guess best selection candidates in case multiple items are clicked, by doing some brain-dead h...
const LSET GetSelectionLayers()
void selectAllItemsOnSheet(wxString &aSheetPath)
Select all items with the given sheet timestamp/UUID name (the sheet path).
void unhighlight(BOARD_ITEM *aItem, int aHighlightMode, PCB_SELECTION *aGroup=nullptr)
Unhighlight the item visually.
Base PCB main window class for Pcbnew, Gerbview, and CvPcb footprint viewer.
Class DIALOG_FIND_BASE.
int PGM_BASE * aProgram
Definition: cvpcb.cpp:110
int filterSelection(const TOOL_EVENT &aEvent)
Return true if the given item passes the current SELECTION_FILTER_OPTIONS.
FOOTPRINT * GetFootprintFromBoardByReference()
KIWAY Kiway