#include <dali/public-api/images/resource-image.h>
#include <dali/public-api/math/vector2.h>
#include <dali/public-api/math/vector4.h>
+#include <dali/public-api/object/property-map.h>
#include <dali/devel-api/object/type-registry-helper.h>
+#include <dali/integration-api/debug.h>
#include <libintl.h>
#include <cfloat>
namespace
{
// todo Move this to adaptor??
-#define GET_LOCALE_TEXT(string) dgettext("elementary", string)
+#define GET_LOCALE_TEXT(string) dgettext("sys_string", string)
-const std::string TEXT_SELECTION_POPUP_LABEL( "textselectionpopuplabel" );
+const std::string TEXT_SELECTION_POPUP_BUTTON_STYLE_NAME( "textselectionpopupbutton" );
const Dali::Vector4 DEFAULT_OPTION_PRESSED_COLOR( Dali::Vector4( 0.24f, 0.72f, 0.8f, 1.0f ) );
+#if defined(DEBUG_ENABLED)
+ Debug::Filter* gLogFilter = Debug::Filter::New(Debug::NoLogging, true, "LOG_TEXT_CONTROLS");
+#endif
+
#ifdef DGETTEXT_ENABLED
#define POPUP_CUT_STRING GET_LOCALE_TEXT("IDS_COM_BODY_CUT")
Dali::Toolkit::TextSelectionPopup TextSelectionPopup::New( TextSelectionPopupCallbackInterface* callbackInterface )
{
+ DALI_LOG_INFO( gLogFilter, Debug::Verbose, "TextSelectionPopup::New\n" );
+
// Create the implementation, temporarily owned by this handle on stack
IntrusivePtr< TextSelectionPopup > impl = new TextSelectionPopup( callbackInterface );
void TextSelectionPopup::OnInitialize()
{
+ DALI_LOG_INFO( gLogFilter, Debug::General, "TextSelectionPopup::OnInitialize\n" );
Actor self = Self();
self.SetResizePolicy( ResizePolicy::FIT_TO_CHILDREN, Dimension::ALL_DIMENSIONS );
self.SetProperty( Actor::Property::COLOR_ALPHA, 0.0f );
void TextSelectionPopup::OnStageConnection( int depth )
{
+ DALI_LOG_INFO( gLogFilter, Debug::General, "TextSelectionPopup::OnStageConnection\n" );
// Call the Control::OnStageConnection() to set the depth of the background.
Control::OnStageConnection( depth );
Actor self = Self();
if ( !mPopupShowing ) // During the Hide/Fade animation there could be a call to Show the Popup again, mPopupShowing will be true in this case.
{
- UnparentAndReset( self ); // Popup needs to be shown so do not unparent
+ DALI_LOG_INFO( gLogFilter, Debug::General, "TextSelectionPopup::HideAnimationFinished\n" );
+ UnparentAndReset( mToolbar );
}
}
void TextSelectionPopup::AddOption( const ButtonRequirement& button, bool showDivider, bool showIcons, bool showCaption )
{
// 1. Create a option.
+ DALI_LOG_INFO( gLogFilter, Debug::General, "TextSelectionPopup::AddOption\n" );
+
Toolkit::PushButton option = Toolkit::PushButton::New();
option.SetName( button.name );
option.SetAnimationTime( 0.0f );
// 2. Set the options contents.
if( showCaption )
{
+ // PushButton layout properties.
option.SetProperty( Toolkit::PushButton::Property::LABEL_PADDING, Vector4( 24.0f, 24.0f, 14.0f, 14.0f ) );
- option.SetLabelText( button.caption );
+
+ // Label properties.
+ Property::Map buttonLabelProperties;
+ buttonLabelProperties.Insert( "text", button.caption );
+ option.SetProperty( Toolkit::Button::Property::LABEL, buttonLabelProperties );
}
if( showIcons )
{
// The image can be blank, the color can be used regardless.
option.SetSelectedImage( mPressedImage );
option.SetProperty( Toolkit::Button::Property::SELECTED_COLOR, mPressedColor );
+ option.SetProperty( Toolkit::Control::Property::STYLE_NAME, TEXT_SELECTION_POPUP_BUTTON_STYLE_NAME );
// 5 Add option to tool bar
mToolbar.AddOption( option );
void TextSelectionPopup::AddPopupOptionsToToolbar( bool showIcons, bool showCaptions )
{
+ DALI_LOG_INFO( gLogFilter, Debug::General, "TextSelectionPopup::AddPopupOptionsToToolbar\n" );
+
CreateOrderedListOfPopupOptions();
mButtonsChanged = false;