namespace ElmSharp
{
/// <summary>
- /// Struct defining a 3-D point.
+ /// The Point3D is a Struct that defining a 3-D point.
/// </summary>
public struct Point3D : IEquatable<Point3D>
{
}
/// <summary>
- /// This Popup is a widget that is an enhancement of Notify.
+ /// The Popup is a widget that is an enhancement of Notify.
/// In addition to content area, there are two optional sections, namely title area and action area.
/// </summary>
public class Popup : Layout
namespace ElmSharp
{
+ /// <summary>
+ /// The PopupItem is a class that including icon and text.
+ /// </summary>
public class PopupItem : ItemObject
{
internal PopupItem(string text, EvasObject icon) : base(IntPtr.Zero)
Icon = icon;
}
+ /// <summary>
+ /// Gets the text label of popupitem.Return value is string.
+ /// </summary>
public string Text { get; internal set; }
+
+ /// <summary>
+ /// Gets the icon EvasObject of popupitem.
+ /// </summary>
public EvasObject Icon { get; internal set; }
}
}
namespace ElmSharp
{
/// <summary>
- /// A value that represent rectangluar space.
+ /// The Rect is a struct that represent rectangluar space.
/// </summary>
public struct Rect : IEquatable<Rect>
{
-
+ /// <summary>
+ /// Creates and initializes a new instance of the Rect class.
+ /// </summary>
+ /// <param name="x">X axis value.</param>
+ /// <param name="y">Y axis value.</param>
+ /// <param name="w">Width value.</param>
+ /// <param name="h">Height value.</param>
public Rect(int x, int y, int w, int h)
{
X = x;
/// </summary>
public Size Size { get { return new Size { Width = Width, Height = Height }; } }
- /// <summary>
- /// A human-readable representation of the <see cref="T:Tizen.UI.Rectangle" />.
- /// </summary>
- /// <returns>The string is formatted as "{{X={0} Y={1} Width={2} Height={3}}}".</returns>
public override string ToString()
{
return string.Format("{{X={0} Y={1} Width={2} Height={3}}}", X, Y, Width, Height);
}
- /// <summary>
- /// Returns a hash value for the <see cref="T:Tizen.UI.Rectangle" />.
- /// </summary>
- /// <returns>A value intended for efficient insertion and lookup in hashtable-based data structures.</returns>
public override int GetHashCode()
{
unchecked
}
}
- /// <summary>
- /// Returns true if the values of this are exactly equal to those in the argument.
- /// </summary>
- /// <param name="obj">Another <see cref="T:Tizen.UI.Rectangle" />.</param>
- /// <returns>True if the values are equal to those in <paramref name="obj" />. Returns false if <paramref name="obj" /> is not a <see cref="T:Tizen.UI.Rectangle" />.</returns>
public override bool Equals(object obj)
{
if (!(obj is Rect))
return Equals((Rect)obj);
}
- /// <summary>
- /// Returns true if the values of this are exactly equal to those in the argument.
- /// </summary>
- /// <param name="other">Another <see cref="T:Tizen.UI.Rectangle" />.</param>
- /// <returns>True if the values are equal to those in <paramref name="other" />.</returns>
public bool Equals(Rect other)
{
return X.Equals(other.X) && Y.Equals(other.Y) && Width.Equals(other.Width) && Height.Equals(other.Height);
namespace ElmSharp
{
/// <summary>
- /// A view used to draw a solid colored rectangle.
+ /// The Rectangle is a class that used to draw a solid colored rectangle.
/// </summary>
public class Rectangle : EvasObject
{
/// <summary>
- /// Create a new BoxView widget.
+ /// Creates and initializes a new instance of the Rectangle class.
/// </summary>
+ /// <param name="parent">The <see cref="EvasObject"/> to which the new Slider will be attached as a child.</param>
public Rectangle(EvasObject parent) : base(parent)
{
Interop.Evas.evas_object_size_hint_weight_set(Handle, 1.0, 1.0);
namespace ElmSharp
{
+ /// <summary>
+ /// Enumeration for visible type of scrollbar.
+ /// </summary>
public enum ScrollBarVisiblePolicy
{
+ /// <summary>
+ /// Show scrollbars as needed
+ /// </summary>
Auto = 0,
+ /// <summary>
+ /// Always show scrollbars
+ /// </summary>
Visible,
+ /// <summary>
+ /// Never show scrollbars
+ /// </summary>
Invisible
}
-
+ /// <summary>
+ /// Enumeration for visible type of scrollbar.
+ /// </summary>
public enum ScrollBlock
{
+ /// <summary>
+ /// Scrolling movement is allowed in both direction.(X axis and Y axis)
+ /// </summary>
None = 1,
+ /// <summary>
+ /// Scrolling movement is not allowed in Y axis direction.
+ /// </summary>
Vertical = 2,
+ /// <summary>
+ /// Scrolling movement is not allowed in X axis direction.
+ /// </summary>
Horizontal = 4
}
-
+ /// <summary>
+ /// The Scroller is a container that holds and clips a single object and allows you to scroll across it.
+ /// </summary>
public class Scroller : Layout
{
SmartEvent _scroll;
SmartEvent _dragStop;
SmartEvent _scrollpage;
+ /// <summary>
+ /// Creates and initializes a new instance of the Scroller class.
+ /// </summary>
+ /// <param name="parent">The <see cref="EvasObject"/> to which the new Scroller will be attached as a child.</param>
public Scroller(EvasObject parent) : base(parent)
{
_scroll = new SmartEvent(this, this.RealHandle, "scroll");
_scrollpage = new SmartEvent(this, this.RealHandle, "scroll,page,changed");
}
+ /// <summary>
+ /// Scrolled will be triggered when the content has been scrolled.
+ /// </summary>
public event EventHandler Scrolled
{
add
_scroll.On -= value;
}
}
+
+ /// <summary>
+ /// DragStart will be triggered when dragging the contents around has started.
+ /// </summary>
public event EventHandler DragStart
{
add
_dragStart.On -= value;
}
}
+
+ /// <summary>
+ /// DragStop will be triggered when dragging the contents around has stopped.
+ /// </summary>
public event EventHandler DragStop
{
add
_dragStop.On -= value;
}
}
+
+ /// <summary>
+ /// PageScrolled will be triggered when the visible page has changed.
+ /// </summary>
public event EventHandler PageScrolled
{
add
}
}
+ /// <summary>
+ /// Gets the current region in the content object that is visible through the Scroller.
+ /// </summary>
public Rect CurrentRegion
{
get
}
}
+ /// <summary>
+ /// Sets or gets the value of HorizontalScrollBarVisiblePolicy
+ /// </summary>
+ /// <remarks>
+ /// ScrollBarVisiblePolicy.Auto means the horizontal scrollbar is made visible if it is needed, and otherwise kept hidden.
+ /// ScrollBarVisiblePolicy.Visible turns it on all the time, and ScrollBarVisiblePolicy.Invisible always keeps it off.
+ /// </remarks>
public ScrollBarVisiblePolicy HorizontalScrollBarVisiblePolicy
{
get
}
}
+ /// <summary>
+ /// Sets or gets the value of VerticalScrollBarVisiblePolicy
+ /// </summary>
+ /// <remarks>
+ /// ScrollBarVisiblePolicy.Auto means the vertical scrollbar is made visible if it is needed, and otherwise kept hidden.
+ /// ScrollBarVisiblePolicy.Visible turns it on all the time, and ScrollBarVisiblePolicy.Invisible always keeps it off.
+ /// </remarks>
public ScrollBarVisiblePolicy VerticalScrollBarVisiblePolicy
{
get
}
}
+ /// <summary>
+ /// Sets or gets the value of ScrollBlock.
+ /// </summary>
+ /// <remarks>
+ /// This function will block scrolling movement in a given direction.One can disable movements in the X axis, the Y axis or both.
+ /// The default value is ScrollBlock.None, where movements are allowed in both directions.
+ /// </remarks>
public ScrollBlock ScrollBlock
{
get
}
}
+ /// <summary>
+ /// Sets or gets scroll current page number.
+ /// </summary>
+ /// <remarks>
+ /// Current page means the page which meets the top of the viewport.
+ /// If there are two or more pages in the viewport, it returns the number of the page which meets the top of the viewport.
+ /// The page number starts from 0. 0 is the first page.
+ /// </remarks>
public int VerticalPageIndex
{
get
}
}
+ /// <summary>
+ /// Sets or gets scroll current page number.
+ /// </summary>
+ /// <remarks>
+ /// Current page means the page which meets the left of the viewport.
+ /// If there are two or more pages in the viewport, it returns the number of the page which meets the left of the viewport.
+ /// The page number starts from 0. 0 is the first page.
+ /// </remarks>
public int HorizontalPageIndex
{
get
}
}
+ /// <summary>
+ /// Sets or gets the maximum limit of the movable page at vertical direction.
+ /// </summary>
public int VerticalPageScrollLimit
{
get
}
}
+ /// <summary>
+ /// Sets or gets the maximum limit of the movable page at horizontal direction.
+ /// </summary>
public int HorizontalPageScrollLimit
{
get
}
}
+ /// <summary>
+ /// Sets the page size to an absolute fixed value, with 0 turning it off for that axis.
+ /// </summary>
+ /// <param name="width">The horizontal page size.</param>
+ /// <param name="height">The vertical page size.</param>
public void SetPageSize(int width, int height)
{
Interop.Elementary.elm_scroller_page_size_set(RealHandle, width, height);
}
+ /// <summary>
+ /// Sets the scroll page size relative to the viewport size.
+ /// </summary>
+ /// <remarks>
+ /// The scroller is capable of limiting scrolling by the user to "pages".
+ /// That is to jump by and only show a "whole page" at a time as if the continuous area of the scroller
+ /// content is split into page sized pieces. This sets the size of a page relative to the viewport of the scroller.
+ /// 1.0 is "1 viewport" which is the size (horizontally or vertically). 0.0 turns it off in that axis.
+ /// This is mutually exclusive with the page size (see elm_scroller_page_size_set() for more information).
+ /// Likewise 0.5 is "half a viewport". Usable values are normally between 0.0 and 1.0 including 1.0.
+ /// If you only want 1 axis to be page "limited", use 0.0 for the other axis.
+ /// </remarks>
+ /// <param name="width">The horizontal page relative size.</param>
+ /// <param name="height">The vertical page relative size.</param>
public void SetPageSize(double width, double height)
{
Interop.Elementary.elm_scroller_page_relative_set(RealHandle, width, height);
}
+ /// <summary>
+ /// Shows a specific virtual region within the scroller content object by the page number.
+ /// (0, 0) of the indicated page is located at the top-left corner of the viewport.
+ /// </summary>
+ /// <param name="horizontalPageIndex">The horizontal page number.</param>
+ /// <param name="verticalPageIndex">The vertical page number.</param>
+ /// <param name="animated">True means slider with animation.</param>
public void ScrollTo(int horizontalPageIndex, int verticalPageIndex, bool animated)
{
if (animated)
}
}
+ /// <summary>
+ /// Shows a specific virtual region within the scroller content object.
+ /// </summary>
+ /// <remarks>
+ /// This ensures that all (or part, if it does not fit) of the designated region in the virtual content object ((0, 0)
+ /// starting at the top-left of the virtual content object) is shown within the scroller.
+ /// If set "animated" to true, it will allows the scroller to "smoothly slide" to this location
+ /// (if configuration in general calls for transitions).
+ /// It may not jump immediately to the new location and may take a while and show other content along the way.
+ /// </remarks>
+ /// <param name="region">Rect struct of region.</param>
+ /// <param name="animated">True means allows the scroller to "smoothly slide" to this location.</param>
public void ScrollTo(Rect region, bool animated)
{
if (animated)
namespace ElmSharp
{
/// <summary>
- /// Struct defining height and width as a pair of generic type.
+ /// The Size is a struct that defining height and width as a pair of generic type.
/// </summary>
public struct Size : IEquatable<Size>
{
return string.Format("{{Width={0} Height={1}}}", Width, Height);
}
- /// <summary>
- /// Returns a hash value for the <see cref="T:Tizen.UI.Size" />.
- /// </summary>
- /// <returns>A value intended for efficient insertion and lookup in hashtable-based data structures.</returns>
public override int GetHashCode()
{
unchecked
}
}
- /// <summary>
- /// Returns true if the Width and Height values of this are exactly equal to those in the argument.
- /// </summary>
- /// <param name="obj">Another <see cref="T:Tizen.UI.Size" />.</param>
- /// <returns>True if the Width and Height values are equal to those in <paramref name="obj" />. Returns false if <paramref name="obj" /> is not a <see cref="T:Tizen.UI.Size" />.</returns>
public override bool Equals(object obj)
{
if (!(obj is Size))
return Equals((Size)obj);
}
- /// <summary>
- /// Returns true if the Width and Height values of this are exactly equal to those in the argument.
- /// </summary>
- /// <param name="other">Another <see cref="T:Tizen.UI.Size" />.</param>
- /// <returns>True if the Width and Height values are equal to those in <paramref name="other" />.</returns>
public bool Equals(Size other)
{
return Width.Equals(other.Width) && Height.Equals(other.Height);
namespace ElmSharp
{
+ /// <summary>
+ /// The Slider is a widget that adds a draggable \93slider\94 widget for selecting the value of something within a range.
+ /// </summary>
public class Slider : Layout
{
double _minimum = 0.0;
SmartEvent _dragStarted;
SmartEvent _dragStopped;
+ /// <summary>
+ /// Creates and initializes a new instance of the Slider class.
+ /// </summary>
+ /// <param name="parent">The <see cref="EvasObject"/> to which the new Slider will be attached as a child.</param>
public Slider(EvasObject parent) : base(parent)
{
_changed = new SmartEvent(this, this.RealHandle, "changed");
_dragStopped.On += (s, e) => DragStopped?.Invoke(this, EventArgs.Empty);
}
+ /// <summary>
+ /// ValueChanged will be triggered when the Slider value is changed by the user.
+ /// </summary>
public event EventHandler ValueChanged;
+ /// <summary>
+ /// DelayedValueChanged will be triggered when a short time after the value is changed by the user.
+ /// This will be called only when the user stops dragging for a very short period or when they release their finger/mouse,
+ /// so it avoids possibly expensive reactions to the value change.
+ /// </summary>
public event EventHandler DelayedValueChanged;
+ /// <summary>
+ /// DragStarted will be triggered when dragging the Slider indicator around has started.
+ /// </summary>
public event EventHandler DragStarted;
+ /// <summary>
+ /// DragStopped will be triggered when dragging the Slider indicator around has stopped.
+ /// </summary>
public event EventHandler DragStopped;
+ /// <summary>
+ /// Sets or gets the (exact) length of the bar region of a given Slider widget.
+ /// </summary>
+ /// <remarks>
+ /// This sets the minimum width (when in the horizontal mode) or height (when in the vertical mode)
+ /// of the actual bar area of the slider obj. This in turn affects the object's minimum size.
+ /// Use this when you're not setting other size hints expanding on the given direction
+ /// (like weight and alignment hints), and you would like it to have a specific size.
+ /// </remarks>
public int SpanSize
{
get
}
}
+ /// <summary>
+ /// Sets or gets the format string for the unit label.
+ /// </summary>
+ /// <remarks>
+ /// Unit label is displayed all the time, if set, after the slider's bar.
+ /// In the horizontal mode, on the right and in the vertical mode, at the bottom.If NULL,
+ /// the unit label won't be visible. If not, it sets the format string for the label text.
+ /// For the label text a floating point value is provided,
+ /// so the label text can display up to 1 floating point value.
+ /// Note that this is optional.Use a format string such as "%1.2f meters" for example,
+ /// and it displays values like: "3.14 meters" for a value equal to 3.14159.By default, unit label is disabled.
+ /// </remarks>
public string UnitFormat
{
get
}
}
+ /// <summary>
+ /// Sets or gets the format string for the indicator label.
+ /// </summary>
+ /// <remarks>
+ /// The slider may display its value somewhere other than the unit label,
+ /// for example, above the slider knob that is dragged around. This function sets the format string
+ /// used for this.If NULL, the indicator label won't be visible. If not, it sets the format string
+ /// for the label text. For the label text floating point value is provided, so the label text can
+ /// display up to 1 floating point value. Note that this is optional.Use a format string
+ /// such as "%1.2f meters" for example, and it displays values like: "3.14 meters" for a value
+ /// equal to 3.14159.By default, the indicator label is disabled.
+ /// </remarks>
public string IndicatorFormat
{
get
}
}
+ /// <summary>
+ /// Sets or gets the orientation of a given slider widget.
+ /// </summary>
+ /// <remarks>
+ /// The orientation may be vertically or horizontally.By default, it's displayed horizontally.
+ /// </remarks>
public bool IsHorizontal
{
get
}
}
+ /// <summary>
+ /// Sets or gets the minimum values for the slider.
+ /// </summary>
+ /// <remarks>
+ /// This defines the allowed minimum values to be selected by the user.
+ /// If the actual value is less than min, it is updated to min.
+ /// Actual value can be obtained with Value.By default, min is equal to 0.0.
+ /// </remarks>
public double Minimum
{
get
}
}
+ /// <summary>
+ /// Sets or gets the maximum values for the slider.
+ /// </summary>
+ /// <remarks>
+ /// This defines the allowed maximum values to be selected by the user.
+ /// If the actual value is bigger then max, it is updated to max.
+ /// Actual value can be obtained with Value.By default, min is equal to 0.0, and max is equal to 1.0.
+ /// Maximum must be greater than minimum, otherwise the behavior is undefined.
+ /// </remarks>
public double Maximum
{
get
}
}
+ /// <summary>
+ /// Gets or sets the value displayed by the slider.
+ /// </summary>
+ /// <remarks>
+ /// Value will be presented on the unit label following format specified with UnitFormat and
+ /// on indicator with IndicatorFormat.The value must to be between Minimum and Maximum values.
+ /// </remarks>
public double Value
{
get
}
}
+ /// <summary>
+ /// Sets or gets the step by which the slider indicator moves.
+ /// </summary>
+ /// <remarks>
+ /// This value is used when the draggable object is moved automatically i.e.,
+ /// in case of a key event when up/down/left/right key is pressed or in case accessibility
+ /// is set and the flick event is used to inc/dec slider values.
+ /// By default, the step value is equal to 0.05.
+ /// </remarks>
public double Step
{
get
}
}
+ /// <summary>
+ /// Gets or sets whether a given slider widget's displaying values are inverted.
+ /// </summary>
+ /// <remarks>
+ /// A slider may be inverted, in which case it gets its values inverted,
+ /// with high values being on the left or top and low values on the right or bottom,
+ /// as opposed to normally have the low values on the former and high values on the latter,
+ /// respectively, for the horizontal and vertical modes.
+ /// </remarks>
public bool IsInverted
{
get
}
}
+ /// <summary>
+ /// Sets or gets whether to enlarge the slider indicator (augmented knob).
+ /// </summary>
+ /// <remarks>
+ /// By default, the indicator is bigger when dragged by the user.
+ /// It won't display values set with IndicatorFormat if you disable the indicator.
+ /// </remarks>
public bool IsIndicatorVisible
{
get