X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Ftext-controls%2Ftext-selection-toolbar-impl.h;h=5b30dcff7dd189dedae41aaa286b82736dee6ceb;hp=7309781029248c04c71c9762b910a61858092614;hb=b1e8521ad77e7b4e62b59613b2edef64429130e9;hpb=68398f4bf6958cd60f12b930e240d0d75e9e7d29 diff --git a/dali-toolkit/internal/controls/text-controls/text-selection-toolbar-impl.h b/dali-toolkit/internal/controls/text-controls/text-selection-toolbar-impl.h index 7309781..5b30dcf 100644 --- a/dali-toolkit/internal/controls/text-controls/text-selection-toolbar-impl.h +++ b/dali-toolkit/internal/controls/text-controls/text-selection-toolbar-impl.h @@ -1,8 +1,8 @@ -#ifndef __DALI_TOOLKIT_INTERNAL_TEXT_SELECTION_TOOLBAR_H__ -#define __DALI_TOOLKIT_INTERNAL_TEXT_SELECTION_TOOLBAR_H__ +#ifndef DALI_TOOLKIT_INTERNAL_TEXT_SELECTION_TOOLBAR_H +#define DALI_TOOLKIT_INTERNAL_TEXT_SELECTION_TOOLBAR_H /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 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. @@ -21,7 +21,8 @@ // INTERNAL INCLUDES #include #include -#include +#include +#include #include // EXTERNAL INCLUDES @@ -36,11 +37,6 @@ namespace Toolkit namespace Internal { -namespace -{ - -} // namespace - class TextSelectionToolbar : public Control { public: @@ -89,6 +85,23 @@ public: */ void RaiseAbove( Layer target ); + /** + * Sets the scroll bar padding. + * + * @param[in] padding The padding value. + */ + void SetScrollBarPadding( const Vector2& padding ); + + /** + * @return The padding value. + */ + const Vector2& GetScrollBarPadding() const; + + /** + * @copydoc Toolkit::TextSelectionToolbar::ScrollTo() + */ + void ScrollTo( const Vector2& position ); + private: // From Control /** @@ -102,11 +115,6 @@ private: // From Control virtual void OnRelayout( const Vector2& size, RelayoutContainer& container ); /** - * @copydoc Control::OnStageConnection() - */ - virtual void OnStageConnection( int depth ); - - /** * @brief Set max size of Popup * @param[in] maxSize Size (Vector2) */ @@ -118,11 +126,17 @@ private: // From Control */ const Dali::Vector2& GetPopupMaxSize() const; +private: // Implementation + + /** + * @copydoc Toolkit::TextSelectionToolbar::ConfigureScrollview() + */ + void ConfigureScrollview( const Property::Map& properties ); + /** * @brief Set up scrollview to scroll Toolbar horizontally - * @param[out] scrollView scrollview to setup */ - void SetUpScrollView( Toolkit::ScrollView& scrollView ); + void SetUpScrollView(); /** * @brief Set up the parts that make the Toolbar @@ -130,6 +144,13 @@ private: // From Control void SetUp(); /** + * @brief Enable or disable the scroll-bar + * + * @param[in] enable True if the scroll-bar is required + */ + void SetUpScrollBar( bool enable ); + + /** * Toolbar has started to scroll * @param[in] position current scroll view position */ @@ -141,8 +162,6 @@ private: // From Control */ void OnScrollCompleted( const Vector2& position ); -private: // Implementation - /** * Construct a new TextField. */ @@ -161,14 +180,16 @@ private: private: // Data - Layer mStencilLayer; ///< The stencil layer + Layer mToolbarLayer; ///< The layer used to house the toolbar. Toolkit::TableView mTableOfButtons; ///< Actor which holds all the buttons, sensitivity can be set on buttons via this actor Toolkit::ScrollView mScrollView; ///< Provides scrolling of Toolbar when content does not fit. + Toolkit::ScrollBar mScrollBar; ///< An horizontal scroll bar for the text's popup options. RulerPtr mRulerX; ///< Ruler to clamp horizontal scrolling. Updates on Relayout Size mMaxSize; ///< Max size of the Toolbar + Vector2 mScrollBarPadding; ///< The padding used to position the scroll indicator. unsigned int mIndexInTable; ///< Index in table to add option Dali::Vector< unsigned int > mDividerIndexes; ///< Vector of indexes in the Toolbar that contain dividers. - + bool mFirstScrollEnd; ///< Used for RTL mirroring. Avoids the overshoot to be shown the first time the popup is shown. }; } // namespace Internal @@ -197,4 +218,4 @@ inline const Toolkit::Internal::TextSelectionToolbar& GetImpl( const Toolkit::Te } // namespace Dali -#endif // __DALI_TOOLKIT_INTERNAL_TEXT_SELECTION_TOOLBAR_H__ +#endif // DALI_TOOLKIT_INTERNAL_TEXT_SELECTION_TOOLBAR_H