GetImpl(*this).RaiseAbove( target );
}
+void TextSelectionToolbar::ScrollTo( const Vector2& position )
+{
+ GetImpl(*this).ScrollTo( position );
+}
+
TextSelectionToolbar TextSelectionToolbar::DownCast( BaseHandle handle )
{
return Control::DownCast<TextSelectionToolbar, Internal::TextSelectionToolbar>(handle);
void RaiseAbove( Layer target );
/**
+ * @copydoc Toolkit::ScrollView::ScrollTo(const Vector2&)
+ */
+ void ScrollTo( const Vector2& position );
+
+ /**
* @brief Downcast a handle to TextSelectionToolbar.
*
* If the BaseHandle points is a TextSelectionToolbar the downcast returns a valid handle.
// EXTERNAL INCLUDES
#include <libintl.h>
+#include <string.h>
#include <cfloat>
#include <dali/public-api/animation/animation.h>
#include <dali/devel-api/images/nine-patch-image.h>
const char* const OPTION_PASTE("optionPaste"); // "Paste" popup option.
const char* const OPTION_CLIPBOARD("optionClipboard"); // "Clipboard" popup option.
+const std::string IDS_LTR( "IDS_LTR" );
+const std::string RTL_DIRECTION( "RTL" );
+
BaseHandle Create()
{
return Toolkit::TextSelectionPopup::New( NULL );
self.Add( mToolbar );
}
+ // Whether to mirror the list of buttons (for right to left languages)
+ bool mirror = false;
+ char* idsLtr = GET_LOCALE_TEXT( IDS_LTR.c_str() );
+ if( NULL != idsLtr )
+ {
+ mirror = ( 0 == strcmp( idsLtr, RTL_DIRECTION.c_str() ) );
+
+ if( mirror )
+ {
+ std::reverse( mOrderListOfButtons.begin(), mOrderListOfButtons.end() );
+ }
+ }
+
// Iterate list of buttons and add active ones to Toolbar
std::size_t numberOfOptionsRequired = GetNumberOfEnabledOptions();
std::size_t numberOfOptionsAdded = 0u;
AddOption( button, ( numberOfOptionsAdded < numberOfOptionsRequired ) , showIcons, showCaptions );
}
}
+
+ if( mirror )
+ {
+ mToolbar.ScrollTo( Vector2( mPopupMaxSize.x, 0.f ) );
+ }
}
TextSelectionPopup::TextSelectionPopup( TextSelectionPopupCallbackInterface* callbackInterface )
mToolbarLayer.RaiseAbove( target );
}
+void TextSelectionToolbar::ScrollTo( const Vector2& position )
+{
+ mScrollView.ScrollTo( position, 0.f );
+}
+
void TextSelectionToolbar::ConfigureScrollview( const Property::Map& properties )
{
// Set any properties specified for the label by iterating through all property key-value pairs.