X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Ftext-controls%2Ftext-selection-popup-impl.h;h=c4099838af698096f096ec529231da48b6dde2a3;hb=0daec19363b6c0c28c44859febfcbd203f203c29;hp=34c2235710c57e86ab1fc9bdce5df8dff9bf6484;hpb=f348038a5e190e62e11c027ecfe45ee909619997;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.h b/dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.h index 34c2235..c409983 100644 --- a/dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.h +++ b/dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.h @@ -20,6 +20,7 @@ // INTERNAL INCLUDES #include +#include #include #include #include @@ -55,21 +56,10 @@ class TextSelectionPopup : public Control { public: - enum Buttons - { - CUT, - COPY, - PASTE, - SELECT, - SELECT_ALL, - CLIPBOARD, - ENUM_END - }; - struct ButtonRequirement { ButtonRequirement() - : id( ENUM_END ), + : id( Toolkit::TextSelectionPopup::NONE ), priority( 0u ), name(), caption(), @@ -77,7 +67,7 @@ public: enabled( false ) {} - ButtonRequirement( Buttons buttonId, + ButtonRequirement( Toolkit::TextSelectionPopup::Buttons buttonId, std::size_t buttonPriority, const std::string& buttonName, const std::string& buttonCaption, @@ -91,7 +81,7 @@ public: enabled( buttonEnabled ) {} - Buttons id; + Toolkit::TextSelectionPopup::Buttons id; std::size_t priority; std::string name; std::string caption; @@ -107,9 +97,13 @@ public: }; /** - * @copydoc Dali::Toollkit::TextSelectionPopup::New() + * @brief New constructor with provided buttons to enable. + * @param[in] buttonsToEnable bit mask of buttons to enable + * @param[in] callbackInterface The text popup callback interface which receives the button click callbacks. + * @return A handle to the TextSelectionPopup control. */ - static Toolkit::TextSelectionPopup New(); + static Toolkit::TextSelectionPopup New( Toolkit::TextSelectionPopup::Buttons buttonsToEnable, + TextSelectionPopupCallbackInterface* callbackInterface ); // Properties @@ -140,6 +134,48 @@ private: // From Control private: // Implementation /** + * @brief When the cut button is pressed. + * @param[in] button the button pressed + * @return @e true to consume the event. + */ + bool OnCutButtonPressed( Toolkit::Button button ); + + /** + * @brief When the copy button is pressed. + * @param[in] button the button pressed + * @return @e true to consume the event. + */ + bool OnCopyButtonPressed( Toolkit::Button button ); + + /** + * @brief When the paste button is pressed. + * @param[in] button the button pressed + * @return @e true to consume the event. + */ + bool OnPasteButtonPressed( Toolkit::Button button ); + + /** + * @brief When the select button is pressed. + * @param[in] button the button pressed + * @return @e true to consume the event. + */ + bool OnSelectButtonPressed( Toolkit::Button button ); + + /** + * @brief When the select all button is pressed. + * @param[in] button the button pressed + * @return @e true to consume the event. + */ + bool OnSelectAllButtonPressed( Toolkit::Button button ); + + /** + * @brief When the clipboard button is pressed. + * @param[in] button the button pressed + * @return @e true to consume the event. + */ + bool OnClipboardButtonPressed( Toolkit::Button button ); + + /** * @brief Method to set the dimension or dimension constraint on certain aspects of the Popup. * * @param[in] settingToCustomise The setting for the PopupCustomisations enum that can be customised @@ -160,7 +196,7 @@ private: // Implementation * @param[in] button The button the image should be used for from the Buttons Enum. * @param[in] image The image to use. */ - void SetButtonImage( Buttons button, Dali::Image image ); + void SetButtonImage( Toolkit::TextSelectionPopup::Buttons button, Dali::Image image ); /** * @brief Retrieves the image of the given button used by the popup @@ -168,11 +204,11 @@ private: // Implementation * @param[in] button The button to get the image from * @return The image used for that button. */ - Dali::Image GetButtonImage( Buttons button ); + Dali::Image GetButtonImage( Toolkit::TextSelectionPopup::Buttons button ); void CreateOrderedListOfPopupOptions(); - void AddOption( const std::string& name, const std::string& caption, const Image iconImage, bool showDivider, bool showIcons, bool showCaption ); + void AddOption( const ButtonRequirement& button, bool showDivider, bool showIcons, bool showCaption ); std::size_t GetNumberOfEnabledOptions(); @@ -183,7 +219,7 @@ private: // Implementation /** * Construct a new TextField. */ - TextSelectionPopup(); + TextSelectionPopup( TextSelectionPopupCallbackInterface* callbackInterface ); /** * A reference counted object may only be deleted by calling Unreference() @@ -220,9 +256,12 @@ private: // Data std::vector mOrderListOfButtons; // List of buttons in the order to be displayed and a flag to indicate if needed. + Toolkit::TextSelectionPopup::Buttons mEnabledButtons; // stores enabled buttons + Toolkit::TextSelectionPopupCallbackInterface* mCallbackInterface; + Vector4 mLineColor; // Color of the line around the text input popup Vector4 mIconColor; // Color of the popup icon. - Vector4 mIconPressedColor; // Color of the popup icon when pressed. + Vector4 mPressedColor; // Color of the popup option when pressed. // Priority of Options/Buttons in the Cut and Paste pop-up, higher priority buttons are displayed first, left to right. std::size_t mSelectOptionPriority; // Position of Select Button @@ -232,8 +271,8 @@ private: // Data std::size_t mPasteOptionPriority; // Position of Paste button std::size_t mClipboardOptionPriority; // Position of Clipboard button - bool mShowIcons; // Flag to show icons - bool mShowCaptions; // Flag to show text captions + bool mShowIcons:1; // Flag to show icons + bool mShowCaptions:1; // Flag to show text captions };