1 //------------------------------------------------------------------------------
4 // This file was automatically generated by SWIG (http://www.swig.org).
7 // Do not make changes to this file unless you know what you are doing--modify
8 // the SWIG interface file instead.
9 //------------------------------------------------------------------------------
14 using System.Runtime.InteropServices;
16 public class StyleManager : BaseHandle {
17 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
19 internal StyleManager(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.StyleManager_SWIGUpcast(cPtr), cMemoryOwn) {
20 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
23 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(StyleManager obj) {
24 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
28 DisposeQueue.Instance.Add(this);
31 public override void Dispose() {
32 if (!Window.IsInstalled()) {
33 DisposeQueue.Instance.Add(this);
38 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
41 NDalicPINVOKE.delete_StyleManager(swigCPtr);
43 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
45 global::System.GC.SuppressFinalize(this);
54 * @brief Event arguments that passed via StyleChanged signal
57 public class StyleChangedEventArgs : EventArgs
59 private StyleManager _styleManager;
60 private Dali.StyleChangeType _styleChange;
63 * @brief StyleManager - is the StyleManager that informs applications of system theme change,
64 * and supports application theme change at runtime.
67 public StyleManager StyleManager
75 _styleManager = value;
80 * @brief StyleChange - contains Style change information (default font changed or
81 * default font size changed or theme has changed)
84 public Dali.StyleChangeType StyleChange
98 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
99 private delegate void StyleChangedCallbackDelegate(IntPtr styleManager, Dali.StyleChangeType styleChange);
100 private DaliEventHandler<object,StyleChangedEventArgs> _styleManagerStyleChangedEventHandler;
101 private StyleChangedCallbackDelegate _styleManagerStyleChangedCallbackDelegate;
104 * @brief Event for StyleChanged signal which can be used to subscribe/unsubscribe the
105 * event handler (in the type of StyleChangedEventHandler-DaliEventHandler<object,StyleChangedEventArgs>)
106 * provided by the user. StyleChanged signal is is emitted after the style (e.g. theme/font change) has changed
107 * and the controls have been informed.
109 public event DaliEventHandler<object,StyleChangedEventArgs> StyleChanged
115 // Restricted to only one listener
116 if (_styleManagerStyleChangedEventHandler == null)
118 _styleManagerStyleChangedEventHandler += value;
120 _styleManagerStyleChangedCallbackDelegate = new StyleChangedCallbackDelegate(OnStyleChanged);
121 this.StyleChangedSignal().Connect(_styleManagerStyleChangedCallbackDelegate);
130 if (_styleManagerStyleChangedEventHandler != null)
132 this.StyleChangedSignal().Disconnect(_styleManagerStyleChangedCallbackDelegate);
135 _styleManagerStyleChangedEventHandler -= value;
140 // Callback for StyleManager StyleChangedsignal
141 private void OnStyleChanged(IntPtr styleManager, Dali.StyleChangeType styleChange)
143 StyleChangedEventArgs e = new StyleChangedEventArgs();
145 // Populate all members of "e" (StyleChangedEventArgs) with real data
146 e.StyleManager = StyleManager.GetStyleManagerFromPtr( styleManager );
147 e.StyleChange = styleChange;
149 if (_styleManagerStyleChangedEventHandler != null)
151 //here we send all data to user event handlers
152 _styleManagerStyleChangedEventHandler(this, e);
156 public static StyleManager GetStyleManagerFromPtr(global::System.IntPtr cPtr) {
157 StyleManager ret = new StyleManager(cPtr, false);
158 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
163 public StyleManager() : this(NDalicPINVOKE.new_StyleManager(), true) {
164 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
167 public static StyleManager Get() {
168 StyleManager ret = new StyleManager(NDalicPINVOKE.StyleManager_Get(), true);
169 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
173 public void ApplyTheme(string themeFile) {
174 NDalicPINVOKE.StyleManager_ApplyTheme(swigCPtr, themeFile);
175 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
178 public void ApplyDefaultTheme() {
179 NDalicPINVOKE.StyleManager_ApplyDefaultTheme(swigCPtr);
180 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
183 public void AddConstant(string key, Property.Value value) {
184 NDalicPINVOKE.StyleManager_SetStyleConstant(swigCPtr, key, Property.Value.getCPtr(value));
185 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
188 public bool GetConstant(string key, Property.Value valueOut) {
189 bool ret = NDalicPINVOKE.StyleManager_GetStyleConstant(swigCPtr, key, Property.Value.getCPtr(valueOut));
190 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
194 public void ApplyStyle(View control, string jsonFileName, string styleName) {
195 NDalicPINVOKE.StyleManager_ApplyStyle(swigCPtr, View.getCPtr(control), jsonFileName, styleName);
196 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
199 internal StyleChangedSignal StyleChangedSignal() {
200 StyleChangedSignal ret = new StyleChangedSignal(NDalicPINVOKE.StyleManager_StyleChangedSignal(swigCPtr), false);
201 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();