CCBMemberVariableAssigner callbacks disfunctional for custom CCTableViewCell in CocosBuilder

Hey everyone,

I work on a game using CocosBuilder.
My goal is to design a CCTableViewCell via CocosBuilder
and load it via CCBReader.

My steps so far:

I added a new non-fullscreen CCNode “TestCell.ccb” in cocosbuilder,
set the root’s custom class to “TestCell”
and added a CCSprite as the roots child while setting
it’s doc-root-var to “bg”.

My problem: after implementing a loader “TestCellLoader”
as well as the Cell “TestCell” the callback-function
“TestCell::onAssignCCBMemberVariable” is not called at all.

What I tried:
Using a CCLayerLoader instead of a CCNodeLoader worked for me so far,
this is the first time I’m using a CCNodeLoader so maybe I missed
a crucial point.

I’m using software versions :

COCOS2D_VERSION 0x00020100
cocosbuilder 3.0-alpha1 30-Jan-2013

See the attachment for the code and .ccb file.

Thank you,
Ciao!
Ben

Here are the codes:

TestCellLoader.h

#include 
#include "cocos-ext.h"

#include "TestCell.h"

using namespace cocos2d;
using namespace cocos2d::extension;

    class TestCellLoader : public CCNodeLoader
    {
    public:
        CCB_STATIC_NEW_AUTORELEASE_OBJECT_METHOD(TestCellLoader, create);

    protected:
        CCB_VIRTUAL_NEW_AUTORELEASE_CREATECCNODE_METHOD(TestCell);

        virtual CCNode* loadCCNode(CCNode *, CCBReader * pCCBReader);
    };

TestCellLoader.cpp

#include "TestCellLoader.h"

CCNode * TestCellLoader::loadCCNode(CCNode * pParent, CCBReader * pCCBReader)
{
    CCLOG("TestCell::loadCCNode");
    CCNode * ccNode = this->createCCNode(pParent, pCCBReader);
    return ccNode;
}

TestCell.h

   class TestCell : public CCTableViewCell, public CCNodeLoaderListener, public CCBMemberVariableAssigner
    {
    public:
        TestCell();
        virtual ~TestCell();

        static TestCell *create();

        virtual bool init();
        virtual bool initWithBG(CCSprite* bg);

        static TestCell* cellWithBG(CCSprite* bg);

        // ccbuilder callbacks

        virtual bool onAssignCCBMemberVariable(cocos2d::CCObject * pTarget, const char * pMemberVariableName, cocos2d::CCNode * pNode);

        virtual void onNodeLoaded(cocos2d::CCNode * pNode, cocos2d::extension::CCNodeLoader * pNodeLoader);


    private:
        CC_PROPERTY(CCSprite*, bg, Bg);
    };

TestCell.m

#include "TestCell.h"

using namespace cocos2d;
using namespace cocos2d::extension;

    TestCell::TestCell(){}
    TestCell::~TestCell(){}


#pragma mark creation

    TestCell* TestCell::create(){
        TestCell *pRet = new TestCell();
        pRet->init();
        pRet->autorelease();
        return pRet;
    }

    bool TestCell::init(){
        return true;
    }

    bool TestCell::initWithBG(CCSprite* bg){
        return true;
    }

    TestCell* TestCell::cellWithBG(CCSprite* bg){
        return new TestCell;
    }

#pragma mark - synthesize

    void TestCell::setBg(cocos2d::CCSprite *sprite){
        this->bg = sprite;
    }

    CCSprite* TestCell::getBg(){
        return this->bg;
    }


#pragma mark - ccbuilder callbacks

    void TestCell::onNodeLoaded(cocos2d::CCNode * pNode,  cocos2d::extension::CCNodeLoader * pNodeLoader)
    {
        CCLOG("TestCell::onNodeLoaded");
    }

     bool TestCell::onAssignCCBMemberVariable(CCObject* pTarget, const char* pMemberVariableName, CCNode* pNode)
     {
         CCLOG("TestCell::onAssignCCBMemberVariable %s", pMemberVariableName);
         return false;
     }


TestCellCCBuilder.zip (42.5 KB)