Enhance Elementary(static)
authorSeunghyun Choi <sh4682.choi@samsung.com>
Fri, 16 Jun 2017 05:44:31 +0000 (14:44 +0900)
committerSeunghyun Choi <sh4682.choi@samsung.com>
Tue, 20 Jun 2017 00:59:51 +0000 (09:59 +0900)
Change-Id: I526280bc1d7ce37472fb5bf56337b572b173e5e2

src/ElmSharp/ElmSharp/Elementary.cs [changed mode: 0755->0644]
src/ElmSharp/ElmSharp/ElmScrollConfig.cs [changed mode: 0755->0644]
src/ElmSharp/Interop/Interop.Elementary.cs
test/ElmSharp.Test/TC/PerformanceTest.cs [changed mode: 0755->0644]

old mode 100755 (executable)
new mode 100644 (file)
index 0e71f90..cf26c57
@@ -15,6 +15,7 @@
  */
 
 using System;
+using System.ComponentModel;
 using System.IO;
 
 namespace ElmSharp
@@ -27,6 +28,112 @@ namespace ElmSharp
         private static readonly string _themeFilePath = "/usr/share/elm-sharp/elm-sharp-theme.edj";
 
         /// <summary>
+        /// Gets or sets the configured finger size.
+        /// </summary>
+        public static int FingerSize
+        {
+            get
+            {
+                return Interop.Elementary.elm_config_finger_size_get();
+            }
+            set
+            {
+                Interop.Elementary.elm_config_finger_size_set(value);
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the enable status of the focus highlight animation
+        /// </summary>
+        public static bool IsFocusHighlightAnimation
+        {
+            get
+            {
+                return Interop.Elementary.elm_config_focus_highlight_animate_get();
+            }
+            set
+            {
+                Interop.Elementary.elm_config_focus_highlight_animate_set(value);
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the system mirrored mode.
+        /// This determines the default mirrored mode of widgets.
+        /// </summary>
+        public static bool IsMirrored
+        {
+            get
+            {
+                return Interop.Elementary.elm_config_mirrored_get();
+            }
+            set
+            {
+                Interop.Elementary.elm_config_mirrored_set(value);
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the enable status of the focus highlight.
+        /// </summary>
+        public static bool CanFocusHighlight
+        {
+            get
+            {
+                return Interop.Elementary.elm_config_focus_highlight_enabled_get();
+            }
+            set
+            {
+                Interop.Elementary.elm_config_focus_highlight_enabled_set(value);
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the base scale of the application.
+        /// </summary>
+        public static double AppBaseScale
+        {
+            get
+            {
+                return Interop.Elementary.elm_app_base_scale_get();
+            }
+            set
+            {
+                Interop.Elementary.elm_app_base_scale_set(value);
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the global scaling factor.
+        /// </summary>
+        public static double Scale
+        {
+            get
+            {
+                return Interop.Elementary.elm_config_scale_get();
+            }
+            set
+            {
+                Interop.Elementary.elm_config_scale_set(value);
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the amount of inertia a scroller imposes during region bring animations.
+        /// </summary>
+        public static double BringInScrollFriction
+        {
+            get
+            {
+                return Interop.Elementary.elm_config_scroll_bring_in_scroll_friction_get();
+            }
+            set
+            {
+                Interop.Elementary.elm_config_scroll_bring_in_scroll_friction_set(value);
+            }
+        }
+
+        /// <summary>
         /// Initializes Elementary.
         /// </summary>
         public static void Initialize()
@@ -53,36 +160,101 @@ namespace ElmSharp
         /// <summary>
         /// Prepends a theme overlay to the list of overlays.
         /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public static void ThemeOverlay()
         {
             if (File.Exists(_themeFilePath))
             {
-                Interop.Elementary.elm_theme_overlay_add(IntPtr.Zero, _themeFilePath);
+                AddThemeOverlay(_themeFilePath);
             }
         }
 
         /// <summary>
+        /// Prepends a theme overlay to the list of overlays
+        /// </summary>
+        /// <param name="filePath">The Edje file path to be used.</param>
+        public static void AddThemeOverlay(string filePath)
+        {
+            Interop.Elementary.elm_theme_overlay_add(IntPtr.Zero, filePath);
+        }
+
+        /// <summary>
+        /// Delete a theme overlay from the list of overlays
+        /// </summary>
+        /// <param name="filePath">The name of the theme overlay.</param>
+        public static void DeleteThemeOverlay(string filePath)
+        {
+            Interop.Elementary.elm_theme_overlay_del(IntPtr.Zero, filePath);
+        }
+
+        /// <summary>
+        /// Free a theme
+        /// </summary>
+        public static void FreeTheme()
+        {
+            Interop.Elementary.elm_theme_free(IntPtr.Zero);
+        }
+
+        /// <summary>
+        /// Set the theme search order for the given theme
+        /// </summary>
+        /// <param name="theme">Theme search string</param>
+        /// <remarks>This sets the search string for the theme in path-notation from first theme to search, to last, delimited by the : character. Example:"shiny:/path/to/file.edj:default"</remarks>
+        public static void SetTheme(string theme)
+        {
+            Interop.Elementary.elm_theme_set(IntPtr.Zero, theme);
+        }
+
+        /// <summary>
+        /// Flush the current theme.
+        /// </summary>
+        public static void FlushTheme()
+        {
+            Interop.Elementary.elm_theme_flush(IntPtr.Zero);
+        }
+
+        /// <summary>
+        /// This flushes all themes (default and specific ones).
+        /// </summary>
+        public static void FlushAllThemes()
+        {
+            Interop.Elementary.elm_theme_full_flush();
+        }
+
+        /// <summary>
+        /// Deletes a theme extension from the list of extensions.
+        /// </summary>
+        /// <param name="item">The name of the theme extension.</param>
+        public static void DeleteThemeExtention(string item)
+        {
+            Interop.Elementary.elm_theme_extension_del(IntPtr.Zero, item);
+        }
+
+        /// <summary>
         /// Gets the amount of inertia a scroller imposes during region bring animations.
         /// </summary>
         /// <returns>The bring in scroll friction</returns>
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public static double GetSystemScrollFriction()
         {
-            return Interop.Elementary.elm_config_scroll_bring_in_scroll_friction_get();
+            return BringInScrollFriction;
         }
 
         /// <summary>
         /// Sets the amount of inertia a scroller imposes during region bring animations.
         /// </summary>
         /// <param name="timeSet">The bring in scroll friction</param>
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public static void SetSystemScrollFriction(double timeSet)
         {
-            Interop.Elementary.elm_config_scroll_bring_in_scroll_friction_set(timeSet);
+            BringInScrollFriction = timeSet;
         }
 
         /// <summary>
         /// Gets Elementary's profile in use.
         /// </summary>
         /// <returns>The profile name</returns>
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public static string GetProfile()
         {
             return Interop.Elementary.elm_config_profile_get();
@@ -93,9 +265,10 @@ namespace ElmSharp
         /// This sets the globally configured scaling factor that is applied to all objects.
         /// </summary>
         /// <param name="scale">The scaling factor to set</param>
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public static void SetScale(double scale)
         {
-            Interop.Elementary.elm_config_scale_set(scale);
+            Scale = scale;
         }
 
         /// <summary>
@@ -103,9 +276,55 @@ namespace ElmSharp
         /// This gets the globally configured scaling factor that is applied to all objects.
         /// </summary>
         /// <returns>The scaling factor</returns>
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public static double GetScale()
         {
-            return Interop.Elementary.elm_config_scale_get();
+            return Scale;
+        }
+
+        /// <summary>
+        /// Flush all caches.
+        /// Frees all data that was in cache and is not currently being used to reduce memory usage. This frees Edje's, Evas' and Eet's cache.
+        /// </summary>
+        public static void FlushAllCashe()
+        {
+            Interop.Elementary.elm_cache_all_flush();
+        }
+
+        /// <summary>
+        /// Changes the language of the current application.
+        /// </summary>
+        /// <param name="language">The language to set, must be the full name of the locale.</param>
+        public static void SetLanguage(string language)
+        {
+            Interop.Elementary.elm_language_set(language);
+        }
+
+        /// <summary>
+        /// Sets a new policy's value (for a given policy group/identifier).
+        /// </summary>
+        /// <param name="policy">The policy identifier</param>
+        /// <param name="value">The policy value, which depends on the identifier</param>
+        /// <returns></returns>
+        public static bool SetPolicy(uint policy, int value)
+        {
+            return Interop.Elementary.elm_policy_set(policy, value);
+        }
+
+        /// <summary>
+        /// Reloads Elementary's configuration, bounded to the current selected profile.
+        /// </summary>
+        public static void ReloadConfig()
+        {
+            Interop.Elementary.elm_config_reload();
+        }
+
+        /// <summary>
+        /// Flushes all config settings and then applies those settings to all applications using elementary on the current display.
+        /// </summary>
+        public static void FlushAllConfig()
+        {
+            Interop.Elementary.elm_config_all_flush();
         }
     }
-}
+}
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
index be36d41..c3079e2
@@ -15,6 +15,7 @@
  */
 
 using System;
+using System.ComponentModel;
 
 namespace ElmSharp
 {
@@ -26,16 +27,17 @@ namespace ElmSharp
         /// <summary>
         /// Gets or sets the amount of inertia a scroller imposes during region bring animations.
         /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public static double BringInScrollFriction
         {
             get
             {
-                return Interop.Elementary.elm_config_scroll_bring_in_scroll_friction_get();
+                return Elementary.BringInScrollFriction;
             }
             set
             {
-                Interop.Elementary.elm_config_scroll_bring_in_scroll_friction_set(value);
+                Elementary.BringInScrollFriction = value;
             }
         }
     }
-}
+}
\ No newline at end of file
index e592713..2c0680e 100644 (file)
@@ -153,7 +153,7 @@ internal static partial class Interop
         internal static extern void elm_app_base_scale_set(double base_scale);
 
         [DllImport(Libraries.Elementary)]
-        internal static extern double elm_app_base_scale_set();
+        internal static extern double elm_app_base_scale_get();
 
         [DllImport(Libraries.Elementary)]
         internal static extern IntPtr elm_conformant_add(IntPtr obj);
old mode 100755 (executable)
new mode 100644 (file)
index 1bbb5b4..2640b33
@@ -40,6 +40,7 @@ namespace ElmSharp.Test
             "Vodafone (Satellite)",
             "Sample Text"
         };
+
         GenList list;
         Box box;
         Box box2;
@@ -126,7 +127,7 @@ namespace ElmSharp.Test
             list.ScrollAnimationStopped -= List_ScrollAnimationStopped;
 
             EcoreAnimator.RemoveAnimator(_anim);
-            ElmScrollConfig.BringInScrollFriction = _frameSet;
+            Elementary.BringInScrollFriction = _frameSet;
 
             FrameFPS = _frameCount / TimeSet;
             AnimatorFPS = _ecoreCount / TimeSet;
@@ -170,8 +171,8 @@ namespace ElmSharp.Test
             list.RenderPost -= List_RenderPost;
             _enteringSpeed = (EcoreAnimator.GetCurrentTime() - _enteringSpeed) * 1000;
 
-            _frameSet = ElmScrollConfig.BringInScrollFriction;
-            ElmScrollConfig.BringInScrollFriction = TimeSet;
+            _frameSet = Elementary.BringInScrollFriction;
+            Elementary.BringInScrollFriction = TimeSet;
             list.ScrollTo(ItemTarget, ScrollToPosition.In, true);
         }
 
@@ -200,4 +201,4 @@ namespace ElmSharp.Test
             list.RenderPost += List_RenderPost;
         }
     }
-}
+}
\ No newline at end of file