new signaling concept

SVN revision: 38004
This commit is contained in:
Andreas Volz 2008-12-07 22:56:45 +00:00
parent 84a3ac74d5
commit 388c285796
4 changed files with 38 additions and 20 deletions

View File

@ -6,7 +6,7 @@ includedir=src
Name: @PACKAGE@
Description: EFL C++ Wrapper, Not installed
Version: @VERSION@
Requires: sigc++-2.0
Requires: sigc++-2.0 edje evas ecore eet
Conflicts:
Libs: ${pcfiledir}/${libdir}/libeflpp.la
Cflags: -I${pcfiledir}/${includedir}/common -I${pcfiledir}/${includedir}/ecore -I${pcfiledir}/${includedir}/edb -I${pcfiledir}/${includedir}/edje -I${pcfiledir}/${includedir}/eet -I${pcfiledir}/${includedir}/embryo -I${pcfiledir}/${includedir}/emotion -I${pcfiledir}/${includedir}/esmart -I${pcfiledir}/${includedir}/etk -I${pcfiledir}/${includedir}/evas -I${pcfiledir}/${includedir}/ewl -I${pcfiledir}/${includedir}/misc

View File

@ -6,7 +6,7 @@ includedir=@prefix@/include/eflpp
Name: @PACKAGE@
Description: EFL C++ Wrapper
Version: @VERSION@
Requires: sigc++-2.0
Requires: sigc++-2.0 edje evas ecore eet
Conflicts:
Libs: -L${libdir} -leflpp
Cflags: -I${includedir}

View File

@ -404,7 +404,7 @@ bool EvasObject::hasFocus() const
return evas_object_focus_get( o );
}
bool EvasObject::handleMouseIn( const EvasMouseInEvent& e )
/*bool EvasObject::handleMouseIn( const EvasMouseInEvent& e )
{
Dout( dc::notice, *this << " handleMouseIn" );
return false;
@ -498,7 +498,7 @@ bool EvasObject::handleRestack()
{
Dout( dc::notice, *this << " handleRestack" );
return false;
}
}*/
EvasObject* EvasObject::objectLink( Evas_Object* evas_object )
{
@ -535,79 +535,79 @@ void EvasObject::dispatcher( void *data, Evas *evas, Evas_Object *evas_object, v
case EVAS_CALLBACK_MOUSE_IN:
{
const EvasMouseInEvent e( static_cast<Evas_Event_Mouse_In*>( event_info ) );
object->handleMouseIn( e );
object->signalHandleMouseIn.emit( e );
break;
}
case EVAS_CALLBACK_MOUSE_OUT:
{
const EvasMouseOutEvent e( static_cast<Evas_Event_Mouse_Out*>( event_info ) );
object->handleMouseOut( e );
object->signalHandleMouseOut.emit( e );
break;
}
case EVAS_CALLBACK_MOUSE_DOWN:
{
const EvasMouseDownEvent e( static_cast<Evas_Event_Mouse_Down*>( event_info ) );
object->handleMouseDown( e );
object->signalHandleMouseDown.emit( e );
break;
}
case EVAS_CALLBACK_MOUSE_UP:
{
const EvasMouseUpEvent e( static_cast<Evas_Event_Mouse_Up*>( event_info ) );
object->handleMouseUp( e );
object->signalHandleMouseUp.emit( e );
break;
}
case EVAS_CALLBACK_MOUSE_MOVE:
{
const EvasMouseMoveEvent e( static_cast<Evas_Event_Mouse_Move*>( event_info ) );
object->handleMouseMove( e );
object->signalHandleMouseMove.emit( e );
break;
}
case EVAS_CALLBACK_MOUSE_WHEEL:
{
const EvasMouseWheelEvent e( static_cast<Evas_Event_Mouse_Wheel*>( event_info ) );
object->handleMouseWheel( e );
object->signalHandleMouseWheel.emit( e );
break;
}
case EVAS_CALLBACK_KEY_DOWN:
{
const EvasKeyDownEvent e( static_cast<Evas_Event_Key_Down*>( event_info ) );
object->handleKeyDown( e );
object->signalHandleKeyDown.emit( e );
break;
}
case EVAS_CALLBACK_KEY_UP:
{
const EvasKeyUpEvent e( static_cast<Evas_Event_Key_Up*>( event_info ) );
object->handleKeyUp( e );
object->signalHandleKeyUp.emit( e );
break;
}
case EVAS_CALLBACK_FREE:
{
object->handleFree();
object->signalHandleFree.emit();
break;
}
case EVAS_CALLBACK_SHOW:
{
object->handleShow();
object->signalHandleShow.emit();
break;
}
case EVAS_CALLBACK_HIDE:
{
object->handleHide();
object->signalHandleHide.emit();
break;
}
case EVAS_CALLBACK_MOVE:
{
object->handleMove();
object->signalHandleMove.emit();
break;
}
case EVAS_CALLBACK_RESIZE:
{
object->handleResize();
object->signalHandleResize.emit();
break;
}
case EVAS_CALLBACK_RESTACK:
{
object->handleRestack();
object->signalHandleRestack.emit();
break;
}
default: assert( 0 );

View File

@ -121,6 +121,24 @@ class EvasObject
/* don't use these */
Evas_Object* obj() const { return o; };
EvasCanvas* canvas() const { return _canvas; }; // FIXME: Rename to parent() ?
// event signals
sigc::signal <bool, const EvasMouseInEvent&> signalHandleMouseIn;
sigc::signal <bool, const EvasMouseOutEvent&> signalHandleMouseOut;
sigc::signal <bool, const EvasMouseDownEvent&> signalHandleMouseDown;
sigc::signal <bool, const EvasMouseUpEvent&> signalHandleMouseUp;
sigc::signal <bool, const EvasMouseMoveEvent&> signalHandleMouseMove;
sigc::signal <bool, const EvasMouseWheelEvent&> signalHandleMouseWheel;
sigc::signal <bool> signalHandleFree;
sigc::signal <bool, const EvasKeyDownEvent&> signalHandleKeyDown;
sigc::signal <bool, const EvasKeyUpEvent&> signalHandleKeyUp;
sigc::signal <bool> signalHandleFocusIn;
sigc::signal <bool> signalHandleFocusOut;
sigc::signal <bool> signalHandleShow;
sigc::signal <bool> signalHandleHide;
sigc::signal <bool> signalHandleMove;
sigc::signal <bool> signalHandleResize;
sigc::signal <bool> signalHandleRestack;
/* Name */
const char* name() const;
@ -174,7 +192,7 @@ class EvasObject
virtual bool hasFocus() const;
/* Events */
virtual bool handleMouseIn( const EvasMouseInEvent& );
/*virtual bool handleMouseIn( const EvasMouseInEvent& );
virtual bool handleMouseOut( const EvasMouseOutEvent& );
virtual bool handleMouseDown( const EvasMouseDownEvent& );
virtual bool handleMouseUp( const EvasMouseUpEvent& );
@ -189,7 +207,7 @@ class EvasObject
virtual bool handleHide();
virtual bool handleMove();
virtual bool handleResize();
virtual bool handleRestack();
virtual bool handleRestack();*/
private:
static EvasObject* objectLink( Evas_Object* evas_object = 0 );