36 auto hasExclusionsCondition = [](
const SELECTION& aSel )
42 if( stitch->HasExclusions() )
67 std::set<PCB_VIA_STITCH*> toRegenerate;
89 toRegenerate.insert( stitch );
92 if( toRegenerate.empty() )
101 stitch->EditStart( genTool,
board(), &commit );
102 stitch->Update( genTool,
board(), &commit );
103 stitch->EditFinish( genTool,
board(), &commit );
106 commit.
Push(
_(
"Exclude Via From Stitching" ) );
107 frame()->RefreshCanvas();
118 std::set<PCB_VIA_STITCH*> toRegenerate;
131 toRegenerate.insert( stitch );
134 if( toRegenerate.empty() )
141 stitch->EditStart( genTool,
board(), &commit );
142 stitch->Update( genTool,
board(), &commit );
143 stitch->EditFinish( genTool,
board(), &commit );
146 commit.
Push(
_(
"Clear Via Stitching Exclusions" ) );
147 frame()->RefreshCanvas();
virtual void Push(const wxString &aMessage=wxEmptyString, int aCommitFlags=0) override
Execute the changes.
COMMIT & Modify(EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr, RECURSE_MODE aRecurse=RECURSE_MODE::NO_RECURSE)
Modify a given item in the model.
int GetStatus(EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr)
Returns status of an item.
A set of EDA_ITEMs (i.e., without duplicates).
virtual EDA_ITEM * AsEdaItem()=0
A base class for most all the KiCad significant classes used in schematics and boards.
static TOOL_ACTION excludeStitchVia
Exclude selected stitching vias from their parent via-stitch generator.
static TOOL_ACTION clearStitchViaExclusions
Restore every manually-excluded via in the selected via-stitch generators.
void ClearAllExclusions()
Drop all manual exclusions.
bool HasExclusions() const
void ExcludePosition(const VECTOR2I &aPos)
Add a board position to the exclusion set so the next Update() skips it.
@ PCB_VIA_T
class PCB_VIA, a via (like a track segment on a copper layer)