13#ifndef fsIGuiComponenthdr
14#define fsIGuiComponenthdr
35 template <
typename TComponent>
37 template <
typename TComponent>
46 fsBool pNewGrammarMode =
false);
87 static std::map<fsStr, fsStr> mStyles;
88 static std::vector<fsStr> mStylesIncluded;
90 static fsStr* mGuiLayoutFileName;
92 static void unknownCommandProcess(
const fsStr& pCommand,
fsStr& pCommands);
93 static fsBool commandProcess(
const fsStr& pCommand,
fsStr& pCommands, std::map<fsStr, fsStr>& pStyles,
95 static void newGrammarIncludeContiguityCheck(
fsStr pCommands);
97 static fsS32 styleCharacterCountGet(
fsStr& pCommands);
99 static std::unique_ptr<fsCGuiParseNode> guiElementParse(
const fsCUniqueId& pComponentId,
100 const fsStr& pComponentTypeName,
fsStr& pCommands,
101 std::map<fsStr, fsStr>& pStyles,
105 static fsStr newGrammarValueRead(
fsStr& pCommands);
106 static void variableInsertIntoTree(
const fsStr& pVariable,
fsStr& pCommands, std::map<fsStr, fsStr>& pParams,
108 static fsBool fileContentsInclude(
fsStr& pCommands);
109 static void styleDefinitionAdd(
fsStr& pCommands, std::map<fsStr, fsStr>& pStyles);
110 static fsBool styleDefinitionDecodeAndInsertIntoCommands(
const fsStr& pStyleName,
fsStr& pCommands,
111 std::map<fsStr, fsStr>& pStyles);
114template <
typename TComponent>
119 if (!canditates.empty())
121 return canditates.front()->componentGet<TComponent>();
126template <
typename TComponent>
131 if (!canditates.empty())
133 return canditates.front()->firstComponentOfFamilyType<TComponent>();
Definition fsCEntity.h:39
std::vector< fsCEntity * > childEntitiesWithComponentsOfFamilyType()
Definition fsCEntity.h:185
Definition fsCResourceName.h:32
Definition fsCUniqueId.h:21
Definition fsCVariableTable.h:27
fsIComponent(fsCEntity *pParent)
Definition fsIComponent.cpp:86
fsCEntity * parentGet() const
Definition fsIComponent.cpp:76
TComponent * siblingEntityFamilyComponentGet() const
Definition fsIGuiComponent.h:127
void listenerComponentsRegister(fsCEntity *const pRoot) const
Definition fsIGuiComponent.cpp:78
static fsCEntity * guiCreateFromFile(const fsCResourceName &pGuiLayoutFileName, fsCEntity *pParent=nullptr, fsBool pModal=true)
Definition fsIGuiComponent.cpp:185
fsIGuiComponent(fsCEntity *pParent)
Definition fsIGuiComponent.cpp:726
static fsIGuiComponent * guiParentGetFromComponent(const fsIComponent *pComponent)
Definition fsIGuiComponent.cpp:700
TComponent * siblingEntityComponentGet() const
Definition fsIGuiComponent.h:115
virtual ~fsIGuiComponent()
Definition fsIGuiComponent.cpp:731
void layoutFileProcess()
Definition fsIGuiComponent.cpp:27
void initialiseFromVariableTableDo(const fsCVariableTable &pVars) override
Definition fsIGuiComponent.cpp:685
static void flush()
Definition fsIGuiComponent.cpp:91
virtual fsBool onButtonClicked(fsCButtonComponent *pButtonComp)
Definition fsIGuiComponent.cpp:695
void listenerComponentsDeRegister(fsCEntity *const pRoot) const
Definition fsIGuiComponent.cpp:85
static fsCEntity * constructFromTree(const fsCGuiParseTree &pTree, fsCEntity *pParent=nullptr, fsBool pModal=true)
Definition fsIGuiComponent.cpp:312
static fsBool entityHasGuiComponentGet(const fsINode *pNode)
Definition fsIGuiComponent.cpp:716
static fsBool newGrammarFileNameResolve(const fsStr &pLegacyFileName, fsStr &pOutResolvedFileName)
Definition fsIGuiComponent.cpp:165
static fsCGuiParseTree parseToTree(fsStr &pCommands, fsBool pNewGrammarMode=false)
Definition fsIGuiComponent.cpp:286
static fsCEntity * guiCreateFromCommands(fsStr &pCommands, fsCEntity *pParent=nullptr, fsBool pModal=true, fsBool pNewGrammarMode=false)
Definition fsIGuiComponent.cpp:202
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsCGuiParseTree.h:23
Definition fsCGuiParseTree.h:40