1 /** Copyright (c) 2017 Samsung Electronics Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
17 namespace Tizen.NUI.UIComponents
21 using System.Runtime.InteropServices;
22 using Tizen.NUI.BaseComponents;
25 /// The Popup widget provides a configurable pop-up dialog with built-in layout of three main fields.
27 public class Popup : View
29 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
31 internal Popup(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Popup_SWIGUpcast(cPtr), cMemoryOwn)
33 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
36 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Popup obj)
38 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
42 protected override void Dispose(DisposeTypes type)
49 if (type == DisposeTypes.Explicit)
52 //Release your own managed resources here.
53 //You should release all of your own disposable objects here.
57 //Release your own unmanaged resources here.
58 //You should not access any managed member here except static instance.
59 //because the execution order of Finalizes is non-deterministic.
61 if (swigCPtr.Handle != global::System.IntPtr.Zero)
66 NDalicPINVOKE.delete_Popup(swigCPtr);
68 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
78 /// Event arguments that passed via OutsideTouchedEvent
80 public class TouchedOutsideEventArgs : EventArgs
85 /// Event arguments that passed via ShowingEventArgs
87 public class ShowingEventArgs : EventArgs
92 /// Event arguments that passed via ShownEventArgs
94 public class ShownEventArgs : EventArgs
99 /// Event arguments that passed via HidingEventArgs
101 public class HidingEventArgs : EventArgs
106 /// Event arguments that passed via HiddenEventArgs
108 public class HiddenEventArgs : EventArgs
112 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
113 private delegate void OutsideTouchedEventCallbackDelegate();
114 private EventHandler<TouchedOutsideEventArgs> _popUpOutsideTouchedEventHandler;
115 private OutsideTouchedEventCallbackDelegate _popUpOutsideTouchedEventCallbackDelegate;
117 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
118 private delegate void ShowingEventCallbackDelegate();
119 private EventHandler<ShowingEventArgs> _popUpShowingEventHandler;
120 private ShowingEventCallbackDelegate _popUpShowingEventCallbackDelegate;
122 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
123 private delegate void ShownEventCallbackDelegate();
124 private EventHandler<ShownEventArgs> _popUpShownEventHandler;
125 private ShownEventCallbackDelegate _popUpShownEventCallbackDelegate;
127 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
128 private delegate void HidingEventCallbackDelegate();
129 private EventHandler<HidingEventArgs> _popUpHidingEventHandler;
130 private HidingEventCallbackDelegate _popUpHidingEventCallbackDelegate;
132 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
133 private delegate void HiddenEventCallbackDelegate();
134 private EventHandler<HiddenEventArgs> _popUpHiddenEventHandler;
135 private HiddenEventCallbackDelegate _popUpHiddenEventCallbackDelegate;
138 /// Event is sent when user has touched outside of the Dialog.
140 public event EventHandler<TouchedOutsideEventArgs> TouchedOutside
144 if (_popUpOutsideTouchedEventHandler == null)
146 _popUpOutsideTouchedEventCallbackDelegate = (OnOutsideTouched);
147 OutsideTouchedSignal().Connect(_popUpOutsideTouchedEventCallbackDelegate);
149 _popUpOutsideTouchedEventHandler += value;
153 _popUpOutsideTouchedEventHandler -= value;
154 if (_popUpOutsideTouchedEventHandler == null && OutsideTouchedSignal().Empty() == false)
156 this.OutsideTouchedSignal().Disconnect(_popUpOutsideTouchedEventCallbackDelegate);
161 // Callback for Popup OutsideTouchedSignal
162 private void OnOutsideTouched()
164 TouchedOutsideEventArgs e = new TouchedOutsideEventArgs();
166 if (_popUpOutsideTouchedEventHandler != null)
168 //here we send all data to user event handlers
169 _popUpOutsideTouchedEventHandler(this, e);
174 /// Event is sent when the Popup is starting to be shown.
176 public event EventHandler<ShowingEventArgs> Showing
180 if (_popUpShowingEventHandler == null)
182 _popUpShowingEventCallbackDelegate = (OnShowing);
183 ShowingSignal().Connect(_popUpShowingEventCallbackDelegate);
185 _popUpShowingEventHandler += value;
189 _popUpShowingEventHandler -= value;
190 if (_popUpShowingEventHandler == null && ShowingSignal().Empty() == false)
192 ShowingSignal().Disconnect(_popUpShowingEventCallbackDelegate);
197 // Callback for ShowingSignal
198 private void OnShowing()
200 ShowingEventArgs e = new ShowingEventArgs();
202 if (_popUpShowingEventHandler != null)
204 //here we send all data to user event handlers
205 _popUpShowingEventHandler(this, e);
211 /// Event is sent when the Popup has been fully displayed.
213 public event EventHandler<ShownEventArgs> Shown
217 if (_popUpShownEventHandler == null)
219 _popUpShownEventCallbackDelegate = (OnShown);
220 ShownSignal().Connect(_popUpShownEventCallbackDelegate);
222 _popUpShownEventHandler += value;
226 _popUpShownEventHandler -= value;
227 if (_popUpShownEventHandler == null && ShownSignal().Empty() == false)
229 ShownSignal().Disconnect(_popUpShownEventCallbackDelegate);
234 // Callback for ShownSignal
235 private void OnShown()
237 ShownEventArgs e = new ShownEventArgs();
239 if (_popUpShownEventHandler != null)
241 //here we send all data to user event handlers
242 _popUpShownEventHandler(this, e);
247 /// Event is sent when the Popup is starting to be hidden.
249 public event EventHandler<HidingEventArgs> Hiding
253 if (_popUpHidingEventHandler == null)
255 _popUpHidingEventCallbackDelegate = (OnHiding);
256 HidingSignal().Connect(_popUpHidingEventCallbackDelegate);
258 _popUpHidingEventHandler += value;
262 _popUpHidingEventHandler -= value;
263 if (_popUpHidingEventHandler == null && HidingSignal().Empty() == false)
265 HidingSignal().Disconnect(_popUpHidingEventCallbackDelegate);
270 // Callback for HidingSignal
271 private void OnHiding()
273 HidingEventArgs e = new HidingEventArgs();
275 if (_popUpHidingEventHandler != null)
277 //here we send all data to user event handlers
278 _popUpHidingEventHandler(this, e);
283 /// Event is sent when the Popup has been completely hidden.
285 public event EventHandler<HiddenEventArgs> Hidden
289 if (_popUpHiddenEventHandler == null)
291 _popUpHiddenEventCallbackDelegate = (OnHidden);
292 HiddenSignal().Connect(_popUpHiddenEventCallbackDelegate);
294 _popUpHiddenEventHandler += value;
298 _popUpHiddenEventHandler -= value;
299 if (_popUpHiddenEventHandler == null && HiddenSignal().Empty() == false)
301 HiddenSignal().Disconnect(_popUpHiddenEventCallbackDelegate);
306 // Callback for HiddenSignal
307 private void OnHidden()
309 HiddenEventArgs e = new HiddenEventArgs();
311 if (_popUpHiddenEventHandler != null)
313 //here we send all data to user event handlers
314 _popUpHiddenEventHandler(this, e);
318 internal class Property
320 internal static readonly int TITLE = NDalicPINVOKE.Popup_Property_TITLE_get();
321 internal static readonly int CONTENT = NDalicPINVOKE.Popup_Property_CONTENT_get();
322 internal static readonly int FOOTER = NDalicPINVOKE.Popup_Property_FOOTER_get();
323 internal static readonly int DISPLAY_STATE = NDalicPINVOKE.Popup_Property_DISPLAY_STATE_get();
324 internal static readonly int TOUCH_TRANSPARENT = NDalicPINVOKE.Popup_Property_TOUCH_TRANSPARENT_get();
325 internal static readonly int TAIL_VISIBILITY = NDalicPINVOKE.Popup_Property_TAIL_VISIBILITY_get();
326 internal static readonly int TAIL_POSITION = NDalicPINVOKE.Popup_Property_TAIL_POSITION_get();
327 internal static readonly int CONTEXTUAL_MODE = NDalicPINVOKE.Popup_Property_CONTEXTUAL_MODE_get();
328 internal static readonly int ANIMATION_DURATION = NDalicPINVOKE.Popup_Property_ANIMATION_DURATION_get();
329 internal static readonly int ANIMATION_MODE = NDalicPINVOKE.Popup_Property_ANIMATION_MODE_get();
330 internal static readonly int ENTRY_ANIMATION = NDalicPINVOKE.Popup_Property_ENTRY_ANIMATION_get();
331 internal static readonly int EXIT_ANIMATION = NDalicPINVOKE.Popup_Property_EXIT_ANIMATION_get();
332 internal static readonly int AUTO_HIDE_DELAY = NDalicPINVOKE.Popup_Property_AUTO_HIDE_DELAY_get();
333 internal static readonly int BACKING_ENABLED = NDalicPINVOKE.Popup_Property_BACKING_ENABLED_get();
334 internal static readonly int BACKING_COLOR = NDalicPINVOKE.Popup_Property_BACKING_COLOR_get();
335 internal static readonly int POPUP_BACKGROUND_IMAGE = NDalicPINVOKE.Popup_Property_POPUP_BACKGROUND_IMAGE_get();
336 internal static readonly int POPUP_BACKGROUND_BORDER = NDalicPINVOKE.Popup_Property_POPUP_BACKGROUND_BORDER_get();
337 internal static readonly int TAIL_UP_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_UP_IMAGE_get();
338 internal static readonly int TAIL_DOWN_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_DOWN_IMAGE_get();
339 internal static readonly int TAIL_LEFT_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_LEFT_IMAGE_get();
340 internal static readonly int TAIL_RIGHT_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_RIGHT_IMAGE_get();
344 /// Create the Popup.
346 public Popup() : this(NDalicPINVOKE.Popup_New(), true)
348 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
352 [Obsolete("Please do not use! this will be deprecated")]
353 public new static Popup DownCast(BaseHandle handle)
355 Popup ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as Popup;
356 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
361 /// Sets a title for this Popup.
363 /// <param name="titleView">The actor to set a title</param>
364 public void SetTitle(View titleView)
366 NDalicPINVOKE.Popup_SetTitle(swigCPtr, View.getCPtr(titleView));
367 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
370 internal View GetTitle()
372 IntPtr cPtr = NDalicPINVOKE.Popup_GetTitle(swigCPtr);
373 View ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as View;
375 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
380 /// Sets the content actor.
382 /// <param name="content">The actor to use</param>
383 public void SetContent(View content)
385 NDalicPINVOKE.Popup_SetContent(swigCPtr, View.getCPtr(content));
386 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
389 internal View GetContent()
391 IntPtr cPtr = NDalicPINVOKE.Popup_GetContent(swigCPtr);
392 View ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as View;
394 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
399 /// Sets the actor to use for a footer in this Popup.
401 /// <param name="footer">The footer actor to be added to this Popup</param>
402 public void SetFooter(View footer)
404 NDalicPINVOKE.Popup_SetFooter(swigCPtr, View.getCPtr(footer));
405 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
408 internal View GetFooter()
410 IntPtr cPtr = NDalicPINVOKE.Popup_GetFooter(swigCPtr);
411 View ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as View;
413 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
418 /// Sets the display state of Popup.<br>
419 /// There are 4 total display states.<br>
420 /// Only 2 can be set, but all four can be read for better inspection of the current popup state.<br>
422 /// The other two states are getable, but not setable and are there for consistency.<br>
424 /// | Value | Setting the state | Getting the state |<br>
425 /// |----------|--------------------------------|--------------------------------|<br>
426 /// | SHOWN | Show the popup | The popup is fully shown |<br>
427 /// | HIDDEN | Hide the popup | The popup is fully hidden |<br>
428 /// | SHOWING | | The popup is transitioning in |<br>
429 /// | HIDING | | The popup is transitioning out |<br>
431 /// All 4 state changes cause notifications via 4 respective signals that can be connected to.<br>
433 /// <param name="displayState">The desired display state to change to</param>
434 public void SetDisplayState(Popup.DisplayStateType displayState)
436 NDalicPINVOKE.Popup_SetDisplayState(swigCPtr, (int)displayState);
437 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
440 internal Popup.DisplayStateType GetDisplayState()
442 Popup.DisplayStateType ret = (Popup.DisplayStateType)NDalicPINVOKE.Popup_GetDisplayState(swigCPtr);
443 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
447 internal VoidSignal OutsideTouchedSignal()
449 VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_OutsideTouchedSignal(swigCPtr), false);
450 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
454 internal VoidSignal ShowingSignal()
456 VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_ShowingSignal(swigCPtr), false);
457 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
461 internal VoidSignal ShownSignal()
463 VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_ShownSignal(swigCPtr), false);
464 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
468 internal VoidSignal HidingSignal()
470 VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_HidingSignal(swigCPtr), false);
471 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
475 internal VoidSignal HiddenSignal()
477 VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_HiddenSignal(swigCPtr), false);
478 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
483 /// The display states of the Popup.
485 public enum DisplayStateType
494 /// The animation mode within popup.<br>
495 /// Choose from a predefined mode or "CUSTOM" to use the ANIMATION_IN and ANIMATION_OUT properties.<br>
497 public enum AnimationModeType
506 /// Types of contextual layout.<br>
507 /// The Popup is positioned adjacent to it's parent in the direction specified by this mode.<br>
508 /// NON_CONTEXTUAL disables any contextual positioning.<br>
510 public enum ContextualModeType
522 public PropertyMap Title
526 PropertyMap temp = new PropertyMap();
527 GetProperty(Popup.Property.TITLE).Get(temp);
532 SetProperty(Popup.Property.TITLE, new Tizen.NUI.PropertyValue(value));
538 public PropertyMap Content
542 PropertyMap temp = new PropertyMap();
543 GetProperty(Popup.Property.CONTENT).Get(temp);
548 SetProperty(Popup.Property.CONTENT, new Tizen.NUI.PropertyValue(value));
554 public PropertyMap Footer
558 PropertyMap temp = new PropertyMap();
559 GetProperty(Popup.Property.FOOTER).Get(temp);
564 SetProperty(Popup.Property.FOOTER, new Tizen.NUI.PropertyValue(value));
568 /// Popup display state.
570 public DisplayStateType DisplayState
575 if (GetProperty(Popup.Property.DISPLAY_STATE).Get(out temp) == false)
577 NUILog.Error("DisplayState get error!");
582 return DisplayStateType.Showing;
584 return DisplayStateType.Shown;
586 return DisplayStateType.Hiding;
588 return DisplayStateType.Hidden;
590 return DisplayStateType.Hidden;
595 string valueToString = "";
598 case DisplayStateType.Showing:
600 valueToString = "SHOWING";
603 case DisplayStateType.Shown:
605 valueToString = "SHOWN";
608 case DisplayStateType.Hiding:
610 valueToString = "HIDING";
613 case DisplayStateType.Hidden:
615 valueToString = "HIDDEN";
620 valueToString = "HIDDEN";
624 SetProperty(Popup.Property.DISPLAY_STATE, new Tizen.NUI.PropertyValue(valueToString));
628 /// Touch transparent.
630 public bool TouchTransparent
635 GetProperty(Popup.Property.TOUCH_TRANSPARENT).Get(out temp);
640 SetProperty(Popup.Property.TOUCH_TRANSPARENT, new Tizen.NUI.PropertyValue(value));
644 /// Popup tail visibility.
646 public bool TailVisibility
651 GetProperty(Popup.Property.TAIL_VISIBILITY).Get(out temp);
656 SetProperty(Popup.Property.TAIL_VISIBILITY, new Tizen.NUI.PropertyValue(value));
660 /// Popup tail position.
662 public Vector3 TailPosition
666 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
667 GetProperty(Popup.Property.TAIL_POSITION).Get(temp);
672 SetProperty(Popup.Property.TAIL_POSITION, new Tizen.NUI.PropertyValue(value));
678 public ContextualModeType ContextualMode
683 if (GetProperty(Popup.Property.CONTEXTUAL_MODE).Get(out temp) == false)
685 NUILog.Error("ContextualMode get error!");
689 case "NON_CONTEXTUAL":
690 return ContextualModeType.NonContextual;
692 return ContextualModeType.Above;
694 return ContextualModeType.Rright;
696 return ContextualModeType.Below;
698 return ContextualModeType.Left;
700 return ContextualModeType.Below;
705 string valueToString = "";
708 case ContextualModeType.NonContextual:
710 valueToString = "NON_CONTEXTUAL";
713 case ContextualModeType.Above:
715 valueToString = "ABOVE";
718 case ContextualModeType.Rright:
720 valueToString = "RIGHT";
723 case ContextualModeType.Below:
725 valueToString = "BELOW";
728 case ContextualModeType.Left:
730 valueToString = "LEFT";
735 valueToString = "BELOW";
739 SetProperty(Popup.Property.CONTEXTUAL_MODE, new Tizen.NUI.PropertyValue(valueToString));
743 /// Animation duration.
745 public float AnimationDuration
750 GetProperty(Popup.Property.ANIMATION_DURATION).Get(out temp);
755 SetProperty(Popup.Property.ANIMATION_DURATION, new Tizen.NUI.PropertyValue(value));
761 public AnimationModeType AnimationMode
766 if (GetProperty(Popup.Property.ANIMATION_MODE).Get(out temp) == false)
768 NUILog.Error("AnimationMode get error!");
773 return AnimationModeType.None;
775 return AnimationModeType.Zoom;
777 return AnimationModeType.Fade;
779 return AnimationModeType.Custom;
781 return AnimationModeType.Fade;
786 string valueToString = "";
789 case AnimationModeType.None:
791 valueToString = "NONE";
794 case AnimationModeType.Zoom:
796 valueToString = "ZOOM";
799 case AnimationModeType.Fade:
801 valueToString = "FADE";
804 case AnimationModeType.Custom:
806 valueToString = "CUSTOM";
811 valueToString = "FADE";
815 SetProperty(Popup.Property.ANIMATION_MODE, new Tizen.NUI.PropertyValue(valueToString));
821 public PropertyMap EntryAnimation
825 PropertyMap temp = new PropertyMap();
826 GetProperty(Popup.Property.ENTRY_ANIMATION).Get(temp);
831 SetProperty(Popup.Property.ENTRY_ANIMATION, new Tizen.NUI.PropertyValue(value));
837 public PropertyMap ExitAnimation
841 PropertyMap temp = new PropertyMap();
842 GetProperty(Popup.Property.EXIT_ANIMATION).Get(temp);
847 SetProperty(Popup.Property.EXIT_ANIMATION, new Tizen.NUI.PropertyValue(value));
853 public int AutoHideDelay
858 GetProperty(Popup.Property.AUTO_HIDE_DELAY).Get(out temp);
863 SetProperty(Popup.Property.AUTO_HIDE_DELAY, new Tizen.NUI.PropertyValue(value));
869 public bool BackingEnabled
874 GetProperty(Popup.Property.BACKING_ENABLED).Get(out temp);
879 SetProperty(Popup.Property.BACKING_ENABLED, new Tizen.NUI.PropertyValue(value));
885 public Vector4 BackingColor
889 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
890 GetProperty(Popup.Property.BACKING_COLOR).Get(temp);
895 SetProperty(Popup.Property.BACKING_COLOR, new Tizen.NUI.PropertyValue(value));
899 /// Background image.
901 public string PopupBackgroundImage
906 GetProperty(Popup.Property.POPUP_BACKGROUND_IMAGE).Get(out temp);
911 SetProperty(Popup.Property.POPUP_BACKGROUND_IMAGE, new Tizen.NUI.PropertyValue(value));
915 /// Background border.
917 public Rectangle PopupBackgroundBorder
921 Rectangle temp = new Rectangle(0, 0, 0, 0);
922 GetProperty(Popup.Property.POPUP_BACKGROUND_BORDER).Get(temp);
927 SetProperty(Popup.Property.POPUP_BACKGROUND_BORDER, new Tizen.NUI.PropertyValue(value));
933 public string TailUpImage
938 GetProperty(Popup.Property.TAIL_UP_IMAGE).Get(out temp);
943 SetProperty(Popup.Property.TAIL_UP_IMAGE, new Tizen.NUI.PropertyValue(value));
949 public string TailDownImage
954 GetProperty(Popup.Property.TAIL_DOWN_IMAGE).Get(out temp);
959 SetProperty(Popup.Property.TAIL_DOWN_IMAGE, new Tizen.NUI.PropertyValue(value));
965 public string TailLeftImage
970 GetProperty(Popup.Property.TAIL_LEFT_IMAGE).Get(out temp);
975 SetProperty(Popup.Property.TAIL_LEFT_IMAGE, new Tizen.NUI.PropertyValue(value));
979 /// Tail right image.
981 public string TailRightImage
986 GetProperty(Popup.Property.TAIL_RIGHT_IMAGE).Get(out temp);
991 SetProperty(Popup.Property.TAIL_RIGHT_IMAGE, new Tizen.NUI.PropertyValue(value));