KiCad PCB EDA Suite
Loading...
Searching...
No Matches
pcb_control.cpp File Reference
#include "pcb_control.h"
#include "convert_basic_shapes_to_polygon.h"
#include <kiplatform/ui.h>
#include <tools/edit_tool.h>
#include <tools/board_inspection_tool.h>
#include <router/router_tool.h>
#include <pgm_base.h>
#include <tools/pcb_actions.h>
#include <tools/pcb_picker_tool.h>
#include <tools/pcb_selection_tool.h>
#include <tools/board_reannotate_tool.h>
#include <3d_viewer/eda_3d_viewer_frame.h>
#include <board_commit.h>
#include <board.h>
#include <board_design_settings.h>
#include <board_item.h>
#include <board_stackup_manager/stackup_predefined_prms.h>
#include <clipboard.h>
#include <design_block.h>
#include <dialogs/dialog_paste_special.h>
#include <pcb_dimension.h>
#include <geometry/convex_hull.h>
#include <geometry/shape_utils.h>
#include <gal/graphics_abstraction_layer.h>
#include <footprint.h>
#include <layer_pairs.h>
#include <pcb_group.h>
#include <pcb_layer_presentation.h>
#include <pcb_reference_image.h>
#include <pcb_textbox.h>
#include <pcb_track.h>
#include <pcb_generator.h>
#include <project_pcb.h>
#include <wildcards_and_files_ext.h>
#include <filename_resolver.h>
#include <3d_cache/3d_cache.h>
#include <embedded_files.h>
#include <wx/filename.h>
#include <zone.h>
#include <confirm.h>
#include <kidialog.h>
#include <connectivity/connectivity_data.h>
#include <core/kicad_algo.h>
#include <dialogs/hotkey_cycle_popup.h>
#include <kicad_clipboard.h>
#include <origin_viewitem.h>
#include <pcb_edit_frame.h>
#include <pcb_painter.h>
#include <settings/color_settings.h>
#include <string>
#include <tool/tool_manager.h>
#include <tools/multichannel_tool.h>
#include <footprint_edit_frame.h>
#include <footprint_editor_settings.h>
#include <footprint_viewer_frame.h>
#include <widgets/appearance_controls.h>
#include <widgets/pcb_design_block_pane.h>
#include <widgets/wx_progress_reporters.h>
#include <widgets/wx_infobar.h>
#include <wx/hyperlink.h>

Go to the source code of this file.

Macros

#define ALPHA_MIN   0.20
 
#define ALPHA_MAX   1.00
 
#define ALPHA_STEP   0.05
 
#define HITTEST_THRESHOLD_PIXELS   5
 

Functions

bool AskLoadBoardFileName (PCB_EDIT_FRAME *aParent, wxString *aFileName, int aCtl=0)
 Show a wxFileDialog asking for a BOARD filename to open.
 
PCB_TABLEBuild_Board_Stackup_Table (BOARD *aBoard, EDA_UNITS aDisplayUnits)
 
PCB_TABLEBuild_Board_Characteristics_Table (BOARD *aBoard, EDA_UNITS aDisplayUnits)
 
template<class T>
void Flip (T &aValue)
 
static void pasteFootprintItemsToFootprintEditor (FOOTPRINT *aClipFootprint, BOARD *aBoard, std::vector< BOARD_ITEM * > &aPastedItems)
 
template<typename T>
static void moveUnflaggedItems (const std::deque< T > &aList, std::vector< BOARD_ITEM * > &aTarget, bool aIsNew)
 
template<typename T>
static void moveUnflaggedItems (const std::vector< T > &aList, std::vector< BOARD_ITEM * > &aTarget, bool aIsNew)
 

Macro Definition Documentation

◆ ALPHA_MAX

#define ALPHA_MAX   1.00

Definition at line 616 of file pcb_control.cpp.

◆ ALPHA_MIN

#define ALPHA_MIN   0.20

Definition at line 615 of file pcb_control.cpp.

Referenced by PCB_CONTROL::LayerAlphaDec().

◆ ALPHA_STEP

#define ALPHA_STEP   0.05

Definition at line 617 of file pcb_control.cpp.

Referenced by PCB_CONTROL::LayerAlphaDec(), and PCB_CONTROL::LayerAlphaInc().

◆ HITTEST_THRESHOLD_PIXELS

#define HITTEST_THRESHOLD_PIXELS   5

Definition at line 817 of file pcb_control.cpp.

Function Documentation

◆ AskLoadBoardFileName()

bool AskLoadBoardFileName ( PCB_EDIT_FRAME * aParent,
wxString * aFileName,
int aCtl = 0 )
extern

Show a wxFileDialog asking for a BOARD filename to open.

Parameters
aParentis a wxFrame passed to wxFileDialog.
aCtlis where to put the OpenProjectFiles() control bits.
aFileNameon entry is a probable choice, on return is the chosen filename.
aKicadFilesOnlytrue to list KiCad pcb files plugins only, false to list import plugins.
Returns
true if chosen, else false if user aborted.

Definition at line 105 of file pcbnew/files.cpp.

References _, AddFileExtListToFilter(), EDA_BASE_FRAME::config(), formatWildcardExt(), PATHS::GetDefaultUserProjectsPath(), EDA_BASE_FRAME::GetMruPath(), FILEDLG_IMPORT_NON_KICAD::GetShowIssues(), PCB_IO_MGR::PLUGIN_REGISTRY::Instance(), PCB_IO_MGR::KICAD_SEXP, KICTL_KICAD_ONLY, KICTL_NONKICAD_ONLY, PCB_IO_MGR::LEGACY, IO_BASE::IO_FILE_DESC::m_CanRead, IO_BASE::IO_FILE_DESC::m_FileExtensions, APP_SETTINGS_BASE::m_System, name, path, EDA_BASE_FRAME::SetMruPath(), and APP_SETTINGS_BASE::SYSTEM::show_import_issues.

Referenced by PCB_CONTROL::AppendBoardFromFile(), PCB_EDIT_FRAME::OnFileHistory(), BOARD_EDITOR_CONTROL::Open(), and BOARD_EDITOR_CONTROL::OpenNonKicadBoard().

◆ Build_Board_Characteristics_Table()

◆ Build_Board_Stackup_Table()

◆ Flip()

◆ moveUnflaggedItems() [1/2]

template<typename T>
static void moveUnflaggedItems ( const std::deque< T > & aList,
std::vector< BOARD_ITEM * > & aTarget,
bool aIsNew )
static

Definition at line 1648 of file pcb_control.cpp.

References T.

Referenced by PCB_CONTROL::placeBoardItems().

◆ moveUnflaggedItems() [2/2]

template<typename T>
static void moveUnflaggedItems ( const std::vector< T > & aList,
std::vector< BOARD_ITEM * > & aTarget,
bool aIsNew )
static

Definition at line 1665 of file pcb_control.cpp.

References T.

◆ pasteFootprintItemsToFootprintEditor()

static void pasteFootprintItemsToFootprintEditor ( FOOTPRINT * aClipFootprint,
BOARD * aBoard,
std::vector< BOARD_ITEM * > & aPastedItems )
static