Fission FSN
Loading...
Searching...
No Matches
gfICatalogueGui.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: gfICatalogueGui.h
4*
5* Purpose: Interface for a catalogue gui - one that builds
6* automatically based on a supplied catalogue
7*
8*********************************************************************/
9
10#ifndef gfICatalogueGuihdr
11#define gfICatalogueGuihdr
12
14
17
19{
20public:
21
22 gfICatalogueGui(fsCEntity* pParent);
23 virtual ~gfICatalogueGui();
24
25protected:
26
27 static fsS32 buttonIndexGet(fsStr pButtonName);
28 static fsStr buttonNameGet(fsS32 pIndex);
29 static fsStr infoStrGet(const fsStr& pKey);
30
31 void pageScrollToContainingItem(fsS32 pItemIndex);
32
33 void itemInfoSet(fsS32 pEntIndex, fsS32 pChildIndex) const;
34 virtual void onIconSelection(fsS32 pIconIndex);
35 virtual void onScrollSelection(fsS32 pDirection);
36 virtual void buttonsRefresh();
37
38 virtual void catalogueLoadDo()
39 {
40 }
41
42 virtual void itemSelect(const gfICatalogueEntry* shopItem);
43
44 virtual void itemInfoSetDo(fsS32 pEntIndex, fsS32 pChildIndex) const
45 {
46 }
47
48 fsBool onButtonClicked(fsCButtonComponent* pButtonComp) override;
49 void listenersRegisterDo() override;
50 void listenersDeregisterDo() override;
51 fsBool messageProcessDo(const fsCUniqueId& pMessageType,
52 const fsIMessageDispatcher::sMessageParameters& pParam) override;
53
54 void initialiseFromVariableTableDo(const fsCVariableTable& pVars) override;
55
62
64
65private:
66
67 fsCEntity* const itemButtonCreate(const fsPoint& pPos, fsS32 pIndex);
68 void itemButtonsCreate();
69 void catalogueLoad();
70
71 fsS32 onlyOpenShopGet() const;
72
73
74
75 fsPoint mFirstButtonPos;
76 fsPoint mButtonPosIncrement;
77 fsPoint mButtonPosStrideIncrement;
78 fsS32 mButtonStride;
79};
80
81#endif
Definition fsCButtonComponent.h:26
Definition fsCEntity.h:39
Definition fsCUniqueId.h:21
Definition fsCVariableTable.h:27
fsIMessageListenerGuiComponent(fsCEntity *pParent, fsS32 pPriority)
Definition fsIMessageListenerGuiComponent.cpp:4
Definition fsStr.h:23
Definition gfCCatalogueCatalogue.h:17
Definition gfICatalogueEntry.h:18
static fsStr infoStrGet(const fsStr &pKey)
Definition gfICatalogueGui.cpp:25
fsS32 mScrollPos
Definition gfICatalogueGui.h:56
fsBool onButtonClicked(fsCButtonComponent *pButtonComp) override
Definition gfICatalogueGui.cpp:74
gfICatalogueGui(fsCEntity *pParent)
Definition gfICatalogueGui.cpp:266
static fsStr buttonNameGet(fsS32 pIndex)
Definition gfICatalogueGui.cpp:42
virtual void onScrollSelection(fsS32 pDirection)
Definition gfICatalogueGui.cpp:154
virtual void catalogueLoadDo()
Definition gfICatalogueGui.h:38
virtual void itemSelect(const gfICatalogueEntry *shopItem)
Definition gfICatalogueGui.cpp:48
virtual void onIconSelection(fsS32 pIconIndex)
Definition gfICatalogueGui.cpp:53
fsStr mCatalogueFileName
Definition gfICatalogueGui.h:61
gfCCatalogueCatalogue * mCatalogue
Definition gfICatalogueGui.h:58
static const fsStr mButtonNameTemplate
Definition gfICatalogueGui.h:63
fsStr mItemButtonFileName
Definition gfICatalogueGui.h:60
void pageScrollToContainingItem(fsS32 pItemIndex)
Definition gfICatalogueGui.cpp:17
const gfICatalogueEntry * mCurrentCategory
Definition gfICatalogueGui.h:59
virtual void itemInfoSetDo(fsS32 pEntIndex, fsS32 pChildIndex) const
Definition gfICatalogueGui.h:44
virtual void buttonsRefresh()
Definition gfICatalogueGui.cpp:178
void initialiseFromVariableTableDo(const fsCVariableTable &pVars) override
Definition gfICatalogueGui.cpp:220
void listenersDeregisterDo() override
Definition gfICatalogueGui.cpp:204
static fsS32 buttonIndexGet(fsStr pButtonName)
Definition gfICatalogueGui.cpp:35
virtual ~gfICatalogueGui()
Definition gfICatalogueGui.cpp:281
void itemInfoSet(fsS32 pEntIndex, fsS32 pChildIndex) const
Definition gfICatalogueGui.cpp:96
void listenersRegisterDo() override
Definition gfICatalogueGui.cpp:198
fsBool messageProcessDo(const fsCUniqueId &pMessageType, const fsIMessageDispatcher::sMessageParameters &pParam) override
Definition gfICatalogueGui.cpp:210
fsS32 mMaxNumButtons
Definition gfICatalogueGui.h:57
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsIMessageDispatcher.h:32
Definition fsPoint.h:17