void Impl::DummyControl::OnSizeSet(const Vector3& targetSize) { Control::OnSizeSet( targetSize ); sizeSetCalled = true; }
void Impl::DummyControl::OnSizeAnimation(Animation& animation, const Vector3& targetSize) { Control::OnSizeAnimation( animation, targetSize ); sizeAnimationCalled = true; }
bool Impl::DummyControl::OnKeyEvent(const KeyEvent& event) { keyEventCalled = true; return false;}
-void Impl::DummyControl::OnKeyInputFocusGained() { keyInputFocusGained = true; }
-void Impl::DummyControl::OnKeyInputFocusLost() { keyInputFocusLost = true; }
+void Impl::DummyControl::OnKeyInputFocusGained()
+{
+ if(this->HasKeyInputFocus())
+ {
+ keyInputFocusGained = true;
+ }
+}
+void Impl::DummyControl::OnKeyInputFocusLost()
+{
+ if(!this->HasKeyInputFocus())
+ {
+ keyInputFocusLost = true;
+ }
+}
void Impl::DummyControl::SetLayout( Property::Index visualIndex, Property::Map& map )
{
control.OffSceneSignal().Connect(mSlotDelegate, &KeyInputFocusManager::OnFocusControlSceneDisconnection);
Dali::Toolkit::Control previousFocusControl = GetCurrentFocusControl();
+
+ // Set control to currentFocusControl
+ mCurrentFocusControl = control;
+
if(previousFocusControl)
{
// Notify the control that it has lost key input focus
GetImplementation(previousFocusControl).OnKeyInputFocusLost();
}
- // Set control to currentFocusControl
- mCurrentFocusControl = control;
-
// Tell the new actor that it has gained focus.
GetImplementation(control).OnKeyInputFocusGained();
{
control.OffSceneSignal().Disconnect(mSlotDelegate, &KeyInputFocusManager::OnFocusControlSceneDisconnection);
+ mCurrentFocusControl.Reset();
+
// Notify the control that it has lost key input focus
GetImplementation(control).OnKeyInputFocusLost();
-
- mCurrentFocusControl.Reset();
}
}