123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- //
- // CCTableViewLoader.h
- // redream_runtime_mac
- //
- // Created by zhuge on 2023/3/15.
- //
- #ifndef CCTableViewLoader_h
- #define CCTableViewLoader_h
- #include "CCScrollViewLoader.h"
- #include "extensions/GUI/CCScrollView/CCTableView.h"
- namespace redream {
- /* Forward declaration. */
- class REDReader;
- class CC_DLL TableViewLoader : public ScrollViewLoader {
- private:
- class TableViewDataSource : public cocos2d::extension::TableViewDataSource, public cocos2d::Ref {
- public:
- virtual ~TableViewDataSource() {}
- virtual cocos2d::Size tableCellSizeForIndex(cocos2d::extension::TableView *table, ssize_t idx) override;
- virtual cocos2d::extension::TableViewCell* tableCellAtIndex(cocos2d::extension::TableView *table, ssize_t idx) override;
- virtual cocos2d::Size cellSizeForTable(cocos2d::extension::TableView* table) override;
- virtual ssize_t numberOfCellsInTableView(cocos2d::extension::TableView *table) override;
-
- void addSubRedNode(cocos2d::Node* node) { _subRedNodes.pushBack(node); }
- private:
- cocos2d::Vector<cocos2d::Node*> _subRedNodes;
- };
-
- public:
- /**
- * @js NA
- * @lua NA
- */
- virtual ~TableViewLoader() {};
- /**
- * @js NA
- * @lua NA
- */
- RED_STATIC_NEW_AUTORELEASE_OBJECT_METHOD(TableViewLoader, loader);
-
- protected:
- cocos2d::extension::TableView* createNode(cocos2d::Node * pParent, redream::REDReader * ccbReader);
-
- virtual void onHandlePropTypeREDFile(cocos2d::Node * pNode, cocos2d::Node * pParent, const char * pPropertyName, cocos2d::Node * pREDFileNode, REDReader * ccbReader);
- virtual void onHandlePropTypeTableviewRedFile(cocos2d::Node * pNode, cocos2d::Node * pParent, const char * pPropertyName, std::vector<cocos2d::Node*> pREDFileNodes, REDReader * ccbReader);
- virtual void onHandlePropTypeIntegerLabeled(cocos2d::Node * pNode, cocos2d::Node * pParent, const char * pPropertyName, int pIntegerLabeled, REDReader * ccbReader);
-
- };
- } // namespace
- #endif /* CCTableViewLoader_h */
|