X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Fdevel-api%2Fcontrols%2Ftext-controls%2Ftext-selection-popup.h;h=ccc25ccac5e35d651f23c659b0b4cb7473df1135;hb=b694e7e2ae624e206e1548b1a863c554eb9cd4d7;hp=69df3151870397851728349e064dc5100a9ac6c1;hpb=8c18e2ceb273e1db22547264a4466fa565081a29;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/devel-api/controls/text-controls/text-selection-popup.h b/dali-toolkit/devel-api/controls/text-controls/text-selection-popup.h index 69df315..ccc25cc 100644 --- a/dali-toolkit/devel-api/controls/text-controls/text-selection-popup.h +++ b/dali-toolkit/devel-api/controls/text-controls/text-selection-popup.h @@ -1,8 +1,8 @@ -#ifndef __DALI_TOOLKIT_TEXT_SELECTION_POPUP_H__ -#define __DALI_TOOLKIT_TEXT_SELECTION_POPUP_H__ +#ifndef DALI_TOOLKIT_TEXT_SELECTION_POPUP_H +#define DALI_TOOLKIT_TEXT_SELECTION_POPUP_H /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 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. @@ -27,6 +27,8 @@ namespace Dali namespace Toolkit { +class TextSelectionPopupCallbackInterface; + namespace Internal DALI_INTERNAL { class TextSelectionPopup; @@ -42,10 +44,21 @@ class TextSelectionPopup; * * */ -class DALI_IMPORT_API TextSelectionPopup : public Control +class DALI_TOOLKIT_API TextSelectionPopup : public Control { public: + enum Buttons + { + CUT = 1u << 0, + COPY = 1u << 1, + PASTE = 1u << 2, + SELECT = 1u << 3, + SELECT_ALL = 1u << 4, + CLIPBOARD = 1u << 5, + NONE = 1u << 6, + }; + /** * @brief The start and end property ranges for this control. */ @@ -62,26 +75,123 @@ public: { enum { + /** + * @brief The maximum size the Popup can be. + * @details Name "popupMaxSize", type Vector2. + */ + POPUP_MAX_SIZE = PROPERTY_START_INDEX, + + /** + * @brief The minimum size the Popup can be. + * @details Name "popupMinSize", type Vector2. + */ + POPUP_MIN_SIZE, + + /** + * @brief The maximum size an option can be. + * @details Name "optionMaxSize", type Vector2. + */ + OPTION_MAX_SIZE, + + /** + * @brief The minimum size an option can be. + * @details Name "optionMinSize", type Vector2. + */ + OPTION_MIN_SIZE, + + /** + * @brief The size of the divider between options. + * @details Name "optionDividerSize", type Vector2. + */ + OPTION_DIVIDER_SIZE, + + /** + * @brief The image to use as the popup clipboard icon. + * @details Name "popupClipboardButtonImage", type string. + */ + POPUP_CLIPBOARD_BUTTON_ICON_IMAGE, + + /** + * @brief The image to use as the popup cut icon. + * @details Name "popupCutButtonImage", type string. + */ + POPUP_CUT_BUTTON_ICON_IMAGE, + + /** + * @brief The image to use as the popup copy icon. + * @details Name "popupCopyButtonImage", type string. + */ + POPUP_COPY_BUTTON_ICON_IMAGE, + + /** + * @brief The image to use as the popup paste icon. + * @details Name "popupPasteButtonImage", type string. + */ + POPUP_PASTE_BUTTON_ICON_IMAGE, + + /** + * @brief The image to use as the popup select icon. + * @details Name "popupSelectButtonImage", type string. + */ + POPUP_SELECT_BUTTON_ICON_IMAGE, + + /** + * @brief The image to use as the popup select all icon. + * @details Name "popupSelectAllButtonImage", type string. + */ + POPUP_SELECT_ALL_BUTTON_ICON_IMAGE, + + /** + * @brief The color of the divider between options. + * @details Name "popupDividerColor", type Vector4. + */ + POPUP_DIVIDER_COLOR, + + /** + * @brief The color of the icons (if supplied). + * @details Name "popupIconColor", type Vector4. + */ + POPUP_ICON_COLOR, + + /** + * @brief The color of the option when pressed. + * @details Name "popupPressedColor", type Vector4. + */ + POPUP_PRESSED_COLOR, - POPUP_MAX_SIZE = PROPERTY_START_INDEX, ///< name "popup-max-size", The maximum size the Popup can be, type VECTOR2 - POPUP_MIN_SIZE, ///< name "popup-min-size", The minimum size the Popup can be, type VECTOR2 - OPTION_MAX_SIZE, ///< name "option-max-size", The maximum size an option can be, type VECTOR2 - OPTION_MIN_SIZE, ///< name "option-min-size", The minimum size an option can be, type VECTOR2 - OPTION_DIVIDER_SIZE, ///< name "option-divider-size", The size of the divider between options type VECTOR2 - POPUP_CLIPBOARD_BUTTON_ICON_IMAGE, ///< name "popup-clipboard-button-image", The image to use as the popup clipboard icon, type STRING - POPUP_CUT_BUTTON_ICON_IMAGE, ///< name "popup-cut-button-image", The image to use as the popup cut icon, type STRING - POPUP_COPY_BUTTON_ICON_IMAGE, ///< name "popup-copy-button-image", The image to use as the popup copy icon, type STRING - POPUP_PASTE_BUTTON_ICON_IMAGE, ///< name "popup-paste-button-image", The image to use as the popup paste icon, type STRING - POPUP_SELECT_BUTTON_ICON_IMAGE, ///< name "popup-select-button-image", The image to use as the popup select icon, type STRING - POPUP_SELECT_ALL_BUTTON_ICON_IMAGE, ///< name "popup-select-all-button-image", The image to use as the popup select all icon, type STRING + /** + * @brief The image to use for the option when pressed. + * @details Name "popupPressedImage", type string. + */ + POPUP_PRESSED_IMAGE, + + /** + * @brief The duration of the fade-in animation. + * @details Name "popupFadeInDuration", type float. + */ + POPUP_FADE_IN_DURATION, + + /** + * @brief The duration of the fade-out animation. + * @details Name "popupFadeOutDuration", type float. + */ + POPUP_FADE_OUT_DURATION, + + /** + * @brief The popup background can have a separate border with a different color. + * @details Name "backgroundBorder", type Property::Map. + * @note Optional. + */ + BACKGROUND_BORDER }; }; /** * Create the TextSelectionPopup control. + * @param[in] callbackInterface The text popup callback interface which receives the button click callbacks. * @return A handle to the TextSelectionPopup control. */ - static TextSelectionPopup New(); + static TextSelectionPopup New( TextSelectionPopupCallbackInterface* callbackInterface ); /** * @brief Creates an empty handle. @@ -121,6 +231,29 @@ public: */ static TextSelectionPopup DownCast( BaseHandle handle ); + /** + * @brief Specify which buttons to show in Popup + * @param[in] buttonsToEnable Buttons to enable + */ + void EnableButtons( Toolkit::TextSelectionPopup::Buttons buttonsToEnable ); + + /** + * @brief Raises the toolbar's layer above the given @e target layer. + * + * @param[in] target The layer to get above of. + */ + void RaiseAbove( Layer target ); + + /** + * @brief Show the Popup if not being shown + */ + void ShowPopup(); + + /** + * @brief Hide the Popup if shown + */ + void HidePopup(); + public: // Not intended for application developers /** @@ -143,4 +276,4 @@ public: // Not intended for application developers } // namespace Dali -#endif // __DALI_TOOLKIT_TEXT_SELECTION_POPUP_H__ +#endif // DALI_TOOLKIT_TEXT_SELECTION_POPUP_H