59 MHERROR(
"Object reference for a group object must be zero and external");
93 if (pItems ==
nullptr)
224 fprintf(fd,
":OnStartUp (\n");
233 fprintf(fd,
":OnCloseDown (\n");
246 fprintf(fd,
":Items ( \n");
354 for (
int i = 0; i <
m_timers.size(); i++)
366 if (nMilliSecs < 0 || (fAbsolute &&
m_runTime.hasExpired(nMilliSecs)))
373 pTimer->m_nTimerId = nTimerId;
377 QTime startTime = QTime::currentTime().addMSecs(-
m_runTime.elapsed());
378 pTimer->m_Time = startTime.addMSecs(nMilliSecs);
382 pTimer->m_Time = QTime::currentTime().addMSecs(nMilliSecs);
389 QTime currentTime = QTime::currentTime();
390 QList<MHTimer *>::iterator it =
m_timers.begin();
391 std::chrono::milliseconds nMSecs = 0ms;
397 if (pTimer->
m_Time <= currentTime)
407 auto nMSecsToGo = std::chrono::milliseconds(currentTime.msecsTo(pTimer->
m_Time));
409 if (nMSecs == 0ms || nMSecsToGo < nMSecs)
461 if (pDefattrs ==
nullptr)
490 if (pButtonRefColour)
497 if (pHighlightRefColour)
504 if (pSliderRefColour)
550 if (pFont ==
nullptr)
572 fprintf(fd,
"{:Application ");
578 fprintf(fd,
":OnSpawnCloseDown");
586 fprintf(fd,
":OnRestart");
594 fprintf(fd,
":CharacterSet %d\n",
m_nCharSet);
600 fprintf(fd,
":BackgroundColour ");
614 fprintf(fd,
":TextColour");
622 fprintf(fd,
":Font ");
630 fprintf(fd,
":FontAttributes ");
638 fprintf(fd,
":InterchgPrgCHook %d\n",
m_nIPCHook);
662 fprintf(fd,
":ButtonRefColour ");
670 fprintf(fd,
":HighlightRefColour ");
678 fprintf(fd,
":SliderRefColour ");
764 fprintf(fd,
"{:Scene ");
780 fprintf(fd,
":MovingCursor true\n");
809 m_eventType = (
enum EventType)
p->GetArgN(2)->GetEnumValue();
811 if (
p->GetArgCount() >= 4)
822 fprintf(fd,
"%s",
tmp.constData());
857 if (
p->GetArgCount() > 2)
895 bool fAbsolute =
false;
924 pVar->Initialise(pVarSeq->
GetSeqN(i), engine);
962 if (
p->GetArgCount() > 1)
973 if (
p->GetArgCount() > 2)
988 fprintf(fd,
" NULL ");
1019 engine->
Spawn(target);
@ C_OCTET_STRING_VARIABLE
@ C_SCENE_COORDINATE_SYSTEM
@ C_LINE_ART_CONTENT_HOOK
#define MHLOG(__level, __text)
void PrintTabs(FILE *fd, int n)
static const std::array< featureStruct, 7 > feature
virtual void PrintMe(FILE *fd, int nTabs) const
virtual void Initialise(MHParseNode *p, MHEngine *engine)
MHColour m_buttonRefColour
void Initialise(MHParseNode *p, MHEngine *engine) override
MHColour m_highlightRefColour
MHColour m_sliderRefColour
~MHApplication() override
int FindOnStack(const MHRoot *pVis)
void Activation(MHEngine *engine) override
void PrintMe(FILE *fd, int nTabs) const override
MHSequence< MHVisible * > m_displayStack
MHOctetString m_fontAttrs
MHActionSequence m_onRestart
MHScene * m_pCurrentScene
MHActionSequence m_onSpawnCloseDown
void Initialise(MHParseNode *p, MHEngine *engine)
void PrintMe(FILE *fd, int nTabs) const
MHRoot * Target(MHEngine *engine)
virtual void Initialise(MHParseNode *p, MHEngine *engine)
MHGenericObjectRef m_target
void TransitionToScene(const MHObjectRef &target)
MHRoot * FindObject(const MHObjectRef &oRef, bool failOnNotFound=true)
bool Launch(const MHObjectRef &target, bool fIsSpawn=false)
bool LoadStorePersistent(bool fIsLoad, const MHOctetString &fileName, const MHSequence< MHObjectRef * > &variables)
bool GetEngineSupport(const MHOctetString &feature)
void SetInputRegister(int nReg)
void EventTriggered(MHRoot *pSource, enum EventType ev)
MHOctetString & GetGroupId()
void AddActions(const MHActionSequence &actions)
void Spawn(const MHObjectRef &target)
void PrintMe(FILE *fd, int nTabs) const
void Initialise(MHParseNode *p, MHEngine *engine)
void PrintMe(FILE *fd, int nTabs) const
void Initialise(MHParseNode *p, MHEngine *engine)
bool GetValue(MHEngine *engine) const
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 PrintMe(FILE *fd, int nTabs) const
void Initialise(MHParseNode *p, MHEngine *engine)
void GetValue(MHOctetString &str, MHEngine *engine) const
void Perform(MHEngine *engine) override
MHGenericOctetString m_feature
void Initialise(MHParseNode *p, MHEngine *engine) override
void MakeClone(MHRoot *pTarget, MHRoot *pRef, MHEngine *engine) override
void PrintMe(FILE *fd, int nTabs) const override
void Preparation(MHEngine *engine) override
MHActionSequence m_startUp
MHRoot * FindByObjectNo(int n) override
MHActionSequence m_closeDown
void SetTimer(int nTimerId, bool fAbsolute, int nMilliSecs, MHEngine *engine) override
void Destruction(MHEngine *engine) override
MHOwnPtrSequence< MHIngredient > m_items
std::chrono::milliseconds CheckTimers(MHEngine *engine)
void Initialise(MHParseNode *p, MHEngine *engine) override
void Deactivation(MHEngine *engine) override
QList< MHTimer * > m_timers
void Activation(MHEngine *engine) override
void Destruction(MHEngine *engine) override
void Preparation(MHEngine *engine) override
void Initialise(MHParseNode *p, MHEngine *engine) override
virtual bool InitiallyAvailable()
void PrintMe(FILE *fd, int nTabs) const override
virtual bool InitiallyActive()
void Perform(MHEngine *engine) override
static QString EventTypeToString(enum EventType ev)
void Perform(MHEngine *engine) override
void PrintMe(FILE *fd, int nTabs) const
void Initialise(MHParseNode *p, MHEngine *engine)
void Copy(const MHOctetString &str)
void PrintMe(FILE *fd, int nTabs) const
enum MHParameter::ParamTypes P_Null
void Initialise(MHParseNode *p, MHEngine *engine)
void PrintMe(FILE *fd, int nTabs) const
MHParseNode * GetSeqN(int n)
MHParseNode * GetArgN(int n)
static void Failure(const char *p)
void GetStringValue(MHOctetString &str)
MHParseNode * GetNamedArg(int nTag)
enum NodeType m_nNodeType
void PrintArgs(FILE *fd, int nTabs) const override
void Perform(MHEngine *engine) override
void Initialise(MHParseNode *p, MHEngine *engine) override
MHGenericOctetString m_fileName
MHOwnPtrSequence< MHObjectRef > m_variables
void Perform(MHEngine *engine) override
virtual void Initialise(MHParseNode *p, MHEngine *engine)
virtual void Activation(MHEngine *engine)
virtual void Destruction(MHEngine *engine)
MHObjectRef m_ObjectReference
virtual void Deactivation(MHEngine *engine)
virtual void SetTimer(int, bool, int, MHEngine *)
virtual MHIngredient * Clone(MHEngine *)
virtual void Preparation(MHEngine *engine)
virtual void PrintMe(FILE *fd, int nTabs) const
virtual MHRoot * FindByObjectNo(int n)
virtual void SetVariableValue(const MHUnion &)
void PrintMe(FILE *fd, int nTabs) const override
void Activation(MHEngine *engine) override
void Initialise(MHParseNode *p, MHEngine *engine) override
void SetInputRegister(int nReg, MHEngine *engine) override
MHGenericObjectRef m_eventSource
void PrintArgs(FILE *fd, int nTabs) const override
void Initialise(MHParseNode *p, MHEngine *engine) override
void Perform(MHEngine *engine) override
MHGenericInteger m_timerValue
MHGenericBoolean m_absFlag
void Initialise(MHParseNode *p, MHEngine *engine) override
MHGenericInteger m_timerId
void Perform(MHEngine *engine) override
enum MHSetTimer::@9 ST_NoNewTimer
void PrintArgs(FILE *fd, int nTabs) const override
void Perform(MHEngine *engine) override
void Perform(MHEngine *engine) override
void Initialise(MHParseNode *p, MHEngine *engine) override
void PrintArgs(FILE *fd, int nTabs) const override
void GetValueFrom(const MHParameter &value, MHEngine *engine)
void Perform(MHEngine *engine) override