Go to the documentation of this file.
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);
virtual void Activation(MHEngine *engine)
enum NodeType m_nNodeType
void SetInputRegister(int nReg, MHEngine *engine) override
void Initialise(MHParseNode *p, MHEngine *engine)
virtual void Deactivation(MHEngine *engine)
void Preparation(MHEngine *engine) override
MHGenericOctetString m_feature
@ C_SCENE_COORDINATE_SYSTEM
void Initialise(MHParseNode *p, MHEngine *engine) override
void Perform(MHEngine *engine) override
void PrintMe(FILE *fd, int nTabs) const
void Activation(MHEngine *engine) override
int FindOnStack(const MHRoot *pVis)
void Perform(MHEngine *engine) override
virtual MHIngredient * Clone(MHEngine *)
MHParseNode * GetSeqN(int n)
void Activation(MHEngine *engine) override
void Perform(MHEngine *engine) override
void Initialise(MHParseNode *p, MHEngine *engine) override
MHActionSequence m_onRestart
void Preparation(MHEngine *engine) override
void Perform(MHEngine *engine) override
void Initialise(MHParseNode *p, MHEngine *engine)
MHActionSequence m_onSpawnCloseDown
void PrintArgs(FILE *fd, int nTabs) const override
void PrintMe(FILE *fd, int nTabs) const override
virtual void SetVariableValue(const MHUnion &)
virtual void Initialise(MHParseNode *p, MHEngine *engine)
MHGenericInteger m_timerValue
MHScene * m_pCurrentScene
MHColour m_buttonRefColour
void Initialise(MHParseNode *p, MHEngine *engine)
void PrintMe(FILE *fd, int nTabs) const
void PrintMe(FILE *fd, int nTabs) const
MHGenericInteger m_timerId
void Destruction(MHEngine *engine) override
void Deactivation(MHEngine *engine) override
MHColour m_sliderRefColour
MHObjectRef m_ObjectReference
MHGenericObjectRef m_eventSource
void Perform(MHEngine *engine) override
MHOctetString & GetGroupId()
void Initialise(MHParseNode *p, MHEngine *engine)
virtual MHRoot * FindByObjectNo(int n)
MHGenericBoolean m_absFlag
MHOwnPtrSequence< MHIngredient > m_items
void EventTriggered(MHRoot *pSource, enum EventType ev)
void PrintMe(FILE *fd, int nTabs) const override
void Perform(MHEngine *engine) override
MHOctetString m_fontAttrs
void Initialise(MHParseNode *p, MHEngine *engine) override
void Initialise(MHParseNode *p, MHEngine *engine)
static const std::array< featureStruct, 7 > feature
virtual bool InitiallyAvailable()
void Initialise(MHParseNode *p, MHEngine *engine) override
void Initialise(MHParseNode *p, MHEngine *engine)
static QString EventTypeToString(enum EventType ev)
void Initialise(MHParseNode *p, MHEngine *engine) override
void PrintTabs(FILE *fd, int n)
void GetValue(MHOctetString &str, MHEngine *engine) const
MHParseNode * GetArgN(int n)
void PrintMe(FILE *fd, int nTabs) const override
MHRoot * FindObject(const MHObjectRef &oRef, bool failOnNotFound=true)
virtual void SetTimer(int, bool, int, MHEngine *)
enum MHSetTimer::@9 ST_NoNewTimer
#define MHLOG(__level, __text)
void Perform(MHEngine *engine) override
MHRoot * FindByObjectNo(int n) override
MHSequence< MHVisible * > m_displayStack
MHOwnPtrSequence< MHObjectRef > m_variables
void PrintMe(FILE *fd, int nTabs) const
void PrintArgs(FILE *fd, int nTabs) const override
MHActionSequence m_closeDown
void Perform(MHEngine *engine) override
std::chrono::milliseconds CheckTimers(MHEngine *engine)
void PrintMe(FILE *fd, int nTabs) const override
void PrintMe(FILE *fd, int nTabs) const
void TransitionToScene(const MHObjectRef &target)
void Initialise(MHParseNode *p, MHEngine *engine) override
virtual void Initialise(MHParseNode *p, MHEngine *engine)
void GetValueFrom(const MHParameter &value, MHEngine *engine)
void Initialise(MHParseNode *p, MHEngine *engine)
MHRoot * Target(MHEngine *engine)
MHParseNode * GetNamedArg(int nTag)
void AddActions(const MHActionSequence &actions)
void Initialise(MHParseNode *p, MHEngine *engine) override
void PrintArgs(FILE *fd, int nTabs) const override
virtual void PrintMe(FILE *fd, int nTabs) const
@ C_OCTET_STRING_VARIABLE
virtual void Initialise(MHParseNode *p, MHEngine *engine)
void PrintArgs(FILE *fd, int nTabs) const override
static void Failure(const char *p)
virtual void Preparation(MHEngine *engine)
void Initialise(MHParseNode *p, MHEngine *engine)
void Spawn(const MHObjectRef &target)
virtual bool InitiallyActive()
void Perform(MHEngine *engine) override
virtual void PrintMe(FILE *fd, int nTabs) const
void MakeClone(MHRoot *pTarget, MHRoot *pRef, MHEngine *engine) override
void Destruction(MHEngine *engine) override
int GetValue(MHEngine *engine) const
QList< MHTimer * > m_timers
MHActionSequence m_startUp
~MHApplication() override
MHGenericObjectRef m_target
void SetInputRegister(int nReg)
bool LoadStorePersistent(bool fIsLoad, const MHOctetString &fileName, const MHSequence< MHObjectRef * > &variables)
enum MHParameter::ParamTypes P_Null
void GetStringValue(MHOctetString &str)
void PrintMe(FILE *fd, int nTabs) const
@ C_LINE_ART_CONTENT_HOOK
void GetValue(MHObjectRef &ref, MHEngine *engine) const
void Activation(MHEngine *engine) override
void Initialise(MHParseNode *p, MHEngine *engine) override
void PrintMe(FILE *fd, int nTabs) const
virtual void Destruction(MHEngine *engine)
MHGenericOctetString m_fileName
void PrintMe(FILE *fd, int nTabs) const
void PrintMe(FILE *fd, int nTabs) const
MHColour m_highlightRefColour
void Perform(MHEngine *engine) override
bool GetEngineSupport(const MHOctetString &feature)
void Copy(const MHOctetString &str)
void Initialise(MHParseNode *p, MHEngine *engine) override
bool Launch(const MHObjectRef &target, bool fIsSpawn=false)
bool GetValue(MHEngine *engine) const
void SetTimer(int nTimerId, bool fAbsolute, int nMilliSecs, MHEngine *engine) override