#include <dali/public-api/actors/layer.h>
#include <dali/public-api/common/stage.h>
#include <dali/public-api/object/base-object.h>
-#include <dali/devel-api/common/stage-devel.h>
// INTERNAL INCLUDES
#include "toolkit-window.h"
return Dali::Stage::GetCurrent().KeyEventSignal();
}
-KeyEventGeneratedSignalType& KeyEventGeneratedSignal( Window window )
-{
- return DevelStage::KeyEventGeneratedSignal( Dali::Stage::GetCurrent() );
-}
-
TouchSignalType& TouchSignal( Window window )
{
return Dali::Stage::GetCurrent().TouchSignal();
{
typedef Signal< void (const KeyEvent&) > KeyEventSignalType;
-typedef Signal< bool (const KeyEvent&) > KeyEventGeneratedSignalType;
typedef Signal< void (const TouchData&) > TouchSignalType;
Dali::Window Get( Actor actor );
KeyEventSignalType& KeyEventSignal( Dali::Window window );
-KeyEventGeneratedSignalType& KeyEventGeneratedSignal( Dali::Window window );
TouchSignalType& TouchSignal( Dali::Window window );
}
#include <dali/public-api/actors/layer.h>
#include <dali/public-api/common/stage.h>
#include <dali/devel-api/common/stage-devel.h>
-#include <dali/devel-api/adaptor-framework/window-devel.h>
-#include <dali/integration-api/adaptors/adaptor.h>
// INTERNAL INCLUDES
#include <dali-toolkit/public-api/controls/control-impl.h>
: mSlotDelegate( this ),
mCurrentFocusControl()
{
- // Retrieve all the existing widnows
- Dali::WindowContainer windows = Adaptor::Get().GetWindows();
- for ( auto iter = windows.begin(); iter != windows.end(); ++iter )
- {
- DevelWindow::KeyEventGeneratedSignal( *iter ).Connect( mSlotDelegate, &KeyInputFocusManager::OnKeyEvent);
- }
-
- // Get notified when any new window is created afterwards
- Adaptor::Get().WindowCreatedSignal().Connect( mSlotDelegate, &KeyInputFocusManager::OnWindowCreated);
+ DevelStage::KeyEventGeneratedSignal( Stage::GetCurrent() ).Connect(mSlotDelegate, &KeyInputFocusManager::OnKeyEvent);
}
KeyInputFocusManager::~KeyInputFocusManager()
{
}
-void KeyInputFocusManager::OnWindowCreated( Dali::Window& window )
-{
- DevelWindow::KeyEventGeneratedSignal( window ).Connect( mSlotDelegate, &KeyInputFocusManager::OnKeyEvent);
-}
-
void KeyInputFocusManager::SetFocus( Toolkit::Control control )
{
if( !control )
namespace Dali
{
-class Window;
-
namespace Toolkit
{
virtual ~KeyInputFocusManager();
private:
- /**
- * This will be called when a new window is created
- * @param window The new window
- */
- void OnWindowCreated( Dali::Window& window );
/**
* Callback for the key event when no actor in the stage has gained the key input focus