/*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#include <dali-toolkit/devel-api/styling/style-manager-devel.h>
#include <dali/integration-api/events/key-event-integ.h>
+// for Internal::StyleManager
+#include <dali-toolkit/internal/styling/style-manager-impl.h>
+
using namespace Dali;
using namespace Dali::Toolkit;
// Add 2 buttons to test how many times the signal is sent
Test::TestButton testButton = Test::TestButton::New();
Test::TestButton testButton2 = Test::TestButton::New();
- Stage::GetCurrent().Add( testButton );
- Stage::GetCurrent().Add( testButton2 );
+ application.GetScene().Add( testButton );
+ application.GetScene().Add( testButton2 );
StyleChangedSignalChecker styleChangedSignalHandler;
StyleChangedSignalChecker styleChangedSignalHandler2;
StyleManager styleManager = StyleManager::Get();
ToolkitTestApplication application;
Test::TestButton testButton = Test::TestButton::New();
- Stage::GetCurrent().Add( testButton );
+ application.GetScene().Add( testButton );
StyleChangedSignalChecker styleChangedSignalHandler;
StyleManager styleManager = StyleManager::Get();
// Add 2 buttons
Test::TestButton testButton = Test::TestButton::New();
Test::TestButton testButton2 = Test::TestButton::New();
- Stage::GetCurrent().Add( testButton );
- Stage::GetCurrent().Add( testButton2 );
+ application.GetScene().Add( testButton );
+ application.GetScene().Add( testButton2 );
StyleChangedSignalChecker styleChangedSignalHandler;
StyleManager styleManager = StyleManager::Get();
// Add 2 buttons
Test::TestButton testButton = Test::TestButton::New();
Test::TestButton testButton2 = Test::TestButton::New();
- Stage::GetCurrent().Add( testButton );
- Stage::GetCurrent().Add( testButton2 );
+ application.GetScene().Add( testButton );
+ application.GetScene().Add( testButton2 );
StyleChangedSignalChecker styleChangedSignalHandler;
StyleManager styleManager = StyleManager::Get();
// Add 2 buttons
Test::TestButton testButton = Test::TestButton::New();
Test::TestButton testButton2 = Test::TestButton::New();
- Stage::GetCurrent().Add( testButton );
- Stage::GetCurrent().Add( testButton2 );
+ application.GetScene().Add( testButton );
+ application.GetScene().Add( testButton2 );
StyleChangedSignalChecker styleChangedSignalHandler;
StyleManager styleManager = StyleManager::Get();
std::string labelStr("Label");
Toolkit::TextLabel label = Toolkit::TextLabel::New(labelStr);
- Stage::GetCurrent().Add( label );
+ application.GetScene().Add( label );
Toolkit::TextField field = Toolkit::TextField::New();
- Stage::GetCurrent().Add( field );
+ application.GetScene().Add( field );
Toolkit::TextEditor editor = Toolkit::TextEditor::New();
- Stage::GetCurrent().Add( editor );
+ application.GetScene().Add( editor );
StyleChangedSignalChecker styleChangedSignalHandler;
Dali::StyleMonitor styleMonitor = Dali::StyleMonitor::Get();
std::string labelStr("Label");
Toolkit::TextLabel label = Toolkit::TextLabel::New(labelStr);
- Stage::GetCurrent().Add( label );
+ application.GetScene().Add( label );
Toolkit::TextLabel label2 = Toolkit::TextLabel::New(labelStr);
- Stage::GetCurrent().Add( label2 );
+ application.GetScene().Add( label2 );
StyleChangedSignalChecker styleChangedSignalHandler;
StyleMonitor styleMonitor = StyleMonitor::Get();
std::string fieldStr("Field");
Toolkit::TextField field = Toolkit::TextField::New();
field.SetProperty( Toolkit::TextField::Property::TEXT, fieldStr );
- Stage::GetCurrent().Add( field );
+ application.GetScene().Add( field );
Toolkit::TextField field2 = Toolkit::TextField::New();
- Stage::GetCurrent().Add( field2 );
+ application.GetScene().Add( field2 );
field2.SetProperty( Toolkit::TextField::Property::TEXT, fieldStr );
StyleChangedSignalChecker styleChangedSignalHandler;
std::string editorStr("Editor");
Toolkit::TextEditor editor = Toolkit::TextEditor::New();
editor.SetProperty( Toolkit::TextEditor::Property::TEXT, editorStr );
- Stage::GetCurrent().Add( editor );
+ application.GetScene().Add( editor );
Toolkit::TextEditor editor2 = Toolkit::TextEditor::New();
- Stage::GetCurrent().Add( editor2 );
+ application.GetScene().Add( editor2 );
editor2.SetProperty( Toolkit::TextEditor::Property::TEXT, editorStr );
StyleChangedSignalChecker styleChangedSignalHandler;
DummyControl actor = DummyControl::New(true);
actor.SetStyleName("BasicControl");
- Stage::GetCurrent().Add(actor);
+ application.GetScene().Add(actor);
Impl::DummyControl& dummyImpl = static_cast<Impl::DummyControl&>(actor.GetImplementation());
Integration::ResourcePointer ninePatch = CustomizeNinePatch( application, 30, 30 );
DummyControl actor = DummyControl::New(true);
actor.SetStyleName("BasicControl");
- Stage::GetCurrent().Add(actor);
+ application.GetScene().Add(actor);
Impl::DummyControl& dummyImpl = static_cast<Impl::DummyControl&>(actor.GetImplementation());
Integration::ResourcePointer ninePatch = CustomizeNinePatch( application, 30, 30 );
DummyControl actor = DummyControl::New(true);
actor.SetStyleName("NoStyles");
- Stage::GetCurrent().Add(actor);
+ application.GetScene().Add(actor);
Impl::DummyControl& dummyImpl = static_cast<Impl::DummyControl&>(actor.GetImplementation());
Property::Map propertyMap;
DummyControl actor = DummyControl::New(true);
actor.SetStyleName("NoStateStyle");
- Stage::GetCurrent().Add(actor);
+ application.GetScene().Add(actor);
Impl::DummyControl& dummyImpl = static_cast<Impl::DummyControl&>(actor.GetImplementation());
Property::Map propertyMap;
actor.SetProperty(DevelControl::Property::STATE, "NORMAL");
actor.SetProperty(DevelControl::Property::SUB_STATE, "SELECTED");
actor.SetStyleName("ComplexControl");
- Stage::GetCurrent().Add(actor);
+ application.GetScene().Add(actor);
Integration::ResourcePointer ninePatch = CustomizeNinePatch( application, 30, 30 );
tet_infoline( "Setting state to NORMAL/SELECTED before re-styling\n");
actor.SetStyleName("ComplexControl");
- Stage::GetCurrent().Add(actor);
+ application.GetScene().Add(actor);
Integration::ResourcePointer ninePatch = CustomizeNinePatch( application, 30, 30 );
// For coverage
Toolkit::TextEditor editor = Toolkit::TextEditor::New();
editor.SetProperty( Actor::Property::KEYBOARD_FOCUSABLE, true );
- Stage::GetCurrent().Add( editor );
+ application.GetScene().Add( editor );
Toolkit::KeyboardFocusManager::Get().SetCurrentFocusActor( editor );
- application.ProcessEvent( Integration::KeyEvent( "", "", "", DALI_KEY_ESCAPE, 0, 0, Integration::KeyEvent::Down, "", "", Device::Class::NONE, Device::Subclass::NONE ) );
+ application.ProcessEvent( Integration::KeyEvent( "", "", "", DALI_KEY_ESCAPE, 0, 0, Integration::KeyEvent::DOWN, "", "", Device::Class::NONE, Device::Subclass::NONE ) );
application.SendNotification();
application.Render();
END_TEST;
}
+
+
+int UtcDaliStyleManagerNewWithAdditionalBehavior(void)
+{
+ ToolkitTestApplication application;
+
+ Toolkit::StyleManager styleManager = StyleManager::Get();
+ Toolkit::Internal::StyleManager& styleManagerImpl = GetImpl(styleManager);
+
+ auto checkup = [&styleManagerImpl](int enableStyleChangeSignal, const Control& control){
+ DALI_TEST_EQUALS( enableStyleChangeSignal, styleManagerImpl.ControlStyleChangeSignal().GetConnectionCount(), TEST_LOCATION );
+ };
+
+ // Default New
+ // Note: TextField and TextEditor have TextSelectionPopup
+ tet_infoline( "Check whether ControlStyleChangeSignal connected in default New\n");
+ checkup(1, Control::New());
+ checkup(1, ImageView::New());
+ checkup(1, ImageView::New("url"));
+ checkup(1, ImageView::New("url", Dali::ImageDimensions(32u, 32u)));
+ checkup(1, TextLabel::New());
+ checkup(1, TextLabel::New("text"));
+ checkup(2, TextField::New());
+ checkup(2, TextEditor::New());
+
+ // New with additional behaviour, but enable style change signals
+ tet_infoline( "Check whether ControlStyleChangeSignal connected in non-disable style change signals\n");
+ checkup(1, Control::New(Toolkit::Control::ControlBehaviour::CONTROL_BEHAVIOUR_DEFAULT));
+ checkup(1, Control::New(Toolkit::Control::ControlBehaviour::DISABLE_SIZE_NEGOTIATION));
+ checkup(1, Control::New(Toolkit::Control::ControlBehaviour::REQUIRES_KEYBOARD_NAVIGATION_SUPPORT));
+ checkup(1, ImageView::New(Toolkit::Control::ControlBehaviour::CONTROL_BEHAVIOUR_DEFAULT));
+ checkup(1, ImageView::New(Toolkit::Control::ControlBehaviour::CONTROL_BEHAVIOUR_DEFAULT, "url"));
+ checkup(1, ImageView::New(Toolkit::Control::ControlBehaviour::CONTROL_BEHAVIOUR_DEFAULT, "url", Dali::ImageDimensions(32u, 32u)));
+ checkup(1, ImageView::New(Toolkit::Control::ControlBehaviour::DISABLE_SIZE_NEGOTIATION));
+ checkup(1, ImageView::New(Toolkit::Control::ControlBehaviour::DISABLE_SIZE_NEGOTIATION, "url"));
+ checkup(1, ImageView::New(Toolkit::Control::ControlBehaviour::DISABLE_SIZE_NEGOTIATION, "url", Dali::ImageDimensions(32u, 32u)));
+ checkup(1, TextLabel::New(Toolkit::Control::ControlBehaviour::CONTROL_BEHAVIOUR_DEFAULT));
+ checkup(1, TextLabel::New(Toolkit::Control::ControlBehaviour::CONTROL_BEHAVIOUR_DEFAULT, "text"));
+ checkup(1, TextLabel::New(Toolkit::Control::ControlBehaviour::DISABLE_SIZE_NEGOTIATION));
+ checkup(1, TextLabel::New(Toolkit::Control::ControlBehaviour::DISABLE_SIZE_NEGOTIATION, "text"));
+ checkup(2, TextField::New(Toolkit::Control::ControlBehaviour::CONTROL_BEHAVIOUR_DEFAULT));
+ checkup(2, TextField::New(Toolkit::Control::ControlBehaviour::DISABLE_SIZE_NEGOTIATION));
+ checkup(2, TextEditor::New(Toolkit::Control::ControlBehaviour::CONTROL_BEHAVIOUR_DEFAULT));
+ checkup(2, TextEditor::New(Toolkit::Control::ControlBehaviour::DISABLE_SIZE_NEGOTIATION));
+
+ // New with additional behaviour, so disable style change signals
+ tet_infoline( "Check whether ControlStyleChangeSignal did not connected\n");
+ checkup(0, Control::New(Toolkit::Control::ControlBehaviour::DISABLE_STYLE_CHANGE_SIGNALS));
+ checkup(0, Control::New(Toolkit::Control::ControlBehaviour(Toolkit::Control::ControlBehaviour::DISABLE_STYLE_CHANGE_SIGNALS | Toolkit::Control::ControlBehaviour::DISABLE_SIZE_NEGOTIATION)));
+ checkup(0, ImageView::New(Toolkit::Control::ControlBehaviour::DISABLE_STYLE_CHANGE_SIGNALS));
+ checkup(0, ImageView::New(Toolkit::Control::ControlBehaviour::DISABLE_STYLE_CHANGE_SIGNALS, "url"));
+ checkup(0, ImageView::New(Toolkit::Control::ControlBehaviour::DISABLE_STYLE_CHANGE_SIGNALS, "url", Dali::ImageDimensions(32u, 32u)));
+ checkup(0, TextLabel::New(Toolkit::Control::ControlBehaviour::DISABLE_STYLE_CHANGE_SIGNALS));
+ checkup(0, TextLabel::New(Toolkit::Control::ControlBehaviour::DISABLE_STYLE_CHANGE_SIGNALS, "text"));
+ checkup(1, TextField::New(Toolkit::Control::ControlBehaviour::DISABLE_STYLE_CHANGE_SIGNALS));
+ checkup(1, TextEditor::New(Toolkit::Control::ControlBehaviour::DISABLE_STYLE_CHANGE_SIGNALS));
+
+ END_TEST;
+}