Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Native Development

Reply
Developer
Posts: 89
Registered: ‎10-18-2012
My Device: BB Z10
My Carrier: -
Accepted Solution

Signal connect problem

Hi all,

I have an strange problem connecting signals to slots. I have the next code:

 



Container* container = root->findChild<Container*>("timeline_container");
m_pForeignWindow = (ForeignWindowControl*)(container->at(0));

 

// m_pForeingWindow is not null here

 

bool success = connect(m_pForeignWindow,
                             SIGNAL(windowAttached(screen_window_t,const QString&,const QString&)),
                             this,
                             SLOT(onWindowAttached(screen_window_t,const QString&,const QString&)));

 

// success == true here


success = QObject::connect(m_pForeignWindow,
                    SIGNAL(touch(TouchEvent *)),
                    m_timeline,
                    SLOT(onTouch(TouchEvent *)) );

 

//success == false here


 

Searching with the debugger I obtained the next message:

 

Object::connect: No such signal bb::cascades::ForeignWindowControl::touch(TouchEvent *) 

 

but this signal exists for all VisualNode objects... What am I doing wrong??

 

Regards.

 

 

Developer
Posts: 160
Registered: ‎01-27-2012
My Device: Playbook
My Carrier: Rogers

Re: Signal connect problem

Any cascade specific classes have to be speficially called out within connect.  Try

 

bb::cascades::TouchEvent

---
If you find my post helpful please "like" it and "accept as a solution"
Developer
Posts: 89
Registered: ‎10-18-2012
My Device: BB Z10
My Carrier: -

Re: Signal connect problem

When I try this:

 

bool success = QObject::connect(m_pForeignWindow,
                                                             SIGNAL(touch(bb::cascades::TouchEvent *)),
                                                             m_timeline,
                                                             SLOT(onTouch(bb::cascades::TouchEvent *)) );

 

The IDE shows an error:

Signal/Slot "ForeignWindowControl.touch(bb::cascades::TouchEvent *)" is not defined.

 

In the 'include' section I have:

 

#include <bb/cascades/ForeignWindowControl>
#include <bb/cascades/TouchEvent>

 

using namespace bb::cascades;

 

 

Regards

 

Highlighted
Developer
Posts: 292
Registered: ‎07-25-2008
My Device: Passport

Re: Signal connect problem

See if it actually compiles.  The IDE in the current beta is notorious for incorrectly reporting those errors, so I suggest turning them off.

 

Window -> Preferences -> C/C++ -> Code Analysis -> Qt Syntax Problem

Developer
Posts: 89
Registered: ‎10-18-2012
My Device: BB Z10
My Carrier: -

Re: Signal connect problem

Thanks a lot, I was going crazy!!!