2 using System.Collections.Generic;
6 public abstract class Widget : EvasObject
8 Dictionary<string, EvasObject> _partContents = new Dictionary<string, EvasObject>();
10 Interop.SmartEvent _focused;
11 Interop.SmartEvent _unfocused;
17 internal Widget(EvasObject parent) : base(parent)
19 _focused = new Interop.SmartEvent(this, Handle, "focused");
20 _focused.On += (s, e) => Focused?.Invoke(this, EventArgs.Empty);
22 _unfocused = new Interop.SmartEvent(this, Handle, "unfocused");
23 _unfocused.On += (s, e) => Unfocused?.Invoke(this, EventArgs.Empty);
27 public event EventHandler Focused;
29 public event EventHandler Unfocused;
35 return !Interop.Elementary.elm_object_disabled_get(Handle);
39 Interop.Elementary.elm_object_disabled_set(Handle, !value);
47 return Interop.Elementary.elm_object_style_get(Handle);
51 Interop.Elementary.elm_object_style_set(Handle, value);
59 return Interop.Elementary.elm_object_focus_get(Handle);
67 return Interop.Elementary.elm_object_part_text_get(Handle);
71 Interop.Elementary.elm_object_part_text_set(Handle, IntPtr.Zero, value);
75 public void SetFocus(bool isFocus)
77 Interop.Elementary.elm_object_focus_set(Handle, isFocus);
80 public void SetPartContent(string part, EvasObject content)
82 SetPartContent(part, content, false);
85 public void SetPartContent(string part, EvasObject content, bool preserveOldContent)
87 if (preserveOldContent)
89 Interop.Elementary.elm_object_part_content_unset(Handle, part);
91 Interop.Elementary.elm_object_part_content_set(Handle, part, content);
93 _partContents[part ?? "__default__"] = content;
96 public void SetContent(EvasObject content)
98 SetContent(content, false);
101 public void SetContent(EvasObject content, bool preserveOldContent)
103 if (preserveOldContent)
105 Interop.Elementary.elm_object_content_unset(Handle);
108 Interop.Elementary.elm_object_content_set(Handle, content);
109 _partContents["___default__"] = content;
112 public void SetPartText(string part, string text)
114 Interop.Elementary.elm_object_part_text_set(Handle, part, text);
117 public string GetPartText(string part)
119 return Interop.Elementary.elm_object_part_text_get(Handle, part);
122 public void SetPartColor(string part, Color color)
124 Interop.Elementary.elm_object_part_color_set(Handle, part, color.R, color.G, color.B, color.A);
127 internal IntPtr GetPartContent(string part)
129 return Interop.Elementary.elm_object_part_content_get(Handle, part);