KiCad PCB EDA Suite
|
Tool responsible for drawing graphical elements like lines, arcs, circles, etc. More...
#include <drawing_tool.h>
Public Types | |
enum class | MODE { NONE , LINE , RECTANGLE , CIRCLE , ARC , BEZIER , IMAGE , TEXT , ANCHOR , DXF , DIMENSION , KEEPOUT , ZONE , GRAPHIC_POLYGON , VIA , TUNING } |
enum | RESET_REASON { RUN , MODEL_RELOAD , SUPERMODEL_RELOAD , GAL_SWITCH , REDRAW , SHUTDOWN } |
Determine the reason of reset for a tool. More... | |
Public Member Functions | |
DRAWING_TOOL () | |
~DRAWING_TOOL () | |
bool | Init () override |
Init() is called once upon a registration of the tool. | |
void | Reset (RESET_REASON aReason) override |
Bring the tool to a known, initial state. | |
MODE | GetDrawingMode () const |
Return the current drawing mode of the DRAWING_TOOL or MODE::NONE if not currently in any drawing mode. | |
std::vector< BOARD_ITEM * > | DrawBoardCharacteristics (const VECTOR2I &origin, PCB_LAYER_ID aLayer, bool aDrawNow, VECTOR2I *tablesize) |
std::vector< BOARD_ITEM * > | DrawSpecificationStackup (const VECTOR2I &origin, PCB_LAYER_ID aLayer, bool aDrawNow, VECTOR2I *tablesize) |
int | PlaceCharacteristics (const TOOL_EVENT &aEvent) |
int | PlaceStackup (const TOOL_EVENT &aEvent) |
int | PlaceTuningPattern (const TOOL_EVENT &aEvent) |
int | DrawLine (const TOOL_EVENT &aEvent) |
Start interactively drawing a line. | |
int | DrawRectangle (const TOOL_EVENT &aEvent) |
Start interactively drawing a rectangle. | |
int | DrawCircle (const TOOL_EVENT &aEvent) |
Start interactively drawing a circle. | |
int | DrawArc (const TOOL_EVENT &aEvent) |
Start interactively drawing an arc. | |
int | DrawBezier (const TOOL_EVENT &aEvent) |
Start interactively drawing a bezier curve. | |
int | PlaceReferenceImage (const TOOL_EVENT &aEvent) |
Display a dialog that allows one to select a reference image and then decide where to place the image in the editor. | |
int | PlaceText (const TOOL_EVENT &aEvent) |
Display a dialog that allows one to input text and its settings and then lets the user decide where to place the text in editor. | |
int | DrawTable (const TOOL_EVENT &aEvent) |
int | DrawDimension (const TOOL_EVENT &aEvent) |
Start interactively drawing a dimension. | |
int | DrawZone (const TOOL_EVENT &aEvent) |
Start interactively drawing a zone. | |
int | DrawVia (const TOOL_EVENT &aEvent) |
int | PlaceImportedGraphics (const TOOL_EVENT &aEvent) |
Place a drawing imported from a DXF or SVG file in footprint editor. | |
int | InteractivePlaceWithPreview (const TOOL_EVENT &aEvent, std::vector< BOARD_ITEM * > &aItems, std::vector< BOARD_ITEM * > &aPreview, LSET *aLayers) |
Interactively place a set of BOARD_ITEM. | |
int | SetAnchor (const TOOL_EVENT &aEvent) |
Place the footprint anchor (only in footprint editor). | |
int | ToggleHV45Mode (const TOOL_EVENT &toolEvent) |
Toggle the horizontal/vertical/45-degree constraint for drawing tools. | |
void | setTransitions () override |
This method is meant to be overridden in order to specify handlers for events. | |
void | SetStroke (const STROKE_PARAMS &aStroke, PCB_LAYER_ID aLayer) |
void | UpdateStatusBar () const |
void | SetIsFootprintEditor (bool aEnabled) |
Function SetIsFootprintEditor() | |
bool | IsFootprintEditor () const |
void | SetIsBoardEditor (bool aEnabled) |
bool | IsBoardEditor () const |
virtual bool | Is45Limited () const |
Should the tool use its 45° mode option? | |
void | Activate () |
Run the tool. | |
TOOL_MENU & | GetToolMenu () |
void | SetContextMenu (ACTION_MENU *aMenu, CONTEXT_MENU_TRIGGER aTrigger=CMENU_BUTTON) |
Assign a context menu and tells when it should be activated. | |
void | RunMainStack (std::function< void()> aFunc) |
Call a function using the main stack. | |
template<class T > | |
void | Go (int(T::*aStateFunc)(const TOOL_EVENT &), const TOOL_EVENT_LIST &aConditions=TOOL_EVENT(TC_ANY, TA_ANY)) |
Define which state (aStateFunc) to go when a certain event arrives (aConditions). | |
TOOL_EVENT * | Wait (const TOOL_EVENT_LIST &aEventList=TOOL_EVENT(TC_ANY, TA_ANY)) |
Suspend execution of the tool until an event specified in aEventList arrives. | |
TOOL_TYPE | GetType () const |
Return the type of the tool. | |
TOOL_ID | GetId () const |
Return the unique identifier of the tool. | |
const std::string & | GetName () const |
Return the name of the tool. | |
TOOL_MANAGER * | GetManager () const |
Return the instance of TOOL_MANAGER that takes care of the tool. | |
bool | IsToolActive () const |
Protected Types | |
enum | INTERACTIVE_PLACEMENT_OPTIONS { IPO_ROTATE = 0x01 , IPO_FLIP = 0x02 , IPO_SINGLE_CLICK = 0x04 , IPO_REPEAT = 0x08 } |
Options for placing items interactively. More... | |
Protected Member Functions | |
void | doInteractiveItemPlacement (const TOOL_EVENT &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 (perhaps with a dialog or other user interaction), then have it move with the mouse and respond to rotate/flip, etc. | |
KIGFX::PCB_VIEW * | view () const |
KIGFX::VIEW_CONTROLS * | controls () const |
template<class T = PCB_BASE_EDIT_FRAME> | |
T * | frame () const |
BOARD * | board () const |
FOOTPRINT * | footprint () const |
PCBNEW_SETTINGS::DISPLAY_OPTIONS & | displayOptions () const |
PCB_DRAW_PANEL_GAL * | canvas () const |
const PCB_SELECTION & | selection () const |
PCB_SELECTION & | selection () |
void | attachManager (TOOL_MANAGER *aManager) |
Set the TOOL_MANAGER the tool will belong to. | |
KIGFX::VIEW * | getView () const |
Returns the instance of #VIEW object used in the application. | |
KIGFX::VIEW_CONTROLS * | getViewControls () const |
Return the instance of VIEW_CONTROLS object used in the application. | |
template<typename T > | |
T * | getEditFrame () const |
Return the application window object, casted to requested user type. | |
template<typename T > | |
T * | getModel () const |
Return the model object if it matches the requested type. | |
Protected Attributes | |
bool | m_isFootprintEditor |
bool | m_isBoardEditor |
std::unique_ptr< TOOL_MENU > | m_menu |
The functions below are not yet implemented - their interface may change. | |
TOOL_TYPE | m_type |
TOOL_ID | m_toolId |
Unique id, assigned by a TOOL_MANAGER instance. | |
std::string | m_toolName |
Names are expected to obey the format application.ToolName (eg. | |
TOOL_MANAGER * | m_toolMgr |
Private Types | |
enum class | DRAW_ONE_RESULT { ACCEPTED , CANCELLED , RESET , ACCEPTED_AND_RESET } |
Private Member Functions | |
bool | drawShape (const TOOL_EVENT &aTool, PCB_SHAPE **aGraphic, std::optional< VECTOR2D > aStartingPoint, std::stack< PCB_SHAPE * > *aCommittedGraphics) |
Start drawing a selected shape (i.e. | |
bool | drawArc (const TOOL_EVENT &aTool, PCB_SHAPE **aGraphic, std::optional< VECTOR2D > aStartingPoint) |
Start drawing an arc. | |
std::unique_ptr< PCB_SHAPE > | drawOneBezier (const TOOL_EVENT &aTool, const OPT_VECTOR2I &aStartingPoint, const OPT_VECTOR2I &aStartingControl1Point, DRAW_ONE_RESULT &aResult) |
Draw a bezier curve. | |
bool | getSourceZoneForAction (ZONE_MODE aMode, ZONE **aZone) |
Draw a polygon, that is added as a zone or a keepout area. | |
void | constrainDimension (PCB_DIMENSION_BASE *aDim) |
Force the dimension lime to be drawn on multiple of 45 degrees. | |
VECTOR2I | getClampedDifferenceEnd (const VECTOR2I &aOrigin, const VECTOR2I &aEnd) |
Clamps the end vector to respect numeric limits of difference representation. | |
VECTOR2I | getClampedRadiusEnd (const VECTOR2I &aOrigin, const VECTOR2I &aEnd) |
Clamps the end vector to respect numeric limits of radius representation. | |
void | resetTransitions () |
Clear the current transition map and restores the default one created by setTransitions(). | |
void | goInternal (TOOL_STATE_FUNC &aState, const TOOL_EVENT_LIST &aConditions) |
EDA_ITEM * | getModelInternal () const |
TOOLS_HOLDER * | getToolHolderInternal () const |
Static Private Attributes | |
static const unsigned int | WIDTH_STEP = pcbIUScale.mmToIU( 0.1 ) |
static const unsigned int | COORDS_PADDING = pcbIUScale.mmToIU( 20 ) |
Friends | |
class | ZONE_CREATE_HELPER |
Tool responsible for drawing graphical elements like lines, arcs, circles, etc.
Definition at line 54 of file drawing_tool.h.
|
strongprivate |
Enumerator | |
---|---|
ACCEPTED | |
CANCELLED | |
RESET | |
ACCEPTED_AND_RESET |
Definition at line 243 of file drawing_tool.h.
|
protectedinherited |
Options for placing items interactively.
Definition at line 121 of file pcb_tool_base.h.
|
strong |
Enumerator | |
---|---|
NONE | |
LINE | |
RECTANGLE | |
CIRCLE | |
ARC | |
BEZIER | |
IMAGE | |
TEXT | |
ANCHOR | |
DXF | |
DIMENSION | |
KEEPOUT | |
ZONE | |
GRAPHIC_POLYGON | |
VIA | |
TUNING |
Definition at line 67 of file drawing_tool.h.
|
inherited |
Determine the reason of reset for a tool.
Definition at line 77 of file tool_base.h.
DRAWING_TOOL::DRAWING_TOOL | ( | ) |
Definition at line 173 of file drawing_tool.cpp.
DRAWING_TOOL::~DRAWING_TOOL | ( | ) |
Definition at line 189 of file drawing_tool.cpp.
|
inherited |
Run the tool.
After activation, the tool starts receiving events until it is finished.
Definition at line 64 of file tool_interactive.cpp.
References TOOL_MANAGER::InvokeTool(), TOOL_BASE::m_toolId, and TOOL_BASE::m_toolMgr.
Referenced by AUTOPLACE_TOOL::autoplace(), EDIT_TOOL::copyToClipboard(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), EDIT_TOOL::DragArcTrack(), DrawArc(), DrawBezier(), DrawCircle(), DrawDimension(), DrawLine(), MICROWAVE_TOOL::drawMicrowaveInductor(), DrawRectangle(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DrawTable(), DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), PAD_TOOL::EditPad(), PAD_TOOL::EnumeratePads(), PCB_CONTROL::GridPlaceOrigin(), SCH_EDITOR_CONTROL::HighlightNetCursor(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), SCH_EDIT_TOOL::InteractiveDelete(), SYMBOL_EDITOR_EDIT_TOOL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), PCB_CONTROL::InteractiveDelete(), InteractivePlaceWithPreview(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), EE_POINT_EDITOR::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), PCB_PICKER_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), PCB_POINT_EDITOR::OnSelectionChange(), GROUP_TOOL::PickNewMember(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), PlaceText(), PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), EDIT_TOOL::Remove(), ROUTER_TOOL::RouteSelected(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), SetAnchor(), DRC_TOOL::ShowDRCDialog(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and SCH_LINE_WIRE_BUS_TOOL::UnfoldBus().
|
protectedinherited |
Set the TOOL_MANAGER the tool will belong to.
Called by TOOL_MANAGER::RegisterTool()
Definition at line 60 of file tool_base.cpp.
References TOOL_BASE::m_toolMgr.
Referenced by TOOL_MANAGER::RegisterTool().
|
inlineprotectedinherited |
Definition at line 171 of file pcb_tool_base.h.
Referenced by PCB_CONTROL::AppendBoard(), BOARD_EDITOR_CONTROL::AssignNetclass(), MULTICHANNEL_TOOL::AutogenerateRuleAreas(), AUTOPLACE_TOOL::autoplace(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), EDIT_TOOL::ChangeTrackWidth(), ZONE_FILLER_TOOL::CheckAllZones(), BOARD_INSPECTION_TOOL::ClearHighlight(), MULTICHANNEL_TOOL::copyRuleAreaContents(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), MICROWAVE_TOOL::createInductorBetween(), ZONE_CREATE_HELPER::createNewZone(), CONVERT_TOOL::CreatePolys(), ROUTER_TOOL::CustomTrackWidthDialog(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::DragArcTrack(), drawArc(), DrawDimension(), drawOneBezier(), drawShape(), PAD_TOOL::EnumeratePads(), PAD_TOOL::explodePad(), BOARD_EDITOR_CONTROL::ExportNetlist(), ZONE_FILLER_TOOL::FillAllZones(), EDIT_TOOL::FilletTracks(), MULTICHANNEL_TOOL::FindExistingRuleAreas(), MULTICHANNEL_TOOL::findOtherItemsInRuleArea(), MULTICHANNEL_TOOL::findRoutedConnections(), PCB_TOOL_BASE::footprint(), GENERATOR_TOOL::GenEditAction(), GENERATOR_TOOL::GENERATOR_TOOL(), GROUP_TOOL::Group(), ROUTER_TOOL::handleLayerSwitch(), BOARD_INSPECTION_TOOL::highlightNet(), MULTICHANNEL_TOOL::identifyComponentsInRuleArea(), ROUTER_TOOL::Init(), ROUTER_TOOL::InlineDrag(), PCB_CONTROL::InteractiveDelete(), InteractivePlaceWithPreview(), PCB_CONTROL::LayerNext(), PCB_CONTROL::LayerPrev(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), EDIT_TOOL::MoveExact(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), PAD_TOOL::OnUndoRedo(), PCB_CONTROL::Paste(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PAD_TOOL::PlacePad(), PlaceText(), PlaceTuningPattern(), MULTICHANNEL_TOOL::pruneExistingGroups(), PCB_CONTROL::pruneItemLayers(), MULTICHANNEL_TOOL::queryComponentsInComponentClass(), MULTICHANNEL_TOOL::queryComponentsInSheet(), MULTICHANNEL_TOOL::QuerySheetsAndComponentClasses(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), PAD_TOOL::RecombinePad(), GENERATOR_TOOL::RegenerateAllOfType(), GENERATOR_TOOL::RegenerateItem(), GENERATOR_TOOL::RegenerateSelected(), BOARD_EDITOR_CONTROL::RepairBoard(), FOOTPRINT_EDITOR_CONTROL::RepairFootprint(), MULTICHANNEL_TOOL::RepeatLayout(), PNS::TOOL_BASE::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), PAD_TOOL::Reset(), PCB_CONTROL::Reset(), PCB_CONTROL::TrackDisplayMode(), PCB_CONTROL::unfilledZoneCheck(), ROUTER_TOOL::UpdateMessagePanel(), ROUTER_TOOL::updateSizesAfterRouterEvent(), PCB_CONTROL::ViaDisplayMode(), PCB_CONTROL::ZoneDisplayMode(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), ZONE_FILLER_TOOL::ZoneFill(), ZONE_FILLER_TOOL::ZoneFillDirty(), BOARD_EDITOR_CONTROL::ZoneMerge(), GLOBAL_EDIT_TOOL::ZonesManager(), and ZONE_FILLER_TOOL::ZoneUnfillAll().
|
protectedinherited |
Definition at line 309 of file pcb_tool_base.cpp.
References PCB_TOOL_BASE::frame().
Referenced by BOARD_EDITOR_CONTROL::AssignNetclass(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), EDIT_TOOL::DeleteItems(), EDIT_TOOL::doMoveSelection(), PAD_TOOL::enterPadEditMode(), PAD_TOOL::EnumeratePads(), PAD_TOOL::ExitPadEditMode(), ZONE_FILLER_TOOL::FillAllZones(), EDIT_TOOL::Init(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), EDIT_TOOL::pickReferencePoint(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), PCB_CONTROL::RatsnestModeCycle(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::refresh(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), EDIT_TOOL::Remove(), FOOTPRINT_EDITOR_CONTROL::Save(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), ZONE_FILLER_TOOL::singleShotRefocus(), PCB_CONTROL::ToggleRatsnest(), PCB_CONTROL::TrackDisplayMode(), PCB_CONTROL::ViaDisplayMode(), PCB_CONTROL::ZoneDisplayMode(), and ZONE_FILLER_TOOL::ZoneFillDirty().
|
private |
Force the dimension lime to be drawn on multiple of 45 degrees.
aDimension | is the dimension element currently being drawn. |
Definition at line 1328 of file drawing_tool.cpp.
References PCB_DIMENSION_BASE::GetEnd(), PCB_DIMENSION_BASE::GetStart(), GetVectorSnapped45(), PCB_DIMENSION_BASE::SetEnd(), and PCB_DIMENSION_BASE::Update().
Referenced by DrawDimension().
|
inlineprotectedinherited |
Definition at line 160 of file pcb_tool_base.h.
References TOOL_BASE::getViewControls().
Referenced by PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::DragArcTrack(), MICROWAVE_TOOL::drawMicrowaveInductor(), DrawZone(), ROUTER_TOOL::finishInteractive(), ROUTER_TOOL::handleLayerSwitch(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), PCB_PICKER_TOOL::Main(), ROUTER_TOOL::MainLoop(), ROUTER_TOOL::performRouting(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), ROUTER_TOOL::prepareInteractive(), ROUTER_TOOL::RouteSelected(), PCB_PICKER_TOOL::setControls(), PCB_POINT_EDITOR::setEditedPoint(), PNS::TOOL_BASE::updateEndItem(), and PNS::TOOL_BASE::updateStartItem().
|
protectedinherited |
Definition at line 304 of file pcb_tool_base.cpp.
References PCB_TOOL_BASE::frame().
Referenced by BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), PCB_CONTROL::RatsnestModeCycle(), PCB_CONTROL::ToggleRatsnest(), PCB_CONTROL::TrackDisplayMode(), and PCB_CONTROL::ViaDisplayMode().
|
protectedinherited |
Helper function for performing a common interactive idiom: wait for a left click, place an item there (perhaps with a dialog or other user interaction), then have it move with the mouse and respond to rotate/flip, etc.
More complex interactive processes are not supported here, you should implement a customised event loop for those.
aItemCreator | the callable that will attempt to create the item |
aCommitMessage | the message used on a successful commit |
Definition at line 43 of file pcb_tool_base.cpp.
References TOOL_INTERACTIVE::Activate(), SELECTION::Add(), KIGFX::VIEW_GROUP::Add(), KIGFX::PCB_VIEW::Add(), PCB_TOOL_BASE::board(), BUT_LEFT, BUT_RIGHT, KIGFX::VIEW_CONTROLS::CaptureCursor(), SELECTION::Clear(), EDA_ITEM::ClearFlags(), PCB_TOOL_BASE::controls(), INTERACTIVE_PLACER_BASE::CreateItem(), PCB_ACTIONS::flip, KIGFX::VIEW_CONTROLS::ForceCursorPosition(), PCB_TOOL_BASE::frame(), TOOL_EVT_UTILS::GetEventRotationAngle(), EDA_ITEM::GetFlags(), TOOL_BASE::GetManager(), TOOL_BASE::getView(), grid, PCB_TOOL_BASE::IPO_FLIP, PCB_TOOL_BASE::IPO_REPEAT, PCB_TOOL_BASE::IPO_ROTATE, PCB_TOOL_BASE::IPO_SINGLE_CLICK, TOOL_EVT_UTILS::IsRotateToolEvt(), INTERACTIVE_PLACER_BASE::m_board, INTERACTIVE_PLACER_BASE::m_frame, TOOL_INTERACTIVE::m_menu, INTERACTIVE_PLACER_BASE::m_modifiers, TOOL_BASE::m_toolMgr, INTERACTIVE_PLACER_BASE::PlaceItem(), TOOL_MANAGER::PostAction(), TOOL_MANAGER::ProcessEvent(), PCB_ACTIONS::properties, BOARD_COMMIT::Push(), ACTIONS::refreshPreview, KIGFX::PCB_VIEW::Remove(), TOOL_MANAGER::RunAction(), EVENTS::SelectedItemsModified, PCB_TOOL_BASE::selection(), PCB_ACTIONS::selectionClear, KIGFX::VIEW_CONTROLS::SetAutoPan(), EDA_ITEM::SetFlags(), KIGFX::VIEW_CONTROLS::ShowCursor(), INTERACTIVE_PLACER_BASE::SnapItem(), TC_COMMAND, PCB_ACTIONS::trackViaSizeChanged, KIGFX::PCB_VIEW::Update(), PCB_TOOL_BASE::view(), and TOOL_INTERACTIVE::Wait().
Referenced by MICROWAVE_TOOL::addMicrowaveFootprint(), DrawVia(), and PAD_TOOL::PlacePad().
int DRAWING_TOOL::DrawArc | ( | const TOOL_EVENT & | aEvent | ) |
Start interactively drawing an arc.
After invoking the function it expects the user to first click on a point that is going to be used as the center of the arc. The second click determines the origin and radius, the third one - the angle.
Definition at line 510 of file drawing_tool.cpp.
References _, TOOL_INTERACTIVE::Activate(), COMMIT::Add(), ARC, drawArc(), PCB_BASE_FRAME::GetModel(), TOOL_EVENT::HasPosition(), IS_NEW, m_frame, m_inDrawingTool, PCB_TOOL_BASE::m_isFootprintEditor, m_mode, TOOL_BASE::m_toolMgr, TOOL_EVENT::Position(), BOARD_COMMIT::Push(), TOOLS_HOLDER::PushTool(), TOOL_MANAGER::RunAction(), PCB_ACTIONS::selectItem, EDA_ITEM::SetFlags(), and EDA_SHAPE::SetShape().
Referenced by setTransitions().
|
private |
Start drawing an arc.
aGraphic | is an object that is going to be used by the tool for drawing. Must be already created. The tool deletes the object if it is not added to a BOARD. |
Definition at line 2557 of file drawing_tool.cpp.
References SELECTION::Add(), KIGFX::VIEW::Add(), KIGFX::PREVIEW::MULTISTEP_GEOM_MANAGER::AddPoint(), ANGLE_90, PCB_ACTIONS::arcPosture, PCB_TOOL_BASE::board(), BUT_LEFT, BUT_RIGHT, KIGFX::VIEW_CONTROLS::CaptureCursor(), SELECTION::Clear(), COORDS_PADDING, PCB_ACTIONS::decWidth, PCB_ACTIONS::deleteLastPoint, KIGFX::VIEW_CONTROLS::ForceCursorPosition(), PCB_TOOL_BASE::frame(), PCB_BASE_FRAME::GetActiveLayer(), PCB_BASE_EDIT_FRAME::GetAppearancePanel(), PCB_BASE_FRAME::GetCanvas(), GetClampedCoords(), PCB_BASE_FRAME::GetDesignSettings(), KIGFX::PREVIEW::ARC_GEOM_MANAGER::GetEndRadiusEnd(), BOARD_DESIGN_SETTINGS::GetLineThickness(), PCB_BASE_FRAME::GetMagneticItemsSettings(), KIGFX::VIEW_CONTROLS::GetMousePosition(), KIGFX::PREVIEW::ARC_GEOM_MANAGER::GetStartRadiusEnd(), KIGFX::PREVIEW::ARC_GEOM_MANAGER::GetStep(), GetUserUnits(), UNITS_PROVIDER::GetUserUnits(), TOOL_BASE::getView(), STROKE_PARAMS::GetWidth(), grid, GRID_GRAPHICS, KIGFX::PREVIEW::MULTISTEP_GEOM_MANAGER::HasGeometryChanged(), PCB_ACTIONS::incWidth, PCB_TOOL_BASE::Is45Limited(), KIGFX::PREVIEW::MULTISTEP_GEOM_MANAGER::IsComplete(), KIGFX::VIEW::IsLayerVisible(), ZONE_FILLER_TOOL::IsZoneFillAction(), LAYER_SHAPES, PCB_ACTIONS::layerChanged, m_controls, m_frame, m_layer, TOOL_INTERACTIVE::m_menu, m_stroke, TOOL_BASE::m_toolMgr, m_view, MD_CTRL, MD_SHIFT, pcbIUScale, TOOLS_HOLDER::PopTool(), TOOL_MANAGER::PostAction(), TOOL_MANAGER::PrimeTool(), PCB_ACTIONS::properties, ACTIONS::redo, EDA_DRAW_PANEL_GAL::Refresh(), ACTIONS::refreshPreview, SELECTION::Remove(), KIGFX::VIEW::Remove(), KIGFX::PREVIEW::MULTISTEP_GEOM_MANAGER::RemoveLastPoint(), TOOL_MANAGER::RunAction(), PCB_TOOL_BASE::selection(), PCB_ACTIONS::selectionClear, KIGFX::PREVIEW::ARC_GEOM_MANAGER::SET_ANGLE, KIGFX::PREVIEW::ARC_GEOM_MANAGER::SET_START, KIGFX::PREVIEW::ARC_GEOM_MANAGER::SetAngleSnap(), EDA_SHAPE::SetArcAngleAndEnd(), KIGFX::VIEW_CONTROLS::SetAutoPan(), STROKE_PARAMS::SetColor(), EDA_DRAW_PANEL_GAL::SetCurrentCursor(), PCB_SHAPE::SetLayer(), APPEARANCE_CONTROLS::SetLayerVisible(), STROKE_PARAMS::SetLineStyle(), EDA_DRAW_FRAME::SetMsgPanel(), PCB_BASE_EDIT_FRAME::SetObjectVisible(), EDA_SHAPE::SetShape(), PCB_SHAPE::SetStroke(), KIGFX::PREVIEW::ARC_ASSISTANT::SetUnits(), STROKE_PARAMS::SetWidth(), KIGFX::VIEW_CONTROLS::ShowCursor(), KIGFX::PREVIEW::ARC_GEOM_MANAGER::ToggleClockwise(), ACTIONS::undo, KIGFX::VIEW::Update(), updateArcFromConstructionMgr(), ACTIONS::updateUnits, TOOL_MANAGER::VetoContextMenuMouseWarp(), TOOL_INTERACTIVE::Wait(), and WIDTH_STEP.
Referenced by DrawArc().
int DRAWING_TOOL::DrawBezier | ( | const TOOL_EVENT & | aEvent | ) |
Start interactively drawing a bezier curve.
An interactive geometry manager will handle adding/editing the control points.
Definition at line 556 of file drawing_tool.cpp.
References _, ACCEPTED, TOOL_INTERACTIVE::Activate(), COMMIT::Add(), BEZIER, CANCELLED, drawOneBezier(), EDA_SHAPE::GetBezierC2(), EDA_SHAPE::GetEnd(), PCB_BASE_FRAME::GetModel(), TOOL_EVENT::HasPosition(), m_frame, m_inDrawingTool, PCB_TOOL_BASE::m_isFootprintEditor, m_mode, TOOL_EVENT::Position(), BOARD_COMMIT::Push(), and TOOLS_HOLDER::PushTool().
Referenced by setTransitions().
std::vector< BOARD_ITEM * > DRAWING_TOOL::DrawBoardCharacteristics | ( | const VECTOR2I & | origin, |
PCB_LAYER_ID | aLayer, | ||
bool | aDrawNow, | ||
VECTOR2I * | tablesize | ||
) |
Definition at line 362 of file drawing_stackup_table_tool.cpp.
References _, COMMIT::Add(), SHAPE_POLY_SET::BBox(), BS_EDGE_CONNECTOR_BEVELLED, BS_EDGE_CONNECTOR_IN_USE, BS_EDGE_CONNECTOR_NONE, Eco1_User, EDA_UNIT_UTILS::UI::FromUserUnit(), PCB_BASE_FRAME::GetBoard(), BOARD::GetBoardPolygonOutlines(), BOARD_DESIGN_SETTINGS::GetBoardThickness(), PCB_TEXT::GetBoundingBox(), BOARD_DESIGN_SETTINGS::GetCopperLayerCount(), BOARD::GetDesignSettings(), BOX2< Vec >::GetHeight(), PCB_BASE_FRAME::GetModel(), BOARD_DESIGN_SETTINGS::GetStackupDescriptor(), BOX2< Vec >::GetWidth(), GR_TEXT_H_ALIGN_LEFT, GR_TEXT_V_ALIGN_TOP, initTextTable(), BOARD_STACKUP::m_CastellatedPads, BOARD_STACKUP::m_EdgeConnectorConstraints, BOARD_STACKUP::m_EdgePlating, BOARD_STACKUP::m_FinishType, m_frame, BOARD_STACKUP::m_HasDielectricConstrains, BOARD_DESIGN_SETTINGS::m_MinClearance, BOARD_DESIGN_SETTINGS::m_MinThroughDrill, BOARD_DESIGN_SETTINGS::m_TrackMinWidth, BOARD_DESIGN_SETTINGS::m_ViasMinSize, UNITS_PROVIDER::MessageTextFromValue(), EDA_IU_SCALE::mmToIU(), pcbIUScale, BOARD_COMMIT::Push(), PCB_TEXT::SetPosition(), EDA_TEXT::SetText(), EDA_UNIT_UTILS::UI::StringFromValue(), unityScale, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by PlaceCharacteristics().
int DRAWING_TOOL::DrawCircle | ( | const TOOL_EVENT & | aEvent | ) |
Start interactively drawing a circle.
After invoking the function it expects the user to first click on a point that is going to be used as the center of the circle. The second click determines the circle radius.
Definition at line 462 of file drawing_tool.cpp.
References _, TOOL_INTERACTIVE::Activate(), COMMIT::Add(), CIRCLE, TOOL_EVENT::DisableGridSnapping(), drawShape(), KIGFX::VIEW_CONTROLS::GetCursorPosition(), PCB_BASE_FRAME::GetModel(), TOOL_BASE::getViewControls(), TOOL_EVENT::HasPosition(), IS_NEW, m_frame, m_inDrawingTool, PCB_TOOL_BASE::m_isFootprintEditor, m_mode, TOOL_BASE::m_toolMgr, BOARD_COMMIT::Push(), TOOLS_HOLDER::PushTool(), TOOL_MANAGER::RunAction(), PCB_ACTIONS::selectItem, EDA_SHAPE::SetFilled(), EDA_ITEM::SetFlags(), and EDA_SHAPE::SetShape().
Referenced by setTransitions().
int DRAWING_TOOL::DrawDimension | ( | const TOOL_EVENT & | aEvent | ) |
Start interactively drawing a dimension.
After invoking the function it expects the user to first click on a point that is going to be used as the origin of the dimension. The second click determines the end and the third click modifies its height.
Definition at line 1337 of file drawing_tool.cpp.
References _, std::abs(), TOOL_INTERACTIVE::Activate(), SELECTION::Add(), COMMIT::Add(), KIGFX::VIEW::Add(), PCB_TOOL_BASE::board(), BUT_LEFT, BUT_RIGHT, KIGFX::VIEW_CONTROLS::CaptureCursor(), BOX2< Vec >::Centre(), PCB_ACTIONS::changeDimensionArrows, SELECTION::Clear(), constrainDimension(), BOX2< Vec >::Contains(), COORDS_PADDING, ACTIONS::cursorClick, PCB_ACTIONS::decWidth, delta, DIMENSION, PCB_ACTIONS::drawAlignedDimension, PCB_ACTIONS::drawCenterDimension, PCB_ACTIONS::drawLeader, PCB_ACTIONS::drawOrthogonalDimension, PCB_ACTIONS::drawRadialDimension, KIGFX::VIEW_CONTROLS::ForceCursorPosition(), PCB_TOOL_BASE::frame(), PCB_BASE_FRAME::GetActiveLayer(), PCB_DIM_ALIGNED::GetAngle(), PCB_BASE_EDIT_FRAME::GetAppearancePanel(), PCB_DIMENSION_BASE::GetArrowDirection(), PCB_DIMENSION_BASE::GetArrowLength(), BOX2< Vec >::GetBottom(), PCB_BASE_FRAME::GetCanvas(), GetClampedCoords(), BOARD::GetDesignSettings(), PCB_DIMENSION_BASE::GetEnd(), BOX2< Vec >::GetHeight(), PCB_DIM_RADIAL::GetKnee(), BOX2< Vec >::GetLeft(), PCB_DIMENSION_BASE::GetLineThickness(), BOARD_DESIGN_SETTINGS::GetLineThickness(), PCB_BASE_FRAME::GetMagneticItemsSettings(), PCB_BASE_FRAME::GetModel(), KIGFX::VIEW_CONTROLS::GetMousePosition(), BOX2< Vec >::GetRight(), PCB_DIMENSION_BASE::GetStart(), BOARD_DESIGN_SETTINGS::GetTextItalic(), BOARD_DESIGN_SETTINGS::GetTextSize(), BOARD_DESIGN_SETTINGS::GetTextThickness(), BOX2< Vec >::GetTop(), TOOL_BASE::getView(), STROKE_PARAMS::GetWidth(), BOX2< Vec >::GetWidth(), grid, GRID_GRAPHICS, TOOL_EVENT::HasPosition(), PCB_DIM_ORTHOGONAL::HORIZONTAL, PCB_ACTIONS::incWidth, PCB_TOOL_BASE::Is45Limited(), TOOL_EVENT::IsAction(), IsBackLayer(), KIGFX::VIEW::IsLayerVisible(), ZONE_FILLER_TOOL::IsZoneFillAction(), KI_FALLTHROUGH, PCB_ACTIONS::layerChanged, m_board, m_controls, BOARD_DESIGN_SETTINGS::m_DimensionArrowLength, BOARD_DESIGN_SETTINGS::m_DimensionExtensionOffset, BOARD_DESIGN_SETTINGS::m_DimensionKeepTextAligned, BOARD_DESIGN_SETTINGS::m_DimensionPrecision, BOARD_DESIGN_SETTINGS::m_DimensionSuppressZeroes, BOARD_DESIGN_SETTINGS::m_DimensionTextPosition, BOARD_DESIGN_SETTINGS::m_DimensionUnitsFormat, BOARD_DESIGN_SETTINGS::m_DimensionUnitsMode, m_frame, m_inDrawingTool, PCB_TOOL_BASE::m_isFootprintEditor, TOOL_INTERACTIVE::m_menu, m_mode, m_stroke, TOOL_BASE::m_toolMgr, m_view, MD_CTRL, MD_SHIFT, ortho, PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_DIMENSION_T, TOOLS_HOLDER::PopTool(), TOOL_EVENT::Position(), TOOL_MANAGER::PostAction(), TOOL_MANAGER::PrimeTool(), PCB_ACTIONS::properties, BOARD_COMMIT::Push(), TOOLS_HOLDER::PushTool(), ACTIONS::redo, EDA_DRAW_PANEL_GAL::Refresh(), ACTIONS::refreshPreview, SELECTION::Remove(), KIGFX::VIEW::Remove(), TOOL_MANAGER::RunAction(), PCB_TOOL_BASE::selection(), PCB_ACTIONS::selectionClear, PCB_ACTIONS::selectItem, PCB_DIMENSION_BASE::SetArrowDirection(), PCB_DIMENSION_BASE::SetArrowLength(), KIGFX::VIEW_CONTROLS::SetAutoPan(), EDA_DRAW_PANEL_GAL::SetCurrentCursor(), PCB_DIMENSION_BASE::SetEnd(), PCB_DIMENSION_BASE::SetExtensionOffset(), PCB_DIM_ALIGNED::SetHeight(), EDA_TEXT::SetItalic(), BOARD_ITEM::SetLayer(), APPEARANCE_CONTROLS::SetLayerVisible(), PCB_DIMENSION_BASE::SetLineThickness(), EDA_TEXT::SetMirrored(), EDA_DRAW_FRAME::SetMsgPanel(), PCB_DIMENSION_BASE::SetStart(), EDA_TEXT::SetTextPos(), EDA_TEXT::SetTextSize(), EDA_TEXT::SetTextThickness(), STROKE_PARAMS::SetWidth(), KIGFX::VIEW_CONTROLS::ShowCursor(), EDA_ITEM::Type(), ACTIONS::undo, PCB_DIMENSION_BASE::Update(), KIGFX::VIEW::Update(), PCB_DIM_ORTHOGONAL::VERTICAL, TOOL_MANAGER::VetoContextMenuMouseWarp(), TOOL_INTERACTIVE::Wait(), WIDTH_STEP, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by setTransitions().
int DRAWING_TOOL::DrawLine | ( | const TOOL_EVENT & | aEvent | ) |
Start interactively drawing a line.
After invoking the function it expects the user to click at least two times to determine the origin and the end for a line. If there are more clicks, the line is drawn as a continuous polyline.
Definition at line 350 of file drawing_tool.cpp.
References _, TOOL_INTERACTIVE::Activate(), COMMIT::Add(), TOOL_EVENT::DisableGridSnapping(), drawShape(), KIGFX::VIEW_CONTROLS::GetCursorPosition(), EDA_SHAPE::GetEnd(), PCB_BASE_FRAME::GetModel(), TOOL_BASE::getViewControls(), TOOL_EVENT::HasPosition(), IS_NEW, LINE, m_frame, m_inDrawingTool, PCB_TOOL_BASE::m_isFootprintEditor, m_mode, BOARD_COMMIT::Push(), TOOLS_HOLDER::PushTool(), EDA_ITEM::SetFlags(), and EDA_SHAPE::SetShape().
Referenced by setTransitions().
|
private |
Draw a bezier curve.
aTool | is the event that triggered the drawing. |
aStartingPoint | is the starting point of the curve (e.g. the end point of the previous curve). |
aStartingControl1Point | is the previous control point of the curve (which can be used to create a smooth transition between two curves). |
aCancelled | is set to true if the tool was canceled before the curve was finished. |
Definition at line 2863 of file drawing_tool.cpp.
References ACCEPTED, ACCEPTED_AND_RESET, SELECTION::Add(), KIGFX::VIEW::Add(), KIGFX::PREVIEW::MULTISTEP_GEOM_MANAGER::AddPoint(), PCB_TOOL_BASE::board(), BUT_LEFT, BUT_RIGHT, CANCELLED, KIGFX::VIEW_CONTROLS::CaptureCursor(), SELECTION::Clear(), COORDS_PADDING, PCB_ACTIONS::decWidth, PCB_ACTIONS::deleteLastPoint, KIGFX::VIEW_CONTROLS::ForceCursorPosition(), PCB_TOOL_BASE::frame(), PCB_BASE_FRAME::GetActiveLayer(), PCB_BASE_EDIT_FRAME::GetAppearancePanel(), PCB_BASE_FRAME::GetCanvas(), GetClampedCoords(), PCB_BASE_FRAME::GetDesignSettings(), BOARD_DESIGN_SETTINGS::GetLineThickness(), PCB_BASE_FRAME::GetMagneticItemsSettings(), PCB_BASE_FRAME::GetModel(), KIGFX::VIEW_CONTROLS::GetMousePosition(), KIGFX::PREVIEW::BEZIER_GEOM_MANAGER::GetStep(), GetUserUnits(), UNITS_PROVIDER::GetUserUnits(), TOOL_BASE::getView(), STROKE_PARAMS::GetWidth(), grid, GRID_GRAPHICS, KIGFX::PREVIEW::MULTISTEP_GEOM_MANAGER::HasGeometryChanged(), PCB_ACTIONS::incWidth, IS_NEW, KIGFX::PREVIEW::MULTISTEP_GEOM_MANAGER::IsComplete(), KIGFX::VIEW::IsLayerVisible(), ZONE_FILLER_TOOL::IsZoneFillAction(), LAYER_SHAPES, PCB_ACTIONS::layerChanged, m_controls, m_frame, m_layer, TOOL_INTERACTIVE::m_menu, m_stroke, TOOL_BASE::m_toolMgr, m_view, MD_SHIFT, pcbIUScale, TOOLS_HOLDER::PopTool(), TOOL_MANAGER::PostAction(), TOOL_MANAGER::PrimeTool(), PCB_ACTIONS::properties, ACTIONS::redo, EDA_DRAW_PANEL_GAL::Refresh(), ACTIONS::refreshPreview, SELECTION::Remove(), KIGFX::VIEW::Remove(), KIGFX::PREVIEW::MULTISTEP_GEOM_MANAGER::RemoveLastPoint(), RESET, TOOL_MANAGER::RunAction(), PCB_TOOL_BASE::selection(), PCB_ACTIONS::selectionClear, KIGFX::PREVIEW::BEZIER_GEOM_MANAGER::SET_END, KIGFX::PREVIEW::BEZIER_GEOM_MANAGER::SET_START, KIGFX::VIEW_CONTROLS::SetAutoPan(), STROKE_PARAMS::SetColor(), EDA_DRAW_PANEL_GAL::SetCurrentCursor(), APPEARANCE_CONTROLS::SetLayerVisible(), STROKE_PARAMS::SetLineStyle(), EDA_DRAW_FRAME::SetMsgPanel(), PCB_BASE_EDIT_FRAME::SetObjectVisible(), KIGFX::PREVIEW::BEZIER_ASSISTANT::SetUnits(), STROKE_PARAMS::SetWidth(), KIGFX::VIEW_CONTROLS::ShowCursor(), ACTIONS::undo, KIGFX::VIEW::Update(), updateBezierFromConstructionMgr(), ACTIONS::updateUnits, TOOL_MANAGER::VetoContextMenuMouseWarp(), TOOL_INTERACTIVE::Wait(), and WIDTH_STEP.
Referenced by DrawBezier().
int DRAWING_TOOL::DrawRectangle | ( | const TOOL_EVENT & | aEvent | ) |
Start interactively drawing a rectangle.
After invoking the function it expects the user to first click on a point that is going to be used as the top-left of the rectangle. The second click determines the bottom-right.
Definition at line 399 of file drawing_tool.cpp.
References _, TOOL_INTERACTIVE::Activate(), COMMIT::Add(), TOOL_EVENT::DisableGridSnapping(), drawShape(), PCB_ACTIONS::drawTextBox, KIGFX::VIEW_CONTROLS::GetCursorPosition(), PCB_BASE_FRAME::GetModel(), TOOL_BASE::getViewControls(), TOOL_EVENT::HasPosition(), IS_NEW, TOOL_EVENT::IsAction(), m_frame, m_inDrawingTool, PCB_TOOL_BASE::m_isFootprintEditor, m_mode, TOOL_BASE::m_toolMgr, PCB_SHAPE::Normalize(), BOARD_COMMIT::Push(), TOOLS_HOLDER::PushTool(), RECTANGLE, TOOL_MANAGER::RunAction(), PCB_ACTIONS::selectItem, EDA_SHAPE::SetFilled(), EDA_ITEM::SetFlags(), EDA_SHAPE::SetShape(), and PCB_BASE_EDIT_FRAME::ShowTextBoxPropertiesDialog().
Referenced by setTransitions().
|
private |
Start drawing a selected shape (i.e.
aGraphic | is an object that is going to be used by the tool for drawing. Must be already created. The tool deletes the object if it is not added to a BOARD. |
aStartingPoint | is a starting point for this new PCB_SHAPE. If it exists the new item has its start point set to aStartingPoint, and its settings (width, layer) set to the current default values. |
Definition at line 2142 of file drawing_tool.cpp.
References _, SELECTION::Add(), COMMIT::Add(), KIGFX::VIEW::Add(), PCB_TOOL_BASE::board(), BUT_LEFT, BUT_RIGHT, KIGFX::VIEW_CONTROLS::CaptureCursor(), SELECTION::Clear(), PCB_BASE_EDIT_FRAME::ClearListAndDeleteItems(), COORDS_PADDING, PCB_ACTIONS::decWidth, PCB_ACTIONS::deleteLastPoint, ACTIONS::doDelete, KIGFX::VIEW_CONTROLS::ForceCursorPosition(), PCB_TOOL_BASE::frame(), PCB_BASE_FRAME::GetActiveLayer(), PCB_BASE_EDIT_FRAME::GetAppearancePanel(), PCB_BASE_FRAME::GetCanvas(), GetClampedCoords(), getClampedDifferenceEnd(), getClampedRadiusEnd(), PCB_BASE_FRAME::GetDesignSettings(), KIGFX::PREVIEW::TWO_POINT_GEOMETRY_MANAGER::GetEnd(), EDA_SHAPE::GetLength(), BOARD_DESIGN_SETTINGS::GetLineThickness(), PCB_BASE_FRAME::GetMagneticItemsSettings(), KIGFX::VIEW_CONTROLS::GetMousePosition(), KIGFX::PREVIEW::TWO_POINT_GEOMETRY_MANAGER::GetOrigin(), PCB_BASE_FRAME::GetScreen(), BOARD_DESIGN_SETTINGS::GetTextItalic(), BOARD_DESIGN_SETTINGS::GetTextSize(), BOARD_DESIGN_SETTINGS::GetTextThickness(), BOARD_DESIGN_SETTINGS::GetTextUpright(), GetUserUnits(), UNITS_PROVIDER::GetUserUnits(), GetVectorSnapped45(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), STROKE_PARAMS::GetWidth(), GR_TEXT_H_ALIGN_LEFT, GR_TEXT_V_ALIGN_TOP, grid, GRID_GRAPHICS, PCB_ACTIONS::incWidth, InferBold(), PCB_TOOL_BASE::Is45Limited(), IsBackLayer(), KIGFX::PREVIEW::TWO_POINT_GEOMETRY_MANAGER::IsEmpty(), KIGFX::VIEW::IsLayerVisible(), ZONE_FILLER_TOOL::IsZoneFillAction(), LAYER_SHAPES, PCB_ACTIONS::layerChanged, m_controls, m_frame, TEXT_ATTRIBUTES::m_Halign, TEXT_ATTRIBUTES::m_Italic, TEXT_ATTRIBUTES::m_KeepUpright, m_layer, BASE_SCREEN::m_LocalOrigin, TOOL_INTERACTIVE::m_menu, TEXT_ATTRIBUTES::m_Mirrored, m_preview, TEXT_ATTRIBUTES::m_Size, m_stroke, TEXT_ATTRIBUTES::m_StrokeWidth, m_textAttrs, TOOL_BASE::m_toolMgr, TEXT_ATTRIBUTES::m_Valign, m_view, MD_CTRL, MD_SHIFT, pcbIUScale, EDA_BASE_FRAME::PopCommandFromUndoList(), TOOLS_HOLDER::PopTool(), TOOL_MANAGER::PostAction(), TOOL_MANAGER::PrimeTool(), PCB_ACTIONS::properties, BOARD_COMMIT::Push(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), ACTIONS::redo, EDA_DRAW_PANEL_GAL::Refresh(), ACTIONS::refreshPreview, KIGFX::VIEW::Remove(), KIGFX::PREVIEW::TWO_POINT_GEOMETRY_MANAGER::Reset(), ACTIONS::resetLocalCoords, TOOL_MANAGER::RunAction(), PCB_TOOL_BASE::selection(), PCB_ACTIONS::selectionClear, PCB_ACTIONS::selectItem, KIGFX::PREVIEW::TWO_POINT_GEOMETRY_MANAGER::SetAngleSnap(), KIGFX::VIEW_CONTROLS::SetAutoPan(), STROKE_PARAMS::SetColor(), EDA_DRAW_PANEL_GAL::SetCurrentCursor(), KIGFX::PREVIEW::TWO_POINT_GEOMETRY_MANAGER::SetEnd(), EDA_SHAPE::SetFilled(), PCB_SHAPE::SetLayer(), APPEARANCE_CONTROLS::SetLayerVisible(), STROKE_PARAMS::SetLineStyle(), EDA_DRAW_FRAME::SetMsgPanel(), PCB_BASE_EDIT_FRAME::SetObjectVisible(), KIGFX::PREVIEW::TWO_POINT_GEOMETRY_MANAGER::SetOrigin(), EDA_SHAPE::SetShape(), PCB_SHAPE::SetStroke(), KIGFX::PREVIEW::TWO_POINT_ASSISTANT::SetUnits(), STROKE_PARAMS::SetWidth(), KIGFX::VIEW_CONTROLS::ShowCursor(), undo, ACTIONS::undo, KIGFX::VIEW::Update(), updateSegmentFromGeometryMgr(), ACTIONS::updateUnits, TOOL_MANAGER::VetoContextMenuMouseWarp(), TOOL_INTERACTIVE::Wait(), KIGFX::VIEW_CONTROLS::WarpMouseCursor(), and WIDTH_STEP.
Referenced by DrawCircle(), DrawLine(), and DrawRectangle().
std::vector< BOARD_ITEM * > DRAWING_TOOL::DrawSpecificationStackup | ( | const VECTOR2I & | origin, |
PCB_LAYER_ID | aLayer, | ||
bool | aDrawNow, | ||
VECTOR2I * | tablesize | ||
) |
Definition at line 198 of file drawing_stackup_table_tool.cpp.
References _, COMMIT::Add(), BS_ITEM_TYPE_DIELECTRIC, Eco1_User, PCB_TOOL_BASE::footprint(), PCB_BASE_FRAME::GetBoard(), BOARD_STACKUP_ITEM::GetBrdLayerId(), BOARD_STACKUP_ITEM::GetColor(), BOARD_STACKUP::GetCount(), PCB_BASE_FRAME::GetDesignSettings(), BOARD_STACKUP_ITEM::GetEpsilonR(), BOARD_STACKUP_ITEM::GetLayerName(), BOARD::GetLayerName(), BOARD_STACKUP::GetList(), BOARD_STACKUP_ITEM::GetLossTangent(), BOARD_STACKUP_ITEM::GetMaterial(), PCB_BASE_FRAME::GetModel(), BOARD_DESIGN_SETTINGS::GetStackupDescriptor(), BOARD_STACKUP_ITEM::GetSublayersCount(), BOARD_STACKUP_ITEM::GetThickness(), BOARD_STACKUP_ITEM::GetType(), BOARD_STACKUP_ITEM::GetTypeName(), UNITS_PROVIDER::GetUserUnits(), GR_TEXT_H_ALIGN_LEFT, GR_TEXT_V_ALIGN_TOP, initTextTable(), IsValidLayer(), m_frame, EDA_IU_SCALE::mmToIU(), pcbIUScale, BOARD_COMMIT::Push(), EDA_TEXT::SetText(), EDA_UNIT_UTILS::UI::StringFromValue(), UNITS_PROVIDER::StringFromValue(), BOARD_STACKUP::SynchronizeWithBoard(), and unityScale.
Referenced by PlaceStackup().
int DRAWING_TOOL::DrawTable | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 1108 of file drawing_tool.cpp.
References _, TOOL_INTERACTIVE::Activate(), ACTIONS::activatePointEditor, COMMIT::Add(), PCB_TABLE::AddCell(), BUT_LEFT, BUT_RIGHT, KIGFX::VIEW_CONTROLS::CaptureCursor(), PCB_TABLE::ClearCells(), COORDS_PADDING, TOOL_MANAGER::DeactivateTool(), KIGFX::VIEW_CONTROLS::ForceCursorPosition(), PCB_TOOL_BASE::frame(), PCB_BASE_FRAME::GetActiveLayer(), PCB_BASE_EDIT_FRAME::GetAppearancePanel(), PCB_BASE_FRAME::GetCanvas(), GetClampedCoords(), PCB_BASE_FRAME::GetDesignSettings(), BOARD_ITEM::GetLayer(), BOARD_DESIGN_SETTINGS::GetLineThickness(), PCB_BASE_FRAME::GetMagneticItemsSettings(), PCB_BASE_FRAME::GetModel(), KIGFX::VIEW_CONTROLS::GetMousePosition(), PCB_SHAPE::GetPosition(), PCB_TABLE::GetPosition(), PCB_BASE_FRAME::GetScreen(), BOARD_DESIGN_SETTINGS::GetTextSize(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), grid, GRID_TEXT, TOOL_EVENT::HasPosition(), IS_NEW, KIGFX::VIEW::IsLayerVisible(), ZONE_FILLER_TOOL::IsZoneFillAction(), KiROUND(), m_controls, m_frame, m_inDrawingTool, TOOL_INTERACTIVE::m_menu, TOOL_BASE::m_toolMgr, m_view, MD_SHIFT, PCB_TABLE::Normalize(), TOOLS_HOLDER::PopTool(), TOOL_EVENT::Position(), TOOL_MANAGER::PostAction(), TOOL_MANAGER::PrimeTool(), PCB_ACTIONS::properties, BOARD_COMMIT::Push(), TOOLS_HOLDER::PushTool(), ACTIONS::redo, EDA_DRAW_PANEL_GAL::Refresh(), ACTIONS::refreshPreview, TOOL_MANAGER::RunAction(), PCB_TOOL_BASE::selection(), PCB_ACTIONS::selectionClear, PCB_ACTIONS::selectItem, KIGFX::VIEW_CONTROLS::SetAutoPan(), PCB_TABLE::SetColCount(), PCB_TABLE::SetColWidth(), EDA_DRAW_PANEL_GAL::SetCurrentCursor(), EDA_SHAPE::SetEnd(), EDA_ITEM::SetFlags(), BOARD_ITEM::SetLayer(), APPEARANCE_CONTROLS::SetLayerVisible(), EDA_DRAW_FRAME::SetMsgPanel(), PCB_SHAPE::SetPosition(), PCB_TABLE::SetPosition(), SELECTION::SetReferencePoint(), PCB_TABLE::SetRowHeight(), KIGFX::VIEW_CONTROLS::ShowCursor(), DIALOG_SHIM::ShowQuasiModal(), ACTIONS::undo, KIGFX::VIEW::Update(), TOOL_MANAGER::VetoContextMenuMouseWarp(), TOOL_INTERACTIVE::Wait(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by setTransitions().
int DRAWING_TOOL::DrawVia | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 3461 of file drawing_tool.cpp.
References _, ACTION_MENU::Add(), COMMIT::Add(), PCB_GRID_HELPER::AlignToSegment(), PADSTACK::ALL_LAYERS, LSET::AllCuMask(), PNS::ROUTING_SETTINGS::AllowDRCViolations(), B_Cu, CLEARANCE_CONSTRAINT, PCB_TRACK::Clone(), CMENU_NOW, SHAPE_POLY_SET::Collide(), SEG::Contains(), DISALLOW_CONSTRAINT, WX_INFOBAR::Dismiss(), ACTION_MENU::DisplayTitle(), SEG::Distance(), PCB_TOOL_BASE::doInteractiveItemPlacement(), WX_INFOBAR::DRC_VIOLATION, F_Cu, BOARD::Footprints(), PADSTACK::ForEachUniqueLayer(), PCB_TOOL_BASE::frame(), PCB_BASE_FRAME::GetActiveLayer(), PCB_BASE_FRAME::GetBoard(), PCB_VIA::GetBoundingBox(), PCB_BASE_FRAME::GetCanvas(), BOARD_DESIGN_SETTINGS::GetCurrentViaDrill(), BOARD_DESIGN_SETTINGS::GetCurrentViaSize(), PCB_BASE_EDIT_FRAME::GetDesignRulesPath(), BOARD::GetDesignSettings(), PCB_BASE_FRAME::GetDisplayOptions(), ZONE::GetDoNotAllowVias(), BOARD_DESIGN_SETTINGS::GetDRCEpsilon(), BOARD_ITEM::GetEffectiveHoleShape(), BOARD_ITEM::GetEffectiveShape(), PCB_VIA::GetEffectiveShape(), PCB_TRACK::GetEnd(), EDA_BASE_FRAME::GetInfoBar(), ZONE::GetIsRuleArea(), BOARD_ITEM::GetLayer(), BOARD_ITEM::GetLayerSet(), PCB_VIA::GetLayerSet(), PCB_BASE_FRAME::GetMagneticItemsSettings(), WX_INFOBAR::GetMessageType(), BOARD_CONNECTED_ITEM::GetNetCode(), NETINFO_LIST::GetNetItem(), NETINFO_ITEM::GetNetname(), PCB_VIA::GetPosition(), PCB_BASE_FRAME::GetScreen(), SHAPE_LINE_CHAIN::GetSegment(), DRC_CONSTRAINT::GetSeverity(), GRID_HELPER::GetSnap(), PCB_TRACK::GetStart(), TOOL_MANAGER::GetTool(), TOOLS_HOLDER::GetToolManager(), DRC_CONSTRAINT::GetValue(), PCB_DRAW_PANEL_GAL::GetView(), PCB_TRACK::GetWidth(), PCB_VIA::GetWidth(), MAGNETIC_SETTINGS::graphics, BOARD_ITEM::HasHole(), PCB_SHAPE::HitTest(), PCB_ARC::HitTest(), HOLE_CLEARANCE_CONSTRAINT, BOX2< Vec >::Inflate(), PCB_TOOL_BASE::IPO_REPEAT, PCB_TOOL_BASE::IPO_SINGLE_CLICK, IsCopperLayer(), EDA_TEXT::IsVisible(), PCB_DISPLAY_OPTIONS::m_ContrastModeDisplay, BOARD_DESIGN_SETTINGS::m_CurrentViaType, DRC_CONSTRAINT::m_DisallowFlags, BOARD_DESIGN_SETTINGS::m_DRCEngine, PCB_TOOL_BASE::m_isFootprintEditor, m_mode, PCB_SCREEN::m_Route_Layer_BOTTOM, PCB_SCREEN::m_Route_Layer_TOP, EDA_ITEM::m_Uuid, MD_SHIFT, MINOPTMAX< T >::Min(), COMMIT::Modify(), NETINFO_LIST::ORPHANED, ZONE::Outline(), SHAPE_POLY_SET::Outline(), SHAPE_POLY_SET::OutlineCount(), pad, MAGNETIC_SETTINGS::pads, PCB_VIA::Padstack(), PCB_ARC_T, PCB_FIELD_T, PCB_FOOTPRINT_T, PCB_GROUP_T, PCB_REFERENCE_IMAGE_T, PCB_SHAPE_T, PCB_TEXT_T, PCB_TRACE_T, PCB_ZONE_T, KIGFX::VIEW::Query(), PNS::TOOL_BASE::Router(), RPT_SEVERITY_IGNORE, SHAPE_LINE_CHAIN::SegmentCount(), LSET::Seq(), TOOL_INTERACTIVE::SetContextMenu(), PCB_TRACK::SetEnd(), EDA_ITEM::SetPosition(), GRID_HELPER::SetSnap(), PCB_TRACK::SetStart(), PNS::ROUTER::Settings(), ACTION_MENU::SetTitle(), EDA_BASE_FRAME::ShowInfoBarError(), TA_CHOICE_MENU_CHOICE, TA_CHOICE_MENU_CLOSED, TA_CHOICE_MENU_UPDATE, TestSegmentHit(), MAGNETIC_SETTINGS::tracks, EDA_ITEM::Type(), UNDEFINED_LAYER, via, VIA, and TOOL_INTERACTIVE::Wait().
Referenced by setTransitions().
int DRAWING_TOOL::DrawZone | ( | const TOOL_EVENT & | aEvent | ) |
Start interactively drawing a zone.
After invoking the function a zone settings dialog is displayed. After confirmation it allows the user to set points that are going to be used as a boundary polygon of the zone. Double click or clicking on the origin of the boundary polyline finishes the drawing.
The event parameter indicates which type of zone to draw:
Definition at line 3225 of file drawing_tool.cpp.
References TOOL_INTERACTIVE::Activate(), POLYGON_GEOM_MANAGER::AddPoint(), BUT_LEFT, BUT_RIGHT, KIGFX::VIEW_CONTROLS::CaptureCursor(), PCB_ACTIONS::closeOutline, PCB_TOOL_BASE::controls(), COORDS_PADDING, POLYGON_GEOM_MANAGER::DEG45, POLYGON_GEOM_MANAGER::DeleteLastCorner(), PCB_ACTIONS::deleteLastPoint, POLYGON_GEOM_MANAGER::DIRECT, ACTIONS::doDelete, PCB_ACTIONS::drawPolygon, PCB_ACTIONS::drawRuleArea, KIGFX::VIEW_CONTROLS::ForceCursorPosition(), PCB_TOOL_BASE::frame(), PCB_BASE_FRAME::GetActiveLayer(), PCB_BASE_EDIT_FRAME::GetAppearancePanel(), PCB_BASE_FRAME::GetCanvas(), GetClampedCoords(), ZONE::GetFirstLayer(), PCB_BASE_FRAME::GetMagneticItemsSettings(), PCB_BASE_FRAME::GetModel(), KIGFX::VIEW_CONTROLS::GetMousePosition(), getSourceZoneForAction(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), ZONE_CREATE_HELPER::GetZone(), GRAPHIC_POLYGON, grid, GRID_GRAPHICS, TOOL_EVENT::HasPosition(), PCB_TOOL_BASE::Is45Limited(), TOOL_EVENT::IsAction(), KIGFX::VIEW::IsLayerVisible(), ZONE::IsOnLayer(), ZONE_FILLER_TOOL::IsZoneFillAction(), KEEPOUT, LAYER_ZONES, PCB_ACTIONS::layerChanged, m_controls, m_frame, PCB_TOOL_BASE::m_isFootprintEditor, ZONE_CREATE_HELPER::PARAMS::m_keepout, ZONE_CREATE_HELPER::PARAMS::m_layer, TOOL_INTERACTIVE::m_menu, m_mode, ZONE_CREATE_HELPER::PARAMS::m_mode, ZONE_CREATE_HELPER::PARAMS::m_sourceZone, TOOL_BASE::m_toolMgr, m_view, MD_CTRL, MD_SHIFT, POLYGON_GEOM_MANAGER::NewPointClosesOutline(), ZONE_CREATE_HELPER::OnGeometryChange(), TOOL_EVENT::Parameter(), TOOLS_HOLDER::PopTool(), TOOL_EVENT::Position(), TOOL_MANAGER::PrimeTool(), PCB_ACTIONS::properties, TOOLS_HOLDER::PushTool(), ACTIONS::redo, EDA_DRAW_PANEL_GAL::Refresh(), POLYGON_GEOM_MANAGER::Reset(), PCB_TOOL_BASE::selection(), KIGFX::VIEW_CONTROLS::SetAutoPan(), EDA_DRAW_PANEL_GAL::SetCurrentCursor(), POLYGON_GEOM_MANAGER::SetCursorPosition(), POLYGON_GEOM_MANAGER::SetFinished(), APPEARANCE_CONTROLS::SetLayerVisible(), POLYGON_GEOM_MANAGER::SetLeaderMode(), PCB_BASE_EDIT_FRAME::SetObjectVisible(), KIGFX::VIEW_CONTROLS::ShowCursor(), ACTIONS::undo, TOOL_MANAGER::VetoContextMenuMouseWarp(), TOOL_INTERACTIVE::Wait(), KIGFX::VIEW_CONTROLS::WarpMouseCursor(), and ZONE.
Referenced by setTransitions().
|
inlineprotectedinherited |
Definition at line 173 of file pcb_tool_base.h.
References PCB_TOOL_BASE::board(), and BOARD::GetFirstFootprint().
Referenced by PCB_CONTROL::AppendBoard(), MICROWAVE_TOOL::createBaseFootprint(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::Drag(), DrawSpecificationStackup(), FOOTPRINT_EDITOR_CONTROL::DuplicateFootprint(), FOOTPRINT_EDITOR_CONTROL::EditLibraryFootprint(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), BOARD_EDITOR_CONTROL::ExportNetlist(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectDRCError(), BOARD_INSPECTION_TOOL::makeDRCEngine(), PCB_CONTROL::Paste(), PCB_CONTROL::placeBoardItems(), FOOTPRINT_EDITOR_CONTROL::Properties(), PAD_TOOL::pushPadSettings(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), BOARD_EDITOR_CONTROL::RepairBoard(), FOOTPRINT_EDITOR_CONTROL::RepairFootprint(), FOOTPRINT_EDITOR_CONTROL::Save(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), SetAnchor(), and FOOTPRINT_EDITOR_CONTROL::ShowDatasheet().
|
inlineprotectedinherited |
Definition at line 166 of file pcb_tool_base.h.
Referenced by PCB_POINT_EDITOR::addCorner(), MULTICHANNEL_TOOL::AutogenerateRuleAreas(), AUTOPLACE_TOOL::autoplace(), PCB_TOOL_BASE::canvas(), PCB_POINT_EDITOR::chamferCorner(), ZONE_FILLER_TOOL::CheckAllZones(), PNS::TOOL_BASE::checkSnap(), PCB_CONTROL::ContrastModeFeedback(), PAD_TOOL::copyPadSettings(), EDIT_TOOL::copyToClipboard(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), CONVERT_TOOL::CreatePolys(), ROUTER_TOOL::CustomTrackWidthDialog(), FOOTPRINT_EDITOR_CONTROL::DeleteFootprint(), EDIT_TOOL::DeleteItems(), PCB_TOOL_BASE::displayOptions(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), ROUTER_TOOL::DpDimensionsDialog(), EDIT_TOOL::DragArcTrack(), drawArc(), DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), drawOneBezier(), drawShape(), DrawTable(), DrawVia(), DrawZone(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), PCB_EDIT_TABLE_TOOL::EditTable(), PAD_TOOL::enterPadEditMode(), PAD_TOOL::EnumeratePads(), PAD_TOOL::ExitPadEditMode(), BOARD_EDITOR_CONTROL::ExportSpecctraDSN(), ZONE_FILLER_TOOL::FillAllZones(), EDIT_TOOL::FilletTracks(), ROUTER_TOOL::finishInteractive(), EDIT_TOOL::Flip(), PCB_CONTROL::FlipPcbView(), EDIT_TOOL::GetAndPlace(), GLOBAL_EDIT_TOOL::GlobalDeletions(), ROUTER_TOOL::handleLayerSwitch(), PCB_CONTROL::HighContrastMode(), PCB_CONTROL::HighContrastModeCycle(), BOARD_INSPECTION_TOOL::HighlightItem(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), BOARD_EDITOR_CONTROL::ImportSpecctraSession(), SCRIPTING_TOOL::Init(), ROUTER_TOOL::Init(), EDIT_TOOL::Init(), PCB_PICKER_TOOL::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), InteractivePlaceWithPreview(), PCB_TOOL_BASE::Is45Limited(), PCB_PICKER_TOOL::Main(), ROUTER_TOOL::MainLoop(), EDIT_TOOL::MoveExact(), PCB_CONTROL::NetColorModeCycle(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::onViaCommand(), CONVERT_TOOL::OutsetItems(), PCB_CONTROL::Paste(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), GROUP_TOOL::PickNewMember(), PNS::TOOL_BASE::pickSingleItem(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PAD_TOOL::PlacePad(), PlaceText(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), ROUTER_TOOL::prepareInteractive(), EDIT_TOOL::Properties(), PCB_CONTROL::pruneItemLayers(), PAD_TOOL::pushPadSettings(), PCB_CONTROL::RatsnestModeCycle(), GENERATOR_TOOL::RegenerateAllOfType(), GENERATOR_TOOL::RegenerateItem(), GENERATOR_TOOL::RegenerateSelected(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), SCRIPTING_TOOL::reloadPlugins(), PCB_POINT_EDITOR::removeCorner(), MULTICHANNEL_TOOL::repeatLayout(), MULTICHANNEL_TOOL::RepeatLayout(), PNS::TOOL_BASE::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), PAD_TOOL::Reset(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), ROUTER_TOOL::saveRouterDebugLog(), ROUTER_TOOL::SelectCopperLayerPair(), PCB_PICKER_TOOL::SelectItemInteractively(), PCB_PICKER_TOOL::SelectPointInteractively(), PCB_POINT_EDITOR::setEditedPoint(), ROUTER_TOOL::SettingsDialog(), FOOTPRINT_EDITOR_CONTROL::ShowDatasheet(), GENERATOR_TOOL::ShowGeneratorsManager(), GLOBAL_EDIT_TOOL::swapBoardItem(), GLOBAL_EDIT_TOOL::SwapLayers(), ROUTER_TOOL::switchLayerOnViaPlacement(), ToggleHV45Mode(), PCB_CONTROL::ToggleRatsnest(), PCB_CONTROL::unfilledZoneCheck(), PCB_POINT_EDITOR::updateItem(), ROUTER_TOOL::UpdateMessagePanel(), EDIT_TOOL::updateModificationPoint(), BOARD_EDITOR_CONTROL::UpdateSchematicFromPCB(), PCB_CONTROL::ZoneDisplayMode(), ZONE_FILLER_TOOL::ZoneFill(), ZONE_FILLER_TOOL::ZoneFillAll(), and ZONE_FILLER_TOOL::ZoneFillDirty().
|
inlineprivate |
Clamps the end vector to respect numeric limits of difference representation.
aOrigin | - the origin vector. |
aEnd | - the end vector. |
Definition at line 341 of file drawing_tool.h.
References VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by drawShape().
|
inlineprivate |
Clamps the end vector to respect numeric limits of radius representation.
aOrigin | - the origin vector. |
aEnd | - the end vector. |
Definition at line 371 of file drawing_tool.h.
References VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by drawShape().
DRAWING_TOOL::MODE DRAWING_TOOL::GetDrawingMode | ( | ) | const |
Return the current drawing mode of the DRAWING_TOOL or MODE::NONE if not currently in any drawing mode.
Definition at line 327 of file drawing_tool.cpp.
References m_mode.
Referenced by BOARD_EDITOR_CONTROL::Init(), and PCB_EDIT_FRAME::setupUIConditions().
|
inlineprotectedinherited |
Return the application window object, casted to requested user type.
Definition at line 186 of file tool_base.h.
References TOOL_BASE::getToolHolderInternal().
Referenced by ZONE_CREATE_HELPER::createNewZone(), and ZONE_CREATE_HELPER::setUniquePriority().
|
inlineinherited |
Return the unique identifier of the tool.
The identifier is set by an instance of TOOL_MANAGER.
Definition at line 123 of file tool_base.h.
References TOOL_BASE::m_toolId.
Referenced by TOOL_MANAGER::finishTool(), TOOL_MANAGER::InitTools(), TOOL_MANAGER::isActive(), TOOL_MANAGER::RegisterTool(), ACTION_MANAGER::RunHotKey(), TOOL_MANAGER::runTool(), TOOL_MANAGER::saveViewControls(), and TOOL_MANAGER::ShutdownTool().
|
inlineinherited |
Return the instance of TOOL_MANAGER that takes care of the tool.
Definition at line 146 of file tool_base.h.
References TOOL_BASE::m_toolMgr.
Referenced by MULTICHANNEL_TOOL::AutogenerateRuleAreas(), ZONE_CREATE_HELPER::commitZone(), ZONE_CREATE_HELPER::createNewZone(), PNS_KICAD_IFACE::DisplayItem(), PCB_TOOL_BASE::doInteractiveItemPlacement(), PCB_TUNING_PATTERN::EditPush(), PCB_TUNING_PATTERN::EditRevert(), PCB_TUNING_PATTERN::EditStart(), ACTION_MENU::getToolManager(), PNS_KICAD_IFACE::GetUnits(), makeShapeModificationMenu(), ZONE_CREATE_HELPER::OnFirstPoint(), ZONE_CREATE_HELPER::performZoneCutout(), PAD_TOOL::PlacePad(), MULTICHANNEL_TOOL::RepeatLayout(), SCH_COMMIT::SCH_COMMIT(), PCB_TUNING_PATTERN::Update(), and GLOBAL_EDIT_TOOL::ZonesManager().
|
inlineprotectedinherited |
Return the model object if it matches the requested type.
Definition at line 198 of file tool_base.h.
References TOOL_BASE::getModelInternal().
Referenced by ZONE_CREATE_HELPER::commitZone(), and ZONE_CREATE_HELPER::createZoneFromExisting().
|
privateinherited |
Definition at line 54 of file tool_base.cpp.
References TOOL_MANAGER::GetModel(), and TOOL_BASE::m_toolMgr.
Referenced by TOOL_BASE::getModel().
|
inlineinherited |
Return the name of the tool.
Tool names are expected to obey the format: application.ToolName (eg. pcbnew.InteractiveSelection).
Definition at line 136 of file tool_base.h.
References TOOL_BASE::m_toolName.
Referenced by TOOL_MANAGER::dispatchInternal(), TOOL_INTERACTIVE::goInternal(), COMMON_TOOLS::GridProperties(), TOOL_MANAGER::InitTools(), TOOL_MANAGER::invokeTool(), TOOL_MANAGER::RegisterTool(), TOOL_MANAGER::ResetTools(), TOOL_MANAGER::runTool(), and TOOL_MANAGER::ShutdownTool().
Draw a polygon, that is added as a zone or a keepout area.
aKeepout | dictates if the drawn polygon is a zone or a keepout area. |
aMode | dictates the mode of the zone tool:
|
The source zone is taken from the current selection.
aMode | mode of the zone tool |
aZone | updated pointer to a suitable source zone, or nullptr if none found, or the action doesn't need a source |
Definition at line 3191 of file drawing_tool.cpp.
References SELECTION::Empty(), PCB_SELECTION_TOOL::GetSelection(), TOOL_MANAGER::GetTool(), TOOL_BASE::m_toolMgr, PCB_ZONE_T, TOOL_MANAGER::RunAction(), PCB_TOOL_BASE::selection(), PCB_ACTIONS::selectionClear, PCB_ACTIONS::selectionCursor, and SELECTION::Size().
Referenced by DrawZone().
|
privateinherited |
Definition at line 48 of file tool_base.cpp.
References TOOL_MANAGER::GetToolHolder(), and TOOL_BASE::m_toolMgr.
Referenced by TOOL_BASE::getEditFrame().
|
inherited |
Definition at line 110 of file tool_interactive.cpp.
References TOOL_INTERACTIVE::m_menu.
Referenced by EDIT_TOOL::doMoveSelection(), EE_INSPECTION_TOOL::Init(), EE_POINT_EDITOR::Init(), SCH_EDIT_TABLE_TOOL::Init(), SCH_EDIT_TOOL::Init(), SCH_LINE_WIRE_BUS_TOOL::Init(), SCH_MOVE_TOOL::Init(), SYMBOL_EDITOR_EDIT_TOOL::Init(), SYMBOL_EDITOR_MOVE_TOOL::Init(), SYMBOL_EDITOR_PIN_TOOL::Init(), PL_EDIT_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), CONVERT_TOOL::Init(), EDIT_TOOL::Init(), GENERATOR_TOOL::Init(), GROUP_TOOL::Init(), PAD_TOOL::Init(), PCB_EDIT_TABLE_TOOL::Init(), PCB_POINT_EDITOR::Init(), ALIGN_DISTRIBUTE_TOOL::Init(), and POSITION_RELATIVE_TOOL::PositionRelativeInteractively().
|
inlineinherited |
Return the type of the tool.
Definition at line 111 of file tool_base.h.
References TOOL_BASE::m_type.
Referenced by TOOL_MANAGER::InvokeTool(), TOOL_MANAGER::ResetTools(), TOOL_MANAGER::runTool(), and TOOL_MANAGER::ShutdownTool().
|
protectedinherited |
Returns the instance of #VIEW object used in the application.
It allows tools to draw.
Definition at line 36 of file tool_base.cpp.
References TOOL_MANAGER::GetView(), and TOOL_BASE::m_toolMgr.
Referenced by EE_POINT_EDITOR::addCornerCondition(), ALIGN_DISTRIBUTE_TOOL::AlignLeft(), ALIGN_DISTRIBUTE_TOOL::AlignRight(), EE_INSPECTION_TOOL::CheckSymbol(), GERBVIEW_CONTROL::ClearAllLayers(), PL_SELECTION_TOOL::ClearSelection(), EE_SELECTION_TOOL::ClearSelection(), EE_SELECTION_TOOL::CollectHits(), SCH_LINE_WIRE_BUS_TOOL::computeBreakPoint(), MULTICHANNEL_TOOL::copyRuleAreaContents(), COMMON_TOOLS::CursorControl(), EDIT_TOOL::DeleteItems(), COMMON_TOOLS::doCenter(), PL_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), COMMON_TOOLS::doZoomFit(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::DragArcTrack(), drawArc(), DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), drawOneBezier(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_LINE_WIRE_BUS_TOOL::DrawSegments(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DrawTable(), DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), PAD_TOOL::EnumeratePads(), PCB_SELECTION_TOOL::FilterCollectorForFootprints(), EE_SELECTION_TOOL::GetNode(), ROUTER_TOOL::getStartLayer(), PCB_CONTROL::GridPlaceOrigin(), PCB_CONTROL::GridResetOrigin(), EE_SELECTION_TOOL::GuessSelectionCandidates(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), ROUTER_TOOL::handleCommonEvents(), PL_SELECTION_TOOL::highlight(), PCB_SELECTION_TOOL::highlight(), EE_SELECTION_TOOL::highlight(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::highlightNet(), PNS::TOOL_BASE::highlightNets(), PCB_SELECTION_TOOL::hitTestDistance(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), SCH_EDIT_TOOL::Init(), EDIT_TOOL::Init(), ROUTER_TOOL::InlineDrag(), SCH_EDIT_TOOL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), PCB_CONTROL::InteractiveDelete(), EE_POINT_EDITOR::Main(), PL_POINT_EDITOR::Main(), PCB_PICKER_TOOL::Main(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), SCH_EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), PL_EDIT_TOOL::moveItem(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), COMMON_TOOLS::PanControl(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), PL_EDIT_TOOL::Paste(), ROUTER_TOOL::performRouting(), PNS::TOOL_BASE::pickSingleItem(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), PlaceText(), PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), ROUTER_TOOL::prepareInteractive(), SCH_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), PCB_SELECTION_TOOL::pruneObscuredSelectionCandidates(), EE_SELECTION_TOOL::Reset(), EE_TOOL_BASE< T >::Reset(), GERBVIEW_SELECTION_TOOL::Reset(), PNS::TOOL_BASE::Reset(), BOARD_EDITOR_CONTROL::Reset(), Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), PCB_CONTROL::Reset(), PCB_SELECTION_TOOL::Reset(), SCH_EDIT_TOOL::Rotate(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::Selectable(), EE_SELECTION_TOOL::SelectAll(), PCB_SELECTION_TOOL::SelectAll(), EE_SELECTION_TOOL::selectionContains(), PL_SELECTION_TOOL::selectionContains(), PCB_SELECTION_TOOL::selectionContains(), EE_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::SelectPoint(), EE_SELECTION_TOOL::selectPoint(), ZOOM_TOOL::selectRegion(), GERBVIEW_SELECTION_TOOL::selectVisually(), SetAnchor(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_EDITOR_CONTROL::ToggleDirectiveLabels(), SCH_EDITOR_CONTROL::ToggleERCErrors(), SCH_EDITOR_CONTROL::ToggleERCWarnings(), SCH_EDITOR_CONTROL::ToggleHiddenFields(), SYMBOL_EDITOR_CONTROL::ToggleHiddenFields(), SCH_EDITOR_CONTROL::ToggleHiddenPins(), SYMBOL_EDITOR_CONTROL::ToggleHiddenPins(), SCH_EDITOR_CONTROL::ToggleOPCurrents(), SCH_EDITOR_CONTROL::ToggleOPVoltages(), SCH_EDITOR_CONTROL::TogglePinAltIcons(), SYMBOL_EDITOR_CONTROL::TogglePinAltIcons(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), PL_SELECTION_TOOL::unhighlight(), PCB_SELECTION_TOOL::unhighlight(), PCB_TEST_SELECTION_TOOL::unhighlight(), EE_SELECTION_TOOL::unhighlight(), GERBVIEW_SELECTION_TOOL::unselect(), EE_SELECTION_TOOL::UnselectAll(), PCB_SELECTION_TOOL::UnselectAll(), GERBVIEW_SELECTION_TOOL::unselectVisually(), EE_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PCB_POINT_EDITOR::updateEditedPoint(), SCH_FIND_REPLACE_TOOL::UpdateFind(), PL_POINT_EDITOR::updateItem(), PCB_POINT_EDITOR::updateItem(), EE_TOOL_BASE< T >::updateItem(), SCH_EDITOR_CONTROL::UpdateNetHighlighting(), EE_POINT_EDITOR::updatePoints(), PL_POINT_EDITOR::updatePoints(), PCB_POINT_EDITOR::updatePoints(), PCB_SELECTION_TOOL::updateSelection(), PNS::TOOL_BASE::updateStartItem(), PCB_SELECTION_TOOL::view(), PCB_TOOL_BASE::view(), PCB_VIEWER_TOOLS::view(), PCB_TEST_SELECTION_TOOL::view(), EE_SELECTION_TOOL::ZoomFitCrossProbeBBox(), PCB_SELECTION_TOOL::ZoomFitCrossProbeBBox(), PCB_SELECTION_TOOL::zoomFitSelection(), EE_SELECTION_TOOL::~EE_SELECTION_TOOL(), GERBVIEW_SELECTION_TOOL::~GERBVIEW_SELECTION_TOOL(), and PCB_SELECTION_TOOL::~PCB_SELECTION_TOOL().
|
protectedinherited |
Return the instance of VIEW_CONTROLS object used in the application.
It allows tools to read & modify user input and its settings (eg. show cursor, enable snapping to grid, etc.).
Definition at line 42 of file tool_base.cpp.
References TOOL_MANAGER::GetViewControls(), and TOOL_BASE::m_toolMgr.
Referenced by EE_POINT_EDITOR::addCorner(), PCB_POINT_EDITOR::addCorner(), EE_POINT_EDITOR::addCornerCondition(), EE_SELECTION_TOOL::autostartEvent(), SCH_EDIT_TOOL::BreakWire(), PCB_POINT_EDITOR::chamferCorner(), PCB_SELECTION_TOOL::controls(), PCB_TOOL_BASE::controls(), PCB_TEST_SELECTION_TOOL::controls(), COMMON_TOOLS::CursorControl(), EDIT_TOOL::DeleteItems(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::DragArcTrack(), DrawCircle(), DrawLine(), MICROWAVE_TOOL::drawMicrowaveInductor(), DrawRectangle(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DrawTable(), DrawZone(), PAD_TOOL::EnumeratePads(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), SCH_EDITOR_CONTROL::HighlightNet(), BOARD_INSPECTION_TOOL::HighlightNet(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), SYMBOL_EDITOR_EDIT_TOOL::Increment(), SCH_EDIT_TOOL::Init(), EDIT_TOOL::Init(), EE_POINT_EDITOR::Main(), EE_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), PCB_PICKER_TOOL::Main(), ROUTER_TOOL::MainLoop(), PCB_POINT_EDITOR::makePoints(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), PL_DRAWING_TOOLS::PlaceItem(), PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), SCH_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), SCH_EDIT_TOOL::RepeatDrawItem(), PL_SELECTION_TOOL::RequestSelection(), EE_SELECTION_TOOL::RequestSelection(), Reset(), PCB_POINT_EDITOR::Reset(), COMMON_TOOLS::ResetLocalCoords(), ROUTER_TOOL::RouteSelected(), PCB_SELECTION_TOOL::selectCursor(), EE_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), EE_SELECTION_TOOL::SelectNode(), ZOOM_TOOL::selectRegion(), PCB_SELECTION_TOOL::selectTableCells(), EE_SELECTION_TOOL::selectTableCells(), ALIGN_DISTRIBUTE_TOOL::selectTarget(), PICKER_TOOL::setControls(), PCB_PICKER_TOOL::setControls(), EE_POINT_EDITOR::setEditedPoint(), PL_POINT_EDITOR::setEditedPoint(), PCB_POINT_EDITOR::setEditedPoint(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_DRAWING_TOOLS::SyncSheetsPins(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), EE_POINT_EDITOR::updateEditedPoint(), PL_POINT_EDITOR::updateEditedPoint(), PCB_POINT_EDITOR::updateEditedPoint(), PL_EDIT_TOOL::updateModificationPoint(), and COMMON_TOOLS::ZoomCenter().
|
inherited |
Define which state (aStateFunc) to go when a certain event arrives (aConditions).
No conditions means any event.
Definition at line 147 of file tool_interactive.h.
References TOOL_INTERACTIVE::goInternal().
Referenced by EDA_3D_CONTROLLER::setTransitions(), BITMAP2CMP_CONTROL::setTransitions(), LIBRARY_EDITOR_CONTROL::setTransitions(), CVPCB_ASSOCIATION_TOOL::setTransitions(), CVPCB_CONTROL::setTransitions(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::setTransitions(), EE_INSPECTION_TOOL::setTransitions(), EE_POINT_EDITOR::setTransitions(), EE_SELECTION_TOOL::setTransitions(), SCH_DESIGN_BLOCK_CONTROL::setTransitions(), SCH_DRAWING_TOOLS::setTransitions(), SCH_EDIT_TABLE_TOOL::setTransitions(), SCH_EDIT_TOOL::setTransitions(), SCH_EDITOR_CONTROL::setTransitions(), SCH_FIND_REPLACE_TOOL::setTransitions(), SCH_LINE_WIRE_BUS_TOOL::setTransitions(), SCH_MOVE_TOOL::setTransitions(), SCH_NAVIGATE_TOOL::setTransitions(), SIMULATOR_CONTROL::setTransitions(), SYMBOL_EDITOR_CONTROL::setTransitions(), SYMBOL_EDITOR_DRAWING_TOOLS::setTransitions(), SYMBOL_EDITOR_EDIT_TOOL::setTransitions(), SYMBOL_EDITOR_MOVE_TOOL::setTransitions(), SYMBOL_EDITOR_PIN_TOOL::setTransitions(), GERBVIEW_CONTROL::setTransitions(), GERBVIEW_INSPECTION_TOOL::setTransitions(), GERBVIEW_SELECTION_TOOL::setTransitions(), COMMON_CONTROL::setTransitions(), COMMON_TOOLS::setTransitions(), EMBED_TOOL::setTransitions(), PICKER_TOOL::setTransitions(), PROPERTIES_TOOL::setTransitions(), ZOOM_TOOL::setTransitions(), KICAD_MANAGER_CONTROL::setTransitions(), PL_DRAWING_TOOLS::setTransitions(), PL_EDIT_TOOL::setTransitions(), PL_EDITOR_CONTROL::setTransitions(), PL_POINT_EDITOR::setTransitions(), PL_SELECTION_TOOL::setTransitions(), PCB_CALCULATOR_CONTROL::setTransitions(), AUTOPLACE_TOOL::setTransitions(), MICROWAVE_TOOL::setTransitions(), SCRIPTING_TOOL::setTransitions(), ROUTER_TOOL::setTransitions(), ARRAY_TOOL::setTransitions(), BOARD_EDITOR_CONTROL::setTransitions(), BOARD_INSPECTION_TOOL::setTransitions(), BOARD_REANNOTATE_TOOL::setTransitions(), CONVERT_TOOL::setTransitions(), setTransitions(), DRC_TOOL::setTransitions(), EDIT_TOOL::setTransitions(), FOOTPRINT_EDITOR_CONTROL::setTransitions(), GENERATOR_TOOL::setTransitions(), GLOBAL_EDIT_TOOL::setTransitions(), GROUP_TOOL::setTransitions(), MULTICHANNEL_TOOL::setTransitions(), PAD_TOOL::setTransitions(), PCB_CONTROL::setTransitions(), PCB_EDIT_TABLE_TOOL::setTransitions(), PCB_PICKER_TOOL::setTransitions(), PCB_POINT_EDITOR::setTransitions(), PCB_SELECTION_TOOL::setTransitions(), PCB_VIEWER_TOOLS::setTransitions(), ALIGN_DISTRIBUTE_TOOL::setTransitions(), POSITION_RELATIVE_TOOL::setTransitions(), ZONE_FILLER_TOOL::setTransitions(), and PCB_TEST_SELECTION_TOOL::setTransitions().
|
privateinherited |
Definition at line 83 of file tool_interactive.cpp.
References TOOL_BASE::GetName(), kicadTraceToolStack, TOOL_BASE::m_toolMgr, TOOL_EVENT_LIST::Names(), and TOOL_MANAGER::ScheduleNextState().
Referenced by TOOL_INTERACTIVE::Go().
|
overridevirtual |
Init() is called once upon a registration of the tool.
Reimplemented from PCB_TOOL_BASE.
Definition at line 194 of file drawing_tool.cpp.
References CONDITIONAL_MENU::AddCheckItem(), CONDITIONAL_MENU::AddItem(), CONDITIONAL_MENU::AddMenu(), CONDITIONAL_MENU::AddSeparator(), PCB_ACTIONS::amplDecrease, PCB_ACTIONS::amplIncrease, ARC, PCB_ACTIONS::arcPosture, BEZIER, ACTIONS::cancelInteractive, PCB_ACTIONS::changeDimensionArrows, PCB_ACTIONS::clearHighlight, PCB_ACTIONS::closeOutline, PCB_ACTIONS::deleteLastPoint, DIMENSION, KIGFX::RENDER_SETTINGS::GetHighlightNetCodes(), KIGFX::VIEW::GetPainter(), KIGFX::PAINTER::GetSettings(), TOOL_MANAGER::GetView(), GRAPHIC_POLYGON, KEEPOUT, PCB_ACTIONS::lengthTunerSettings, LINE, TOOL_INTERACTIVE::m_menu, m_mode, TOOL_BASE::m_toolMgr, NONE, PCB_ACTIONS::spacingDecrease, PCB_ACTIONS::spacingIncrease, PCB_ACTIONS::toggleHV45Mode, TUNING, VIA, and ZONE.
int DRAWING_TOOL::InteractivePlaceWithPreview | ( | const TOOL_EVENT & | aEvent, |
std::vector< BOARD_ITEM * > & | aItems, | ||
std::vector< BOARD_ITEM * > & | aPreview, | ||
LSET * | aLayers | ||
) |
Interactively place a set of BOARD_ITEM.
As a list of BOARD_ITEMs can be resource intesive to move around, we can use a reduced set of BOARD_ITEMs for preview purpose only.
aEvent | |
aItems | BOARD_ITEMs to add to the board. |
aPreview | BOARD_ITEMs only used during placement / preview. |
aLayers | Set of allowed destination when asking the user. If set to NULL, the user is not asked and all BOARD_ITEMs remain on their layers. |
Definition at line 542 of file drawing_stackup_table_tool.cpp.
References _, TOOL_INTERACTIVE::Activate(), COMMIT::Add(), KIGFX::VIEW::AddToPreview(), PCB_TOOL_BASE::board(), BUT_LEFT, BUT_RIGHT, KIGFX::VIEW::ClearPreview(), PCB_TOOL_BASE::frame(), PCB_BASE_FRAME::GetCanvas(), KIGFX::VIEW_CONTROLS::GetCursorPosition(), PCB_BASE_FRAME::GetModel(), KIPLATFORM::UI::GetMousePosition(), TOOL_EVENT::HasPosition(), KIGFX::VIEW::InitPreview(), ZONE_FILLER_TOOL::IsZoneFillAction(), m_controls, m_frame, PCB_TOOL_BASE::m_isFootprintEditor, TOOL_INTERACTIVE::m_menu, m_mode, TOOL_BASE::m_toolMgr, TOOLS_HOLDER::PopTool(), TOOL_EVENT::Position(), TOOL_MANAGER::PrimeTool(), BOARD_COMMIT::Push(), TOOLS_HOLDER::PushTool(), TOOL_MANAGER::RunAction(), PCB_TOOL_BASE::selection(), PCB_ACTIONS::selectionClear, EDA_DRAW_PANEL_GAL::SetCurrentCursor(), BOARD_ITEM::SetLayer(), KIGFX::VIEW_CONTROLS::ShowCursor(), KIGFX::VIEW::ShowPreview(), TEXT, PCB_TOOL_BASE::view(), and TOOL_INTERACTIVE::Wait().
Referenced by PlaceCharacteristics(), and PlaceStackup().
|
virtualinherited |
Should the tool use its 45° mode option?
Definition at line 331 of file pcb_tool_base.cpp.
References PCB_TOOL_BASE::frame(), FRAME_PCB_EDITOR, SETTINGS_MANAGER::GetAppSettings(), PGM_BASE::GetSettingsManager(), and Pgm().
Referenced by drawArc(), DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), drawShape(), DrawZone(), and ZONE_CREATE_HELPER::OnFirstPoint().
|
inlineinherited |
Definition at line 109 of file pcb_tool_base.h.
References PCB_TOOL_BASE::m_isBoardEditor.
|
inlineinherited |
Definition at line 106 of file pcb_tool_base.h.
References PCB_TOOL_BASE::m_isFootprintEditor.
Referenced by EDIT_TOOL::DeleteItems(), EDIT_TOOL::Flip(), EDIT_TOOL::GetAndPlace(), and PCB_GRID_HELPER::queryVisible().
|
inherited |
Definition at line 31 of file tool_base.cpp.
References TOOL_MANAGER::IsToolActive(), TOOL_BASE::m_toolId, and TOOL_BASE::m_toolMgr.
Referenced by EDIT_TOOL::Drag(), ROUTER_TOOL::handleLayerSwitch(), EDIT_TOOL::invokeInlineRouter(), PCB_SELECTION_TOOL::Main(), BOARD_EDITOR_CONTROL::TrackWidthDec(), and BOARD_EDITOR_CONTROL::TrackWidthInc().
int DRAWING_TOOL::PlaceCharacteristics | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 691 of file drawing_stackup_table_tool.cpp.
References LSET::AllCuMask(), LSET::AllTechMask(), B_Fab, Cmts_User, DrawBoardCharacteristics(), Edge_Cuts, F_Fab, PCB_BASE_FRAME::GetActiveLayer(), group, InteractivePlaceWithPreview(), m_board, m_frame, Margin, BASE_SET::reset(), BASE_SET::set(), PCB_BASE_FRAME::SetActiveLayer(), EDA_SHAPE::SetEnd(), PCB_SHAPE::SetLayer(), EDA_SHAPE::SetStart(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by setTransitions().
int DRAWING_TOOL::PlaceImportedGraphics | ( | const TOOL_EVENT & | aEvent | ) |
Place a drawing imported from a DXF or SVG file in footprint editor.
Definition at line 1802 of file drawing_tool.cpp.
References _, TOOL_INTERACTIVE::Activate(), SELECTION::Add(), COMMIT::Add(), KIGFX::VIEW::Add(), BUT_LEFT, BUT_RIGHT, ACTIONS::cancelInteractive, SELECTION::Clear(), ConnectBoardShapes(), COORDS_PADDING, delta, TOOL_EVENT::DisableGridSnapping(), DXF, F_Cu, KIGFX::VIEW_CONTROLS::ForceCursorPosition(), PCB_BASE_EDIT_FRAME::GetAppearancePanel(), PCB_BASE_FRAME::GetBoard(), PCB_BASE_FRAME::GetCanvas(), GetClampedCoords(), PICKED_ITEMS_LIST::GetCount(), KIGFX::VIEW_CONTROLS::GetCursorPosition(), DIALOG_IMPORT_GRAPHICS::GetImportedItems(), BOARD_ITEM::GetLayer(), PCB_BASE_FRAME::GetMagneticItemsSettings(), PCB_BASE_FRAME::GetModel(), KIGFX::VIEW_CONTROLS::GetMousePosition(), DIALOG_IMPORT_GRAPHICS::GetTolerance(), PCB_SELECTION::GetTopLeftItem(), TOOL_BASE::getView(), grid, GRID_GRAPHICS, group, KIGFX::VIEW_ITEM::IsBOARD_ITEM(), KIGFX::VIEW::IsLayerVisible(), DIALOG_IMPORT_GRAPHICS::IsPlacementInteractive(), ZONE_FILLER_TOOL::IsZoneFillAction(), LAYER_SHAPES, m_controls, m_frame, m_inDrawingTool, TOOL_INTERACTIVE::m_menu, m_mode, TOOL_BASE::m_toolMgr, m_view, MD_SHIFT, TOOLS_HOLDER::PopTool(), BOARD_COMMIT::Push(), PICKED_ITEMS_LIST::PushItem(), TOOLS_HOLDER::PushTool(), EDA_DRAW_PANEL_GAL::Refresh(), SELECTION::Remove(), KIGFX::VIEW::Remove(), TOOL_MANAGER::RunAction(), PCB_TOOL_BASE::selection(), PCB_ACTIONS::selectionClear, PCB_ACTIONS::selectItems, EDA_DRAW_PANEL_GAL::SetCurrentCursor(), APPEARANCE_CONTROLS::SetLayerVisible(), PCB_BASE_EDIT_FRAME::SetObjectVisible(), DIALOG_IMPORT_GRAPHICS::ShouldFixDiscontinuities(), DIALOG_IMPORT_GRAPHICS::ShouldGroupItems(), KIGFX::VIEW_CONTROLS::ShowCursor(), DIALOG_SHIM::ShowModal(), BOARD_COMMIT::Stage(), KIGFX::VIEW::Update(), and TOOL_INTERACTIVE::Wait().
Referenced by setTransitions().
int DRAWING_TOOL::PlaceReferenceImage | ( | const TOOL_EVENT & | aEvent | ) |
Display a dialog that allows one to select a reference image and then decide where to place the image in the editor.
Definition at line 615 of file drawing_tool.cpp.
References _, TOOL_INTERACTIVE::Activate(), ACTIONS::activatePointEditor, SELECTION_TOOL::AddItemToSel(), KIGFX::VIEW::AddToPreview(), BUT_LEFT, BUT_RIGHT, KIGFX::VIEW_CONTROLS::CaptureCursor(), KIGFX::VIEW::ClearPreview(), COORDS_PADDING, ACTIONS::doDelete, KIGFX::VIEW_CONTROLS::ForceCursorPosition(), PCB_BASE_FRAME::GetActiveLayer(), PCB_BASE_FRAME::GetCanvas(), GetClampedCoords(), PGM_BASE::GetCommonSettings(), KIGFX::VIEW_CONTROLS::GetCursorPosition(), PCB_BASE_FRAME::GetMagneticItemsSettings(), PCB_BASE_FRAME::GetModel(), KIGFX::VIEW_CONTROLS::GetMousePosition(), PCB_SELECTION_TOOL::GetSelection(), TOOL_MANAGER::GetTool(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), grid, GRID_GRAPHICS, TOOL_EVENT::HasPosition(), image, COMMON_SETTINGS::INPUT::immediate_actions, IS_MOVING, IS_NEW, TOOL_EVENT::IsReactivate(), ZONE_FILLER_TOOL::IsZoneFillAction(), m_controls, m_frame, m_inDrawingTool, COMMON_SETTINGS::m_Input, TOOL_INTERACTIVE::m_menu, TOOL_BASE::m_toolMgr, m_view, MD_SHIFT, TOOL_EVENT::Parameter(), Pgm(), KIGFX::VIEW_CONTROLS::PinCursorInsideNonAutoscrollArea(), TOOLS_HOLDER::PopTool(), TOOL_EVENT::Position(), TOOL_MANAGER::PostAction(), TOOL_MANAGER::PrimeTool(), TOOLS_HOLDER::PushTool(), KIGFX::VIEW::RecacheAllItems(), ACTIONS::redo, ACTIONS::refreshPreview, TOOL_MANAGER::RunAction(), PCB_ACTIONS::selectionClear, PCB_ACTIONS::selectItem, KIGFX::VIEW_CONTROLS::SetAutoPan(), EDA_DRAW_PANEL_GAL::SetCurrentCursor(), KIGFX::VIEW_CONTROLS::SetCursorPosition(), KIGFX::VIEW_CONTROLS::ShowCursor(), EDA_BASE_FRAME::ShowInfoBarMsg(), KIGFX::VIEW::ShowPreview(), ACTIONS::undo, TOOL_MANAGER::VetoContextMenuMouseWarp(), TOOL_INTERACTIVE::Wait(), and KIGFX::VIEW_CONTROLS::WarpMouseCursor().
Referenced by setTransitions().
int DRAWING_TOOL::PlaceStackup | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 753 of file drawing_stackup_table_tool.cpp.
References LSET::AllCuMask(), LSET::AllTechMask(), B_Fab, Cmts_User, DrawSpecificationStackup(), Edge_Cuts, F_Fab, PCB_BASE_FRAME::GetActiveLayer(), group, InteractivePlaceWithPreview(), m_board, m_frame, Margin, BASE_SET::reset(), BASE_SET::set(), PCB_BASE_FRAME::SetActiveLayer(), EDA_SHAPE::SetEnd(), PCB_SHAPE::SetLayer(), EDA_SHAPE::SetStart(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by setTransitions().
int DRAWING_TOOL::PlaceText | ( | const TOOL_EVENT & | aEvent | ) |
Display a dialog that allows one to input text and its settings and then lets the user decide where to place the text in editor.
Definition at line 860 of file drawing_tool.cpp.
References _, TOOL_INTERACTIVE::Activate(), COMMIT::Add(), PCB_TOOL_BASE::board(), BUT_LEFT, BUT_RIGHT, KIGFX::VIEW_CONTROLS::CaptureCursor(), COORDS_PADDING, KIGFX::VIEW_CONTROLS::ForceCursorPosition(), PCB_TOOL_BASE::frame(), PCB_BASE_FRAME::GetActiveLayer(), PCB_BASE_EDIT_FRAME::GetAppearancePanel(), PCB_BASE_FRAME::GetCanvas(), GetClampedCoords(), PGM_BASE::GetCommonSettings(), KIGFX::VIEW_CONTROLS::GetCursorPosition(), PCB_BASE_FRAME::GetDesignSettings(), PCB_BASE_FRAME::GetMagneticItemsSettings(), PCB_BASE_FRAME::GetModel(), KIGFX::VIEW_CONTROLS::GetMousePosition(), BOARD_DESIGN_SETTINGS::GetTextItalic(), BOARD_DESIGN_SETTINGS::GetTextSize(), BOARD_DESIGN_SETTINGS::GetTextThickness(), BOARD_DESIGN_SETTINGS::GetTextUpright(), TOOL_BASE::getView(), GR_TEXT_H_ALIGN_LEFT, GR_TEXT_V_ALIGN_BOTTOM, grid, GRID_TEXT, TOOL_EVENT::HasPosition(), COMMON_SETTINGS::INPUT::immediate_actions, InferBold(), IsBackLayer(), KIGFX::VIEW::IsLayerVisible(), TOOL_EVENT::IsReactivate(), ZONE_FILLER_TOOL::IsZoneFillAction(), m_controls, m_frame, TEXT_ATTRIBUTES::m_Halign, m_inDrawingTool, COMMON_SETTINGS::m_Input, PCB_TOOL_BASE::m_isFootprintEditor, TEXT_ATTRIBUTES::m_Italic, TEXT_ATTRIBUTES::m_KeepUpright, TOOL_INTERACTIVE::m_menu, TEXT_ATTRIBUTES::m_Mirrored, m_mode, TEXT_ATTRIBUTES::m_Size, TEXT_ATTRIBUTES::m_StrokeWidth, TOOL_BASE::m_toolMgr, TEXT_ATTRIBUTES::m_Valign, m_view, MD_SHIFT, NoPrintableChars(), Pgm(), KIGFX::VIEW_CONTROLS::PinCursorInsideNonAutoscrollArea(), TOOLS_HOLDER::PopTool(), TOOL_EVENT::Position(), TOOL_MANAGER::PostAction(), TOOL_MANAGER::PrimeTool(), PCB_ACTIONS::properties, BOARD_COMMIT::Push(), TOOLS_HOLDER::PushTool(), ACTIONS::redo, EDA_DRAW_PANEL_GAL::Refresh(), ACTIONS::refreshPreview, TOOL_MANAGER::RunAction(), TOOL_INTERACTIVE::RunMainStack(), PCB_TOOL_BASE::selection(), PCB_ACTIONS::selectionClear, PCB_ACTIONS::selectItem, KIGFX::VIEW_CONTROLS::SetAutoPan(), EDA_DRAW_PANEL_GAL::SetCurrentCursor(), APPEARANCE_CONTROLS::SetLayerVisible(), EDA_DRAW_FRAME::SetMsgPanel(), SELECTION::SetReferencePoint(), KIGFX::VIEW_CONTROLS::ShowCursor(), DIALOG_SHIM::ShowQuasiModal(), text, TEXT, ACTIONS::undo, KIGFX::VIEW::Update(), TOOL_MANAGER::VetoContextMenuMouseWarp(), TOOL_INTERACTIVE::Wait(), and KIGFX::VIEW_CONTROLS::WarpMouseCursor().
Referenced by setTransitions().
int DRAWING_TOOL::PlaceTuningPattern | ( | const TOOL_EVENT & | aEvent | ) |
Definition at line 2233 of file pcb_tuning_pattern.cpp.
References _, TOOL_INTERACTIVE::Activate(), SELECTION::Add(), KIGFX::VIEW::Add(), SELECTION_TOOL::AddItemToSel(), PCB_ACTIONS::amplDecrease, PCB_ACTIONS::amplIncrease, PNS::MEANDER_PLACER_BASE::AmplitudeStep(), PCB_TOOL_BASE::board(), BUT_LEFT, BUT_RIGHT, KIGFX::VIEW_CONTROLS::CaptureCursor(), SELECTION::Clear(), PCB_TUNING_PATTERN::Clone(), GENERAL_COLLECTOR::Collect(), PCB_TOOL_BASE::controls(), PCB_TUNING_PATTERN::CreateNew(), DIFF_PAIR, DIFF_PAIR_SKEW, dummy, PCB_TUNING_PATTERN::EditPush(), PCB_TUNING_PATTERN::EditRevert(), PCB_TUNING_PATTERN::EditStart(), KIGFX::VIEW_CONTROLS::ForceCursorPosition(), KIGFX::VIEW_GROUP::FreeItems(), fromPNSMode(), PCB_BASE_FRAME::GetBoard(), PCB_BASE_FRAME::GetCanvas(), PCB_BASE_FRAME::GetCollectorsGuide(), COLLECTOR::GetCount(), BOARD::GetDesignSettings(), PCB_BASE_FRAME::GetDisplayOptions(), BOARD_ITEM::GetEffectiveShape(), PCB_TUNING_PATTERN::GetEnd(), EDA_ITEM::GetFocusPosition(), PCB_GROUP::GetItems(), BOARD_ITEM::GetLayer(), KIGFX::VIEW_CONTROLS::GetMousePosition(), BOARD_ITEM::GetParentGroup(), PCB_GENERATOR::GetPosition(), PCB_TUNING_PATTERN::GetPreviewItems(), TOOL_MANAGER::GetTool(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), HITTEST_THRESHOLD_PIXELS, MINOPTMAX< T >::IsNull(), ZONE_FILLER_TOOL::IsZoneFillAction(), KiROUND(), LENGTH_CONSTRAINT, PCB_ACTIONS::lengthTunerSettings, m_board, PCB_DISPLAY_OPTIONS::m_ContrastModeDisplay, BOARD_DESIGN_SETTINGS::m_DiffPairMeanderSettings, BOARD_DESIGN_SETTINGS::m_DRCEngine, m_frame, m_inDrawingTool, PCB_TOOL_BASE::m_isFootprintEditor, PNS::MEANDER_SETTINGS::m_maxAmplitude, TOOL_INTERACTIVE::m_menu, m_mode, m_pickerItem, m_preview, BOARD_DESIGN_SETTINGS::m_SingleTrackMeanderSettings, BOARD_DESIGN_SETTINGS::m_SkewMeanderSettings, PNS::MEANDER_SETTINGS::m_spacing, PNS::MEANDER_SETTINGS::m_targetLength, PNS::MEANDER_SETTINGS::m_targetSkew, COLLECTOR::m_Threshold, TOOL_BASE::m_toolMgr, m_tuningPattern, m_view, TOOL_EVENT::Parameter(), PCB_ARC_T, PCB_TRACE_T, TOOLS_HOLDER::PopTool(), PCB_ACTIONS::properties, TOOLS_HOLDER::PushTool(), EDA_DRAW_PANEL_GAL::Refresh(), KIGFX::VIEW::Remove(), PNS::TOOL_BASE::Router(), TOOL_MANAGER::RunAction(), PCB_ACTIONS::selectionClear, PCB_BASE_FRAME::SetActiveLayer(), KIGFX::VIEW_CONTROLS::SetAutoPan(), EDA_DRAW_PANEL_GAL::SetCurrentCursor(), PCB_TUNING_PATTERN::SetEnd(), PCB_TUNING_PATTERN::SetMaxAmplitude(), PCB_GENERATOR::SetPosition(), PCB_TUNING_PATTERN::SetSpacing(), KIGFX::VIEW_CONTROLS::ShowCursor(), EDA_BASE_FRAME::ShowInfoBarWarning(), DIALOG_SHIM::ShowModal(), PCB_ACTIONS::spacingDecrease, PCB_ACTIONS::spacingIncrease, PNS::MEANDER_PLACER_BASE::SpacingStep(), PNS::ROUTER::StopRouting(), TUNING, ACTIONS::undo, KIGFX::VIEW::Update(), PCB_TUNING_PATTERN::Update(), PCB_TUNING_PATTERN::UpdateSideFromEnd(), and TOOL_INTERACTIVE::Wait().
Referenced by setTransitions().
|
overridevirtual |
Bring the tool to a known, initial state.
If the tool claimed anything from the model or the view, it must release it when its reset.
aReason | contains information about the reason of tool reset. The possible drawing modes of DRAWING_TOOL |
Reimplemented from PCB_TOOL_BASE.
Definition at line 295 of file drawing_tool.cpp.
References PCB_BASE_FRAME::GetActiveLayer(), PCB_BASE_FRAME::GetDesignSettings(), BOARD_DESIGN_SETTINGS::GetLineThickness(), BOARD_DESIGN_SETTINGS::GetTextItalic(), BOARD_DESIGN_SETTINGS::GetTextSize(), BOARD_DESIGN_SETTINGS::GetTextThickness(), BOARD_DESIGN_SETTINGS::GetTextUpright(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), GR_TEXT_H_ALIGN_LEFT, GR_TEXT_V_ALIGN_TOP, InferBold(), IsBackLayer(), m_board, m_controls, m_frame, TEXT_ATTRIBUTES::m_Halign, TEXT_ATTRIBUTES::m_Italic, TEXT_ATTRIBUTES::m_KeepUpright, m_layer, TEXT_ATTRIBUTES::m_Mirrored, TEXT_ATTRIBUTES::m_Size, m_stroke, TEXT_ATTRIBUTES::m_StrokeWidth, m_textAttrs, TEXT_ATTRIBUTES::m_Valign, m_view, STROKE_PARAMS::SetColor(), STROKE_PARAMS::SetLineStyle(), STROKE_PARAMS::SetWidth(), TOOL_BASE::SHUTDOWN, and UpdateStatusBar().
|
privateinherited |
Clear the current transition map and restores the default one created by setTransitions().
Definition at line 76 of file tool_interactive.cpp.
References TOOL_MANAGER::ClearTransitions(), TOOL_BASE::m_toolMgr, and TOOL_INTERACTIVE::setTransitions().
|
inherited |
Call a function using the main stack.
aFunc | is the function to be calls. |
Definition at line 104 of file tool_interactive.cpp.
References TOOL_BASE::m_toolMgr, and TOOL_MANAGER::RunMainStack().
Referenced by PlaceText().
|
protectedinherited |
Definition at line 323 of file pcb_tool_base.cpp.
References PCB_SELECTION_TOOL::GetSelection(), TOOL_MANAGER::GetTool(), and TOOL_BASE::m_toolMgr.
|
protectedinherited |
Definition at line 315 of file pcb_tool_base.cpp.
References PCB_SELECTION_TOOL::GetSelection(), TOOL_MANAGER::GetTool(), and TOOL_BASE::m_toolMgr.
Referenced by BOARD_EDITOR_CONTROL::AssignNetclass(), AUTOPLACE_TOOL::autoplaceSelected(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::CanInlineDrag(), EDIT_TOOL::ChangeTrackWidth(), PAD_TOOL::copyPadSettings(), ARRAY_TOOL::CreateArray(), CONVERT_TOOL::CreateLines(), CONVERT_TOOL::CreatePolys(), DRC_TOOL::CrossProbe(), BOARD_INSPECTION_TOOL::DiffFootprint(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), BOARD_INSPECTION_TOOL::doHideRatsnestNet(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), EDIT_TOOL::Drag(), EDIT_TOOL::DragArcTrack(), drawArc(), DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), drawOneBezier(), drawShape(), DrawTable(), DrawZone(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), PCB_EDIT_TABLE_TOOL::EditTable(), GROUP_TOOL::EnterGroup(), PAD_TOOL::EnumeratePads(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), EDIT_TOOL::FilletTracks(), getSourceZoneForAction(), GROUP_TOOL::Group(), BOARD_INSPECTION_TOOL::highlightNet(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), InteractivePlaceWithPreview(), PCB_CONTROL::LayerPresetFeedback(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), ROUTER_TOOL::MainLoop(), EDIT_TOOL::ModifyLines(), BOARD_EDITOR_CONTROL::modifyLockSelected(), ARRAY_TOOL::onDialogClosed(), PCB_POINT_EDITOR::OnSelectionChange(), CONVERT_TOOL::OutsetItems(), EDIT_TOOL::PackAndMoveFootprints(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PlaceImportedGraphics(), PlaceText(), POSITION_RELATIVE_TOOL::PositionRelative(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), PAD_TOOL::pushPadSettings(), BOARD_REANNOTATE_TOOL::ReannotateDuplicatesInSelection(), GROUP_TOOL::RemoveFromGroup(), GLOBAL_EDIT_TOOL::RemoveUnusedPads(), MULTICHANNEL_TOOL::repeatLayout(), ROUTER_TOOL::RouteSelected(), CONVERT_TOOL::SegmentToArc(), SetAnchor(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), EDIT_TOOL::Swap(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), GROUP_TOOL::Ungroup(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), PCB_CONTROL::UpdateMessagePanel(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), and BOARD_EDITOR_CONTROL::ZoneMerge().
int DRAWING_TOOL::SetAnchor | ( | const TOOL_EVENT & | aEvent | ) |
Place the footprint anchor (only in footprint editor).
Definition at line 2024 of file drawing_tool.cpp.
References _, TOOL_INTERACTIVE::Activate(), LSET::AllLayersMask(), ANCHOR, BUT_LEFT, BUT_RIGHT, KIGFX::VIEW_CONTROLS::CaptureCursor(), PCB_TOOL_BASE::footprint(), KIGFX::VIEW_CONTROLS::ForceCursorPosition(), PCB_BASE_FRAME::GetCanvas(), PCB_BASE_FRAME::GetMagneticItemsSettings(), PCB_BASE_FRAME::GetModel(), KIGFX::VIEW_CONTROLS::GetMousePosition(), FOOTPRINT::GetPosition(), TOOL_BASE::getView(), grid, m_controls, m_frame, m_inDrawingTool, PCB_TOOL_BASE::m_isFootprintEditor, TOOL_INTERACTIVE::m_menu, m_mode, TOOL_BASE::m_toolMgr, MD_SHIFT, COMMIT::Modify(), FOOTPRINT::MoveAnchorPosition(), TOOLS_HOLDER::PopTool(), BOARD_COMMIT::Push(), TOOLS_HOLDER::PushTool(), TOOL_MANAGER::RunAction(), PCB_TOOL_BASE::selection(), PCB_ACTIONS::selectionClear, KIGFX::VIEW_CONTROLS::SetAutoPan(), EDA_DRAW_PANEL_GAL::SetCurrentCursor(), KIGFX::VIEW_CONTROLS::ShowCursor(), and TOOL_INTERACTIVE::Wait().
Referenced by setTransitions().
|
inherited |
Assign a context menu and tells when it should be activated.
aMenu | is the menu to be assigned. |
aTrigger | determines conditions upon which the context menu is activated. |
Definition at line 93 of file tool_interactive.cpp.
References CMENU_OFF, TOOL_BASE::m_toolMgr, TOOL_MANAGER::ScheduleContextMenu(), and ACTION_MENU::SetTool().
Referenced by SELECTION_TOOL::doSelectionMenu(), DrawVia(), TOOL_MENU::ShowContextMenu(), and SCH_LINE_WIRE_BUS_TOOL::UnfoldBus().
|
inlineinherited |
Definition at line 108 of file pcb_tool_base.h.
References PCB_TOOL_BASE::m_isBoardEditor.
|
inlineinherited |
Function SetIsFootprintEditor()
Toggles edit footprint mode. When enabled, one may select parts of footprints individually (graphics, pads, etc.), so they can be modified.
aEnabled | decides if the mode should be enabled. |
Definition at line 105 of file pcb_tool_base.h.
References PCB_TOOL_BASE::m_isFootprintEditor.
|
inline |
Definition at line 234 of file drawing_tool.h.
References m_layer, and m_stroke.
Referenced by PCB_BASE_EDIT_FRAME::ShowGraphicItemPropertiesDialog().
|
overridevirtual |
This method is meant to be overridden in order to specify handlers for events.
It is called every time tool is reset or finished.
Reimplemented from PCB_TOOL_BASE.
Definition at line 4145 of file drawing_tool.cpp.
References PCB_ACTIONS::drawAlignedDimension, DrawArc(), PCB_ACTIONS::drawArc, DrawBezier(), PCB_ACTIONS::drawBezier, PCB_ACTIONS::drawCenterDimension, DrawCircle(), PCB_ACTIONS::drawCircle, DrawDimension(), PCB_ACTIONS::drawLeader, DrawLine(), PCB_ACTIONS::drawLine, PCB_ACTIONS::drawOrthogonalDimension, PCB_ACTIONS::drawPolygon, PCB_ACTIONS::drawRadialDimension, DrawRectangle(), PCB_ACTIONS::drawRectangle, PCB_ACTIONS::drawRuleArea, PCB_ACTIONS::drawSimilarZone, DrawTable(), PCB_ACTIONS::drawTable, PCB_ACTIONS::drawTextBox, DrawVia(), PCB_ACTIONS::drawVia, DrawZone(), PCB_ACTIONS::drawZone, PCB_ACTIONS::drawZoneCutout, TOOL_INTERACTIVE::Go(), PlaceCharacteristics(), PCB_ACTIONS::placeCharacteristics, PlaceImportedGraphics(), PCB_ACTIONS::placeImportedGraphics, PlaceReferenceImage(), PCB_ACTIONS::placeReferenceImage, PlaceStackup(), PCB_ACTIONS::placeStackup, PlaceText(), PCB_ACTIONS::placeText, PlaceTuningPattern(), SetAnchor(), PCB_ACTIONS::setAnchor, ToggleHV45Mode(), PCB_ACTIONS::toggleHV45Mode, PCB_ACTIONS::tuneDiffPair, PCB_ACTIONS::tuneSingleTrack, and PCB_ACTIONS::tuneSkew.
int DRAWING_TOOL::ToggleHV45Mode | ( | const TOOL_EVENT & | toolEvent | ) |
Toggle the horizontal/vertical/45-degree constraint for drawing tools.
Set up handlers for various events.
Definition at line 2109 of file drawing_tool.cpp.
References PCB_TOOL_BASE::frame(), FRAME_PCB_EDITOR, SETTINGS_MANAGER::GetAppSettings(), PGM_BASE::GetSettingsManager(), PCBNEW_SETTINGS::m_Use45DegreeLimit, FOOTPRINT_EDITOR_SETTINGS::m_Use45Limit, Pgm(), TOGGLE, and UpdateStatusBar().
Referenced by setTransitions().
void DRAWING_TOOL::UpdateStatusBar | ( | ) | const |
Definition at line 333 of file drawing_tool.cpp.
References _, EDA_DRAW_FRAME::DisplayConstraintsMsg(), FRAME_PCB_EDITOR, SETTINGS_MANAGER::GetAppSettings(), PGM_BASE::GetSettingsManager(), EDA_BASE_FRAME::IsType(), m_frame, and Pgm().
Referenced by Reset(), and ToggleHV45Mode().
|
inlineprotectedinherited |
Definition at line 155 of file pcb_tool_base.h.
References TOOL_BASE::getView().
Referenced by AUTOPLACE_TOOL::autoplace(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), MICROWAVE_TOOL::drawMicrowaveInductor(), PAD_TOOL::EditPad(), PAD_TOOL::EnumeratePads(), PAD_TOOL::ExitPadEditMode(), PCB_CONTROL::FlipPcbView(), ROUTER_TOOL::handleLayerSwitch(), BOARD_INSPECTION_TOOL::highlightNet(), ROUTER_TOOL::InlineDrag(), InteractivePlaceWithPreview(), PCB_CONTROL::LayerAlphaDec(), PCB_CONTROL::LayerAlphaInc(), PAD_TOOL::OnUndoRedo(), ROUTER_TOOL::performDragging(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), FOOTPRINT_EDITOR_CONTROL::Save(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), PCB_CONTROL::TrackDisplayMode(), PCB_POINT_EDITOR::updateItem(), PCB_CONTROL::ViaDisplayMode(), and PCB_CONTROL::ZoneDisplayMode().
|
inherited |
Suspend execution of the tool until an event specified in aEventList arrives.
No parameters means waiting for any event.
Definition at line 70 of file tool_interactive.cpp.
References TOOL_BASE::m_toolMgr, and TOOL_MANAGER::ScheduleWait().
Referenced by SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), SELECTION_TOOL::doSelectionMenu(), EDIT_TOOL::DragArcTrack(), drawArc(), DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), drawOneBezier(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DrawTable(), DrawVia(), DrawZone(), PAD_TOOL::EnumeratePads(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), ROUTER_TOOL::InlineDrag(), InteractivePlaceWithPreview(), EDA_3D_CONTROLLER::Main(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EE_POINT_EDITOR::Main(), EE_SELECTION_TOOL::Main(), GERBVIEW_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), ZOOM_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_POINT_EDITOR::Main(), PL_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), PCB_TEST_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), PCB_POINT_EDITOR::OnSelectionChange(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), EDIT_TOOL::pickReferencePoint(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), PlaceText(), PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), EE_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectPoint(), ZOOM_TOOL::selectRegion(), PCB_SELECTION_TOOL::selectTableCells(), EE_SELECTION_TOOL::selectTableCells(), SetAnchor(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and SCH_LINE_WIRE_BUS_TOOL::UnfoldBus().
|
friend |
Definition at line 412 of file drawing_tool.h.
|
staticprivate |
Definition at line 409 of file drawing_tool.h.
Referenced by drawArc(), DrawDimension(), drawOneBezier(), drawShape(), DrawTable(), DrawZone(), PlaceImportedGraphics(), PlaceReferenceImage(), and PlaceText().
|
private |
Definition at line 395 of file drawing_tool.h.
Referenced by DrawDimension(), PlaceCharacteristics(), PlaceStackup(), PlaceTuningPattern(), and Reset().
|
private |
Definition at line 394 of file drawing_tool.h.
Referenced by drawArc(), DrawDimension(), drawOneBezier(), drawShape(), DrawTable(), DrawZone(), InteractivePlaceWithPreview(), PlaceImportedGraphics(), PlaceReferenceImage(), PlaceText(), Reset(), and SetAnchor().
|
private |
Definition at line 396 of file drawing_tool.h.
Referenced by ZONE_CREATE_HELPER::commitZone(), ZONE_CREATE_HELPER::createNewZone(), DrawArc(), drawArc(), DrawBezier(), DrawBoardCharacteristics(), DrawCircle(), DrawDimension(), DrawLine(), drawOneBezier(), DrawRectangle(), drawShape(), DrawSpecificationStackup(), DrawTable(), DrawZone(), InteractivePlaceWithPreview(), PlaceCharacteristics(), PlaceImportedGraphics(), PlaceReferenceImage(), PlaceStackup(), PlaceText(), PlaceTuningPattern(), Reset(), SetAnchor(), and UpdateStatusBar().
|
private |
Definition at line 398 of file drawing_tool.h.
Referenced by DrawArc(), DrawBezier(), DrawCircle(), DrawDimension(), DrawLine(), DrawRectangle(), DrawTable(), PlaceImportedGraphics(), PlaceReferenceImage(), PlaceText(), PlaceTuningPattern(), and SetAnchor().
|
protectedinherited |
Definition at line 188 of file pcb_tool_base.h.
Referenced by PCB_TOOL_BASE::IsBoardEditor(), PCB_CONTROL::placeBoardItems(), PCB_TOOL_BASE::SetIsBoardEditor(), and PCB_CONTROL::UpdateMessagePanel().
|
protectedinherited |
Definition at line 187 of file pcb_tool_base.h.
Referenced by ARRAY_TOOL::CreateArray(), ZONE_CREATE_HELPER::createNewZone(), EDIT_TOOL::doMoveSelection(), DrawArc(), DrawBezier(), DrawCircle(), DrawDimension(), DrawLine(), DrawRectangle(), DrawVia(), DrawZone(), EDIT_TOOL::Duplicate(), PAD_TOOL::EditPad(), PAD_TOOL::EnumeratePads(), PCB_CONTROL::GridPlaceOrigin(), GROUP_TOOL::Group(), EDIT_TOOL::Increment(), EDIT_TOOL::Init(), PAD_TOOL::Init(), PCB_CONTROL::InteractiveDelete(), InteractivePlaceWithPreview(), PCB_TOOL_BASE::IsFootprintEditor(), PCB_POINT_EDITOR::makePoints(), ARRAY_TOOL::onDialogClosed(), PCB_POINT_EDITOR::OnSelectionChange(), PCB_CONTROL::Paste(), PAD_TOOL::PlacePad(), PlaceText(), PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelative(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), PCB_CONTROL::Print(), PCB_CONTROL::pruneItemLayers(), SCRIPTING_TOOL::reloadPlugins(), EDIT_TOOL::Rotate(), SetAnchor(), PCB_TOOL_BASE::SetIsFootprintEditor(), PCB_CONTROL::SnapMode(), PCB_CONTROL::SnapModeFeedback(), and EDIT_TOOL::updateModificationPoint().
|
private |
Definition at line 400 of file drawing_tool.h.
Referenced by drawArc(), drawOneBezier(), drawShape(), Reset(), and SetStroke().
|
protectedinherited |
The functions below are not yet implemented - their interface may change.
Definition at line 125 of file tool_interactive.h.
Referenced by SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCB_TOOL_BASE::doInteractiveItemPlacement(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), drawArc(), DrawDimension(), MICROWAVE_TOOL::drawMicrowaveInductor(), drawOneBezier(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DrawTable(), DrawZone(), PAD_TOOL::EnumeratePads(), TOOL_INTERACTIVE::GetToolMenu(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), EDA_3D_CONTROLLER::Init(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Init(), EE_SELECTION_TOOL::Init(), EE_TOOL_BASE< T >::Init(), SCH_DESIGN_BLOCK_CONTROL::Init(), SCH_DRAWING_TOOLS::Init(), SCH_LINE_WIRE_BUS_TOOL::Init(), SYMBOL_EDITOR_CONTROL::Init(), SYMBOL_EDITOR_DRAWING_TOOLS::Init(), GERBVIEW_SELECTION_TOOL::Init(), PICKER_TOOL::Init(), ZOOM_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_SELECTION_TOOL::Init(), ROUTER_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), Init(), FOOTPRINT_EDITOR_CONTROL::Init(), PAD_TOOL::Init(), PCB_PICKER_TOOL::Init(), PCB_SELECTION_TOOL::Init(), PCB_TOOL_BASE::Init(), PCB_VIEWER_TOOLS::Init(), InteractivePlaceWithPreview(), EDA_3D_CONTROLLER::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EE_SELECTION_TOOL::Main(), GERBVIEW_SELECTION_TOOL::Main(), PICKER_TOOL::Main(), ZOOM_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), PlaceText(), PlaceTuningPattern(), SetAnchor(), SCH_DRAWING_TOOLS::SingleClickPlace(), TOOL_INTERACTIVE::TOOL_INTERACTIVE(), SCH_DRAWING_TOOLS::TwoClickPlace(), and SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace().
|
private |
Definition at line 397 of file drawing_tool.h.
Referenced by DrawArc(), DrawBezier(), DrawCircle(), DrawDimension(), DrawLine(), DrawRectangle(), DrawVia(), DrawZone(), GetDrawingMode(), Init(), InteractivePlaceWithPreview(), PlaceImportedGraphics(), PlaceText(), PlaceTuningPattern(), and SetAnchor().
|
private |
Definition at line 405 of file drawing_tool.h.
Referenced by PlaceTuningPattern().
|
private |
Definition at line 404 of file drawing_tool.h.
Referenced by drawShape(), and PlaceTuningPattern().
|
private |
Definition at line 401 of file drawing_tool.h.
Referenced by drawArc(), DrawDimension(), drawOneBezier(), drawShape(), Reset(), and SetStroke().
|
private |
Definition at line 402 of file drawing_tool.h.
Referenced by drawShape(), and Reset().
|
protectedinherited |
Unique id, assigned by a TOOL_MANAGER instance.
Definition at line 215 of file tool_base.h.
Referenced by TOOL_INTERACTIVE::Activate(), TOOL_BASE::GetId(), and TOOL_BASE::IsToolActive().
|
protectedinherited |
Definition at line 218 of file tool_base.h.
Referenced by TOOL_INTERACTIVE::Activate(), EE_POINT_EDITOR::addCorner(), SELECTION_TOOL::AddItemsToSel(), SELECTION_TOOL::AddItemToSel(), SYMBOL_EDITOR_MOVE_TOOL::AlignElements(), SCH_MOVE_TOOL::AlignToGrid(), SCH_EDITOR_CONTROL::AssignNetclass(), BOARD_EDITOR_CONTROL::AssignNetclass(), CVPCB_ASSOCIATION_TOOL::Associate(), TOOL_BASE::attachManager(), SCH_EDIT_TOOL::AutoplaceFields(), EE_SELECTION_TOOL::autostartEvent(), SCH_EDIT_TOOL::BreakWire(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), ROUTER_TOOL::CanInlineDrag(), SCH_EDIT_TOOL::ChangeBodyStyle(), SCH_EDITOR_CONTROL::ChangeLineMode(), SCH_EDIT_TOOL::ChangeTextType(), EDIT_TOOL::ChangeTrackWidth(), SCH_EDIT_TOOL::CleanupSheetPins(), GERBVIEW_CONTROL::ClearAllLayers(), SCH_EDITOR_CONTROL::ClearHighlight(), BOARD_INSPECTION_TOOL::ClearHighlight(), GERBVIEW_SELECTION_TOOL::clearSelection(), PL_SELECTION_TOOL::ClearSelection(), SCH_EDIT_TABLE_TOOL::clearSelection(), PCB_EDIT_TABLE_TOOL::clearSelection(), EE_SELECTION_TOOL::ClearSelection(), PCB_SELECTION_TOOL::ClearSelection(), SCH_EDITOR_CONTROL::CopyAsText(), SYMBOL_EDITOR_EDIT_TOOL::CopyAsText(), PAD_TOOL::copyPadSettings(), EDIT_TOOL::copyToClipboard(), ARRAY_TOOL::CreateArray(), MICROWAVE_TOOL::createInductorBetween(), EE_INSPECTION_TOOL::CrossProbe(), DRC_TOOL::CrossProbe(), COMMON_TOOLS::CursorControl(), SCH_EDITOR_CONTROL::Cut(), PCB_CONTROL::CycleLayerPresets(), SCH_EDIT_TOOL::DdAppendFile(), EDIT_TOOL::DeleteItems(), BOARD_INSPECTION_TOOL::DiffFootprint(), SCH_EDITOR_CONTROL::doCopy(), BOARD_EDITOR_CONTROL::doCrossProbePcbToSch(), SCH_EDITOR_CONTROL::doCrossProbeSchToPcb(), SCH_EDIT_TOOL::DoDelete(), SYMBOL_EDITOR_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), BOARD_INSPECTION_TOOL::doHideRatsnestNet(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), PCB_SELECTION_TOOL::doSyncSelection(), SCH_DRAWING_TOOLS::doSyncSheetsPins(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), COMMON_TOOLS::doZoomInOut(), COMMON_TOOLS::doZoomToPreset(), EDIT_TOOL::Drag(), DrawArc(), drawArc(), DrawCircle(), DrawDimension(), drawOneBezier(), DrawRectangle(), SCH_DRAWING_TOOLS::DrawRuleArea(), SCH_LINE_WIRE_BUS_TOOL::DrawSegments(), SCH_DRAWING_TOOLS::DrawShape(), PL_DRAWING_TOOLS::DrawShape(), drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), DrawTable(), DrawZone(), BOARD_EDITOR_CONTROL::DrillOrigin(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), EDIT_TOOL::Duplicate(), SCH_EDIT_TOOL::EditField(), SYMBOL_EDITOR_EDIT_TOOL::editFieldProperties(), SCH_EDIT_TOOL::editFieldText(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), PAD_TOOL::EditPad(), SYMBOL_EDITOR_EDIT_TOOL::editShapeProperties(), SYMBOL_EDITOR_EDIT_TOOL::editSymbolProperties(), SCH_EDIT_TABLE_TOOL::EditTable(), PCB_EDIT_TABLE_TOOL::EditTable(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), PCB_SELECTION_TOOL::EnterGroup(), GROUP_TOOL::EnterGroup(), SCH_NAVIGATE_TOOL::EnterSheet(), PAD_TOOL::EnumeratePads(), EE_INSPECTION_TOOL::ExcludeMarker(), PCB_SELECTION_TOOL::ExitGroup(), PCB_SELECTION_TOOL::expandConnection(), ZONE_FILLER_TOOL::FillAllZones(), PCB_SELECTION_TOOL::filterSelection(), PCB_SELECTION_TOOL::FindItem(), SCH_EDITOR_CONTROL::FindSymbolAndItem(), SCH_LINE_WIRE_BUS_TOOL::finishSegments(), EDIT_TOOL::Flip(), EDIT_TOOL::GetAndPlace(), TOOL_BASE::GetManager(), TOOL_BASE::getModelInternal(), getSourceZoneForAction(), PCB_EDIT_TABLE_TOOL::getTableCellSelection(), TOOL_BASE::getToolHolderInternal(), SCH_EDIT_TABLE_TOOL::getToolMgr(), PCB_EDIT_TABLE_TOOL::getToolMgr(), TOOL_BASE::getView(), TOOL_BASE::getViewControls(), TOOL_INTERACTIVE::goInternal(), PCB_SELECTION_TOOL::grabUnconnected(), COMMON_TOOLS::GridFastCycle(), SCH_EDITOR_CONTROL::GridFeedback(), COMMON_TOOLS::GridNext(), COMMON_TOOLS::GridOrigin(), PCB_CONTROL::GridPlaceOrigin(), COMMON_TOOLS::GridPreset(), COMMON_TOOLS::GridPrev(), GROUP_TOOL::Group(), PCB_CONTROL::HighContrastModeCycle(), GERBVIEW_CONTROL::HighlightControl(), BOARD_INSPECTION_TOOL::HighlightItem(), SCH_EDITOR_CONTROL::HighlightNet(), BOARD_INSPECTION_TOOL::HighlightNet(), BOARD_INSPECTION_TOOL::highlightNet(), SCH_EDITOR_CONTROL::HighlightNetCursor(), PL_EDIT_TOOL::ImportDrawingSheetContent(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), SCH_DRAWING_TOOLS::ImportGraphics(), SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), EE_TOOL_BASE< T >::Init(), SCH_DESIGN_BLOCK_CONTROL::Init(), SCH_EDIT_TOOL::Init(), SYMBOL_EDITOR_CONTROL::Init(), SYMBOL_EDITOR_EDIT_TOOL::Init(), PL_DRAWING_TOOLS::Init(), PL_EDIT_TOOL::Init(), PL_POINT_EDITOR::Init(), ROUTER_TOOL::Init(), BOARD_EDITOR_CONTROL::Init(), BOARD_INSPECTION_TOOL::Init(), BOARD_REANNOTATE_TOOL::Init(), CONVERT_TOOL::Init(), Init(), EDIT_TOOL::Init(), FOOTPRINT_EDITOR_CONTROL::Init(), GENERATOR_TOOL::Init(), GLOBAL_EDIT_TOOL::Init(), GROUP_TOOL::Init(), PAD_TOOL::Init(), PCB_EDIT_TABLE_TOOL::Init(), PCB_POINT_EDITOR::Init(), PCB_SELECTION_TOOL::Init(), ALIGN_DISTRIBUTE_TOOL::Init(), POSITION_RELATIVE_TOOL::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_INSPECTION_TOOL::InspectDRCError(), EE_INSPECTION_TOOL::InspectERCError(), SCH_EDIT_TOOL::InteractiveDelete(), SYMBOL_EDITOR_EDIT_TOOL::InteractiveDelete(), PL_EDIT_TOOL::InteractiveDelete(), PCB_CONTROL::InteractiveDelete(), InteractivePlaceWithPreview(), EDIT_TOOL::invokeInlineRouter(), EDIT_TOOL::isRouterActive(), TOOL_BASE::IsToolActive(), SCH_EDIT_TOOL::JustifyText(), EDIT_TOOL::JustifyText(), GROUP_TOOL::LeaveGroup(), BOARD_INSPECTION_TOOL::LocalRatsnestTool(), EDA_3D_CONTROLLER::Main(), CVPCB_CONTROL::Main(), CVPCB_FOOTPRINT_VIEWER_SELECTION_TOOL::Main(), EE_POINT_EDITOR::Main(), EE_SELECTION_TOOL::Main(), SCH_MOVE_TOOL::Main(), SYMBOL_EDITOR_MOVE_TOOL::Main(), GERBVIEW_SELECTION_TOOL::Main(), PL_EDIT_TOOL::Main(), PL_SELECTION_TOOL::Main(), PCB_PICKER_TOOL::Main(), PCB_SELECTION_TOOL::Main(), ROUTER_TOOL::MainLoop(), PCB_VIEWER_TOOLS::MeasureTool(), SCH_EDIT_TOOL::Mirror(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), EDIT_TOOL::Mirror(), BOARD_EDITOR_CONTROL::modifyLockSelected(), EDIT_TOOL::Move(), EDIT_TOOL::MoveExact(), SCH_EDITOR_CONTROL::NextLineMode(), SYMBOL_EDITOR_CONTROL::OnDeMorgan(), ARRAY_TOOL::onDialogClosed(), SELECTION_TOOL::onDisambiguationExpire(), COMMON_TOOLS::OnGridChanged(), PCB_POINT_EDITOR::OnSelectionChange(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), PL_EDIT_TOOL::Paste(), PAD_TOOL::pastePadProperties(), ROUTER_TOOL::performDragging(), ROUTER_TOOL::performRouting(), GROUP_TOOL::PickNewMember(), EDIT_TOOL::pickReferencePoint(), SYMBOL_EDITOR_EDIT_TOOL::PinTable(), PCB_CONTROL::placeBoardItems(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), PlaceImportedGraphics(), PL_DRAWING_TOOLS::PlaceItem(), SCH_DRAWING_TOOLS::PlaceNextSymbolUnit(), PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), PlaceText(), PlaceTuningPattern(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), GERBVIEW_CONTROL::Print(), PCB_CONTROL::Print(), SCH_EDIT_TOOL::Properties(), SYMBOL_EDITOR_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), PAD_TOOL::pushPadSettings(), EDIT_TOOL::rebuildConnectivity(), ZONE_FILLER_TOOL::rebuildConnectivity(), EE_SELECTION_TOOL::RebuildSelection(), PAD_TOOL::RecombinePad(), SCH_EDITOR_CONTROL::Redo(), SYMBOL_EDITOR_EDIT_TOOL::Redo(), GENERATOR_TOOL::RegenerateSelected(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), EDIT_TOOL::Remove(), EE_POINT_EDITOR::removeCorner(), PCB_POINT_EDITOR::removeCorner(), GROUP_TOOL::RemoveFromGroup(), SELECTION_TOOL::RemoveItemFromSel(), SELECTION_TOOL::RemoveItemsFromSel(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), SYMBOL_EDITOR_CONTROL::RenameSymbol(), SCH_EDIT_TOOL::RepeatDrawItem(), SYMBOL_EDITOR_DRAWING_TOOLS::RepeatDrawItem(), MULTICHANNEL_TOOL::repeatLayout(), PCB_SELECTION_TOOL::RequestSelection(), EE_SELECTION_TOOL::RequestSelection(), EDA_3D_CONTROLLER::Reset(), COMMON_TOOLS::Reset(), PNS::TOOL_BASE::Reset(), GENERATOR_TOOL_PNS_PROXY::Reset(), COMMON_TOOLS::ResetLocalCoords(), TOOL_INTERACTIVE::resetTransitions(), ROUTER_TOOL::restoreSelection(), SCH_EDITOR_CONTROL::Revert(), SCH_EDIT_TOOL::Rotate(), SYMBOL_EDITOR_EDIT_TOOL::Rotate(), EDIT_TOOL::Rotate(), ROUTER_TOOL::RouteSelected(), TOOL_INTERACTIVE::RunMainStack(), DRC_TOOL::RunTests(), EE_SELECTION_TOOL::Selectable(), EE_SELECTION_TOOL::SelectAll(), PCB_SELECTION_TOOL::SelectAll(), EE_SELECTION_TOOL::SelectColumns(), PCB_SELECTION_TOOL::SelectColumns(), EE_SELECTION_TOOL::SelectConnection(), PCB_TOOL_BASE::selection(), COMMON_TOOLS::SelectionTool(), GERBVIEW_SELECTION_TOOL::SelectItem(), PCB_PICKER_TOOL::SelectItemInteractively(), GERBVIEW_SELECTION_TOOL::SelectItems(), EE_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectNet(), GERBVIEW_SELECTION_TOOL::selectPoint(), PCB_TEST_SELECTION_TOOL::selectPoint(), PL_SELECTION_TOOL::SelectPoint(), PCB_SELECTION_TOOL::selectPoint(), EE_SELECTION_TOOL::selectPoint(), PCB_PICKER_TOOL::SelectPointInteractively(), EE_SELECTION_TOOL::SelectRows(), PCB_SELECTION_TOOL::SelectRows(), PCB_SELECTION_TOOL::selectSameSheet(), PCB_SELECTION_TOOL::selectSheetContents(), EE_SELECTION_TOOL::SelectTable(), PCB_SELECTION_TOOL::SelectTable(), PCB_SELECTION_TOOL::selectTableCells(), EE_SELECTION_TOOL::selectTableCells(), SetAnchor(), SCH_EDIT_TOOL::SetAttribute(), TOOL_INTERACTIVE::SetContextMenu(), EDA_3D_CONTROLLER::SetMaterial(), DRC_TOOL::ShowDRCDialog(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), SCH_EDITOR_CONTROL::SimProbe(), SCH_EDITOR_CONTROL::SimTune(), SCH_DRAWING_TOOLS::SingleClickPlace(), PCB_CONTROL::SnapMode(), SCH_EDIT_TOOL::Swap(), SYMBOL_EDITOR_EDIT_TOOL::Swap(), EDIT_TOOL::Swap(), EE_SELECTION_TOOL::SyncSelection(), SCH_EDIT_TOOL::ToggleAttribute(), COMMON_TOOLS::ToggleCursor(), COMMON_TOOLS::ToggleCursorStyle(), EDA_3D_CONTROLLER::ToggleLayersManager(), EDA_3D_CONTROLLER::ToggleVisibility(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), SCH_MOVE_TOOL::trimDanglingLines(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), SCH_EDITOR_CONTROL::Undo(), SYMBOL_EDITOR_EDIT_TOOL::Undo(), GROUP_TOOL::Ungroup(), PCB_SELECTION_TOOL::unrouteSelected(), EE_SELECTION_TOOL::UnselectAll(), PCB_SELECTION_TOOL::UnselectAll(), GERBVIEW_SELECTION_TOOL::UnselectItem(), GERBVIEW_SELECTION_TOOL::UnselectItems(), SCH_EDIT_TOOL::UnsetAttribute(), PNS::TOOL_BASE::updateEndItem(), PCB_POINT_EDITOR::updateItem(), BOARD_INSPECTION_TOOL::UpdateLocalRatsnest(), EE_INSPECTION_TOOL::UpdateMessagePanel(), GERBVIEW_CONTROL::UpdateMessagePanel(), PL_EDITOR_CONTROL::UpdateMessagePanel(), PCB_CONTROL::UpdateMessagePanel(), EDIT_TOOL::updateModificationPoint(), MULTICHANNEL_TOOL::UpdatePickedItem(), PNS::TOOL_BASE::updateStartItem(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), TOOL_INTERACTIVE::Wait(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), ZONE_FILLER_TOOL::ZoneFill(), BOARD_EDITOR_CONTROL::ZoneMerge(), and ZONE_FILLER_TOOL::ZoneUnfill().
|
protectedinherited |
Names are expected to obey the format application.ToolName (eg.
pcbnew.InteractiveSelection).
Definition at line 216 of file tool_base.h.
Referenced by TOOL_BASE::GetName().
|
private |
Definition at line 406 of file drawing_tool.h.
Referenced by PlaceTuningPattern().
|
protectedinherited |
Definition at line 214 of file tool_base.h.
Referenced by TOOL_BASE::GetType().
|
private |
Definition at line 393 of file drawing_tool.h.
Referenced by drawArc(), DrawDimension(), drawOneBezier(), drawShape(), DrawTable(), DrawZone(), PlaceImportedGraphics(), PlaceReferenceImage(), PlaceText(), PlaceTuningPattern(), and Reset().
|
staticprivate |
Definition at line 408 of file drawing_tool.h.
Referenced by drawArc(), DrawDimension(), drawOneBezier(), and drawShape().