40 if (
p->GetSeqCount() > 1)
53 pActions->Initialise(pAct, engine);
69 fprintf(fd,
":ActionSlots (\n");
74 fprintf(fd,
"( // slot %d\n", i);
77 if (pActions->
Size() == 0)
80 fprintf(fd,
"NULL\n");
84 pActions->
PrintMe(fd, nTabs + 2);
101 for (
int i = 0; i <
p->GetSeqCount(); i++)
127 for (
int i = 0; i < pMovements->
GetArgCount(); i++)
131 pMove->Initialise(pMovements->
GetArgN(i), engine);
143 pToken->Initialise(pTokenGrp->
GetArgN(i), engine);
160 pActions->Initialise(pAct, engine);
174 fprintf(fd,
":MovementTable (\n");
188 fprintf(fd,
":TokenGroupItems (\n");
202 fprintf(fd,
":NoTokenActionSlots (\n");
208 if (pActions->
Size() == 0)
211 fprintf(fd,
"NULL ");
215 pActions->
PrintMe(fd, nTabs + 2);
228 fprintf(fd,
"{:TokenGroup ");
252 if (pObject->
IsSet())
258 catch(
const std::exception& ex)
260 MHLOG(
MHLogDetail, QString(
"MHTokenGroup::Activation - threw %1").arg(ex.what()));
265 if (strcmp(e,
"FindObject failed") != 0)
266 MHLOG(
MHLogDetail, QString(
"MHTokenGroup::Activation - threw '%1'").arg(e));
318 if (n > 0 && n <= pGroup->m_ActionSlots.Size())
356 for (
int i = 0; i < pPositions->
GetArgCount(); i++)
382 fprintf(fd,
"{:ListGroup ");
385 fprintf(fd,
":Positions (");
397 fprintf(fd,
":WrapAround true\n");
403 fprintf(fd,
":MultipleSelection true\n");
426 if (
p->m_pVisible == pItem)
437 catch(
const std::exception& ex)
439 MHLOG(
MHLogDetail, QString(
"MHListGroup::Preparation - threw %1").arg(ex.what()));
444 if (strcmp(e,
"FindObject failed") != 0)
445 MHLOG(
MHLogDetail, QString(
"MHListGroup::Preparation - threw '%1'").arg(e));
458 item->m_pVisible->ResetPosition();
475 item->m_pVisible->Deactivation(engine);
523 catch(
const std::exception& ex)
525 MHLOG(
MHLogDetail, QString(
"MHListGroup::Update - threw %1").arg(ex.what()));
570#
if QT_VERSION < QT_VERSION_CHECK(6,0,0)
587 if (item->m_pVisible == pItem)
594 if (nIndex < 1 || nIndex >
m_itemList.size() + 1)
636 if (pListItem ==
nullptr || pListItem->
m_fSelected)
662 if (pListItem ==
nullptr || ! pListItem->
m_fSelected)
678 if (nVisIndex >= 0 && nVisIndex <
m_itemList.size())
700 return ((nIndex - 1) % nItems) + 1;
704 return nItems - ((-nIndex) % nItems);
@ C_NO_TOKEN_ACTION_SLOTS
#define MHLOG(__level, __text)
void PrintTabs(FILE *fd, int n)
@ EventFirstItemPresented
virtual void PrintMe(FILE *fd, int nTabs) const
void Perform(MHEngine *engine) override
void PrintArgs(FILE *fd, int) const override
MHGenericObjectRef m_item
void Initialise(MHParseNode *p, MHEngine *engine) override
MHRoot * Target(MHEngine *engine)
virtual void Initialise(MHParseNode *p, MHEngine *engine)
MHRoot * FindObject(const MHObjectRef &oRef, bool failOnNotFound=true)
void EventTriggered(MHRoot *pSource, enum EventType ev)
void AddActions(const MHActionSequence &actions)
void Initialise(MHParseNode *p, MHEngine *engine)
int GetValue(MHEngine *engine) const
void PrintMe(FILE *fd, int nTabs) const
void Initialise(MHParseNode *p, MHEngine *engine)
void PrintMe(FILE *fd, int nTabs) const
void GetValue(MHObjectRef &ref, MHEngine *engine) const
void PrintArgs(FILE *fd, int) const override
void Initialise(MHParseNode *p, MHEngine *engine) override
void Destruction(MHEngine *engine) override
void Preparation(MHEngine *engine) override
void Initialise(MHParseNode *p, MHEngine *engine) override
void PrintMe(FILE *fd, int nTabs) const override
void AddItem(int nIndex, MHRoot *pItem, MHEngine *engine) override
QList< MHListItem * > m_itemList
void GetCellItem(int nCell, const MHObjectRef &itemDest, MHEngine *engine) override
void Activation(MHEngine *engine) override
void Update(MHEngine *engine)
void GetItemStatus(int nCell, const MHObjectRef &itemDest, MHEngine *engine) override
void DeselectItem(int nCell, MHEngine *engine) override
bool m_fFirstItemDisplayed
void Destruction(MHEngine *engine) override
void SetFirstItem(int nCell, MHEngine *engine) override
void Deselect(int nIndex, MHEngine *engine)
MHSequence< QPoint > m_positions
void Deactivation(MHEngine *engine) override
void DelItem(MHRoot *pItem, MHEngine *engine) override
int AdjustIndex(int nIndex)
void SelectItem(int nCell, MHEngine *engine) override
void Preparation(MHEngine *engine) override
void GetListItem(int nCell, const MHObjectRef &itemDest, MHEngine *engine) override
bool m_fLastItemDisplayed
void PrintMe(FILE *fd, int nTabs) const override
void ToggleItem(int nCell, MHEngine *engine) override
void Select(int nIndex, MHEngine *engine)
bool m_fMultipleSelection
void Initialise(MHParseNode *p, MHEngine *engine) override
void ScrollItems(int nCell, MHEngine *engine) override
MHSequence< int > m_movement
void Initialise(MHParseNode *p, MHEngine *engine)
void PrintMe(FILE *fd, int nTabs) const
void PrintMe(FILE *fd, int nTabs) const
void Initialise(MHParseNode *p, MHEngine *engine)
MHParseNode * GetSeqN(int n)
MHParseNode * GetArgN(int n)
enum NodeType m_nNodeType
virtual void Activation(MHEngine *engine)
virtual void ResetPosition()
virtual bool GetRunningStatus()
MHObjectRef m_ObjectReference
virtual void Deactivation(MHEngine *engine)
virtual void AddItem(int, MHRoot *, MHEngine *)
virtual void SetPosition(int, int, MHEngine *)
virtual void SetVariableValue(const MHUnion &)
void PrintMe(FILE *fd, int nTabs) const
void Initialise(MHParseNode *p, MHEngine *engine)
MHOwnPtrSequence< MHActionSequence > m_ActionSlots
MHOwnPtrSequence< MHMovement > m_movementTable
void Activation(MHEngine *engine) override
MHOwnPtrSequence< MHActionSequence > m_noTokenActionSlots
void Deactivation(MHEngine *engine) override
void Initialise(MHParseNode *p, MHEngine *engine) override
MHOwnPtrSequence< MHTokenGroupItem > m_tokenGrpItems
void Move(int n, MHEngine *engine) override
void PrintMe(FILE *fd, int nTabs) const override
void CallActionSlot(int n, MHEngine *engine) override
void PrintContents(FILE *fd, int nTabs) const
void TransferToken(int newPos, MHEngine *engine)
static eu8 clamp(eu8 value, eu8 low, eu8 high)