|
PCB Environment 2
|
WARNING: The non-async UIActions functions are expected to be non-concurrent. More...
#include <Actions.hpp>
Public Member Functions | |
| UIActions (UIApplication &) | |
| void | setUIElement (ActionTab *) |
| void | reset () |
| Connection * | getConnection () const |
| const auto & | getSelectionSetC () const |
| const auto & | getSelectionSetP () const |
| const std::vector< Connection * > * | getActiveConnections () const |
| void | deselectAll () |
| void | deselect (const Component *) |
| void | deselect (const Pin *) |
| void | setSelection (Object *) |
| void | setSelection (Component *) |
| void | setSelection (Pin *) |
| void | setSelection (const std::set< Object * > &) |
| void | setSelectionLayer (char) |
| char | getSelectionLayer () const |
| void | setPreview (bool) |
| void | setPreviewTrack (const Track &, bool legal) |
| bool | isPreviewing () const |
| bool | isPreviewReady () const |
| bool | isPreviewStale () const |
| bool | isPreviewTrackLegal () const |
| const Track & | getRoutePreview () const |
| void | discardPreview () |
| void | setTimeoutMS (uint64_t) |
| void | setActiveLayer (uint) |
| uint | getActiveLayer () const |
| void | setViaCost (float) |
| bool | autoroute (uint64_t timeoutMS) |
| bool | connect () |
| bool | routeToPoint (const Point_25 &) |
| bool | addSegmentTo (const Point_25 &) |
| bool | routeTo (const Point_2 &) |
| void | setRouteMode (char mode) |
| char | getRouteMode () const |
| char | getLastRouteMode () const |
| bool | routePreview (const Point_2 &) |
| bool | routeToPointPreview (const Point_25 &) |
| bool | addSegmentToPreview (const Point_25 &) |
| bool | unrouteConnection () |
| bool | unrouteSegment () |
| bool | unrouteSelection () |
| void | updateIndicators () |
| void | interrupt () |
| void | setLockStepping (uint granularity) |
| void | nextStep () |
| void | setSelectionType (char c) |
| char | getSelectionType () const |
Static Public Attributes | |
| static constexpr const Real | MinSegmentLenSq = 1.0 |
WARNING: The non-async UIActions functions are expected to be non-concurrent.
This class implements actions on the board that can be triggered by the user and contains related state. The _ functions are run in threads via std::async. FIXME: In principle, Python code could delete objects that we are referencing without notifying us. Just don't mix UI actions and scripted ones like that! Otherwise we have to add more locking, shared_ptr, and discard flags. Typically you won't want to delete components and pins on the fly anyway.