Update lib-apps-common 27/114027/6
authorAleksandr Sapozhnik <a.sapozhnik@samsung.com>
Thu, 9 Feb 2017 14:32:29 +0000 (16:32 +0200)
committerAleksandr Sapozhnik <a.sapozhnik@samsung.com>
Fri, 10 Feb 2017 06:33:04 +0000 (08:33 +0200)
Change-Id: I9b8070c7bd4fec28f76b7b70af229e4a47333398
Signed-off-by: Aleksandr Sapozhnik <a.sapozhnik@samsung.com>
lib-apps-common/inc/App/AppControlUtils.h
lib-apps-common/inc/Ui/Control.h
lib-apps-common/inc/Ui/GenContainer.h
lib-apps-common/inc/Ui/Window.h
lib-apps-common/src/App/AppControlUtils.cpp
lib-apps-common/src/Ui/TabNavigator.cpp
lib-apps-common/src/Ui/Window.cpp

index d0aa1af7ba08f3ee5f2014d5c430f33833812c56..d9ac46bd2c571cd9f57ef4e6e5c88f48001c1e6f 100644 (file)
@@ -55,6 +55,14 @@ namespace App
         */
        std::vector<int> EXPORT_API getIntExtraDataArray(app_control_h appControl, const char *key);
 
+       /**
+        * @brief Get vector of string values from App Control array extra data.
+        * @param[in]   appControl  App Control handle
+        * @param[in]   key         Extra data array key
+        * @return Vector of string values on success, otherwise empty vector.
+        */
+       std::vector<std::string> EXPORT_API getStringExtraDataArray(app_control_h appControl, const char *key);
+
        /**
         * @brief Create array of strings of equal size.
         * @details Both array and strings are created in a contiguous memory
index 916296ea3835b79ab74823789cb550fbd33f227a..24481a70402ca7169229d3b81012df1ea74e3d62 100644 (file)
@@ -124,9 +124,15 @@ namespace Ui
                 */
                virtual void onDestroy() { }
 
+               /**
+                * @brief Untie underlying Evas_Object from this Control.
+                * @return Underlying Evas_Object.
+                */
+               Evas_Object *resetEvasObject();
+
        private:
                void setEvasObject(Evas_Object *object);
-               Evas_Object *resetEvasObject();
+
                void destroyEvasObject();
 
                void onTypeCheck(Evas_Object *obj, void *eventInfo);
index ecf50bd8f3229506954fb03281d171b3eafbe84c..0348fc80e9602a377847013614420e54b1592434 100644 (file)
@@ -88,9 +88,10 @@ namespace Ui
                 */
                void update(const char *parts, int type);
 
-       private:
+       protected:
                virtual Evas_Object *onCreate(Evas_Object *parent) override;
 
+       private:
                static void onItemSelected(void *data, Evas_Object *obj, Elm_Object_Item *objectItem);
                static void onItemLongpressed(void *data, Evas_Object *obj, Elm_Object_Item *objectItem);
                static void onItemRealized(void *data, Evas_Object *obj, Elm_Object_Item *objectItem);
index 7f90d09c5c1bce1562b4e08ffef61fc70437f2ce..8364a89416e4e2454744c1bd0916406a2659c6bc 100644 (file)
@@ -47,6 +47,11 @@ namespace Ui
                 */
                Evas_Object *getBaseLayout() const;
 
+               /**
+                * @return Whether window is in landscape orientation.
+                */
+               bool isLandscape() const;
+
                /**
                 * @brief Set whether windows supports rotation.
                 * @param[in]   isEnabled   Whether rotation is enabled
index ba506c57f706792909cf6233f4ddb867c8248bf4..574e65be2128a86de2e9e98b54fea86c2677dded 100644 (file)
@@ -92,6 +92,25 @@ std::vector<int> App::getIntExtraDataArray(app_control_h appControl, const char
        return result;
 }
 
+std::vector<std::string> App::getStringExtraDataArray(app_control_h appControl, const char *key)
+{
+       std::vector<std::string> result;
+       char **array = nullptr;
+       int count = 0;
+
+       int err = app_control_get_extra_data_array(appControl, key, &array, &count);
+       RETVM_IF_ERR(err, result, "app_control_get_extra_data_array() failed.");
+       result.reserve(count);
+
+       for (int i = 0; i < count; ++i) {
+               result.push_back(array[i]);
+               free(array[i]);
+       }
+       free(array);
+
+       return result;
+}
+
 char **App::createExtraDataArray(size_t dataSize, size_t count)
 {
        typedef char ExtraData[dataSize];
index 6fe526fa228e34294b9a85b7e397b8aeb4ab6b0b..f2d63cc0afdd9da4f1a463c99eea77edbac3a24e 100644 (file)
@@ -15,7 +15,6 @@
  */
 
 #include "Ui/TabNavigator.h"
-#include "Ui/TabPage.h"
 #include "Ui/Selector.h"
 
 #include <algorithm>
index 68763f1a299f9d999c3c7340b1c099405fff6de2..db6f34a0c07cf0f2612d47fb5cb706cfd1f18358 100644 (file)
@@ -53,6 +53,12 @@ Evas_Object *Window::getBaseLayout() const
        return m_Layout;
 }
 
+bool Window::isLandscape() const
+{
+       int rotation = elm_win_rotation_get(getEvasObject());
+       return rotation == 90 || rotation == 270;
+}
+
 void Window::setRotationEnabled(bool isEnabled)
 {
        if (isEnabled) {