145 void prepareUndoAction();
146 void finalizeUndoAction();
152 bool exec()
override;
UserActionFactory for ActionPingroup.
UserAction * newAction() const
static ActionPingroupFactory * sFactory
static ActionPingroup * addPinToNewGroup(const Module *m, const QString &name, u32 pinId, int grpRow=-1)
static ActionPingroup * deletePinGroup(const Module *m, u32 grpId)
void readFromXml(QXmlStreamReader &xmlIn) override
static ActionPingroup * addPinToExistingGroup(const Module *m, u32 grpId, u32 pinId, int pinRow=-1)
void writeToXml(QXmlStreamWriter &xmlOut) const override
static ActionPingroup * addPinsToExistingGroup(const Module *m, u32 grpId, QList< u32 > pinIds, int pinRow=-1)
ActionPingroup(PinActionType::Type tp=PinActionType::None, int id=0, const QString &name=QString(), int value=0)
void addToHash(QCryptographicHash &cryptoHash) const override
static ActionPingroup * addPinsToNewGroup(const Module *m, const QString &name, QList< u32 > pinIds, int grpRow=-1)
static ActionPingroup * removePinsFromGroup(const Module *m, QList< u32 > pinIds)
QString tagname() const override
static Type fromString(const QString &s)
static QString toString(Type tp)
static bool useExistingPin(Type tp)
static bool useExistingGroup(Type tp)
The UserActionFactory is the abstract base class for registration.
The UserAction class is the abstract base class for user interactions.
int pinGroupIndex(const Module *mod, const PinGroup< ModulePin > *pgrp)
int pinIndex2Row(const ModulePin *pin, int index)
int pinRow2Index(const ModulePin *pin, int row)
void dumpPingroups(Module *m=nullptr)
QString generateGroupName(const Module *mod, const ModulePin *pin)
uint qHash(const LaneIndex &ri)