2 * Copyright(c) 2021 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 using System.ComponentModel;
20 using System.Runtime.InteropServices;
21 using Tizen.NUI.Binding;
23 namespace Tizen.NUI.BaseComponents
26 /// TableView is a layout container for aligning child actors in a grid like layout.<br />
27 /// TableView constraints the X and the Y position and the width and the height of the child actors.<br />
28 /// The Z position and depth are left intact so that the 3D model actors can also be laid out
29 /// in a grid without loosing their depth scaling.<br />
31 /// <since_tizen> 3 </since_tizen>
32 public class TableView : View
34 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
35 [EditorBrowsable(EditorBrowsableState.Never)]
36 public static readonly BindableProperty RowsProperty = BindableProperty.Create(nameof(Rows), typeof(int), typeof(TableView), default(int), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
38 var tableView = (TableView)bindable;
41 Tizen.NUI.Object.SetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.ROWS, new Tizen.NUI.PropertyValue((int)newValue));
44 defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
46 var tableView = (TableView)bindable;
48 Tizen.NUI.Object.GetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.ROWS).Get(out temp);
51 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
52 [EditorBrowsable(EditorBrowsableState.Never)]
53 public static readonly BindableProperty ColumnsProperty = BindableProperty.Create(nameof(Columns), typeof(int), typeof(TableView), default(int), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
55 var tableView = (TableView)bindable;
58 Tizen.NUI.Object.SetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.COLUMNS, new Tizen.NUI.PropertyValue((int)newValue));
61 defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
63 var tableView = (TableView)bindable;
65 Tizen.NUI.Object.GetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.COLUMNS).Get(out temp);
68 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
69 [EditorBrowsable(EditorBrowsableState.Never)]
70 public static readonly BindableProperty CellPaddingProperty = BindableProperty.Create(nameof(CellPadding), typeof(Vector2), typeof(TableView), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
72 var tableView = (TableView)bindable;
75 Tizen.NUI.Object.SetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.CellPadding, new Tizen.NUI.PropertyValue((Vector2)newValue));
78 defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
80 var tableView = (TableView)bindable;
81 Vector2 temp = new Vector2(0.0f, 0.0f);
82 Tizen.NUI.Object.GetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.CellPadding).Get(temp);
85 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
86 [EditorBrowsable(EditorBrowsableState.Never)]
87 public static readonly BindableProperty LayoutRowsProperty = BindableProperty.Create(nameof(LayoutRows), typeof(PropertyMap), typeof(TableView), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
89 var tableView = (TableView)bindable;
92 Tizen.NUI.Object.SetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.LayoutRows, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
95 defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
97 var tableView = (TableView)bindable;
98 PropertyMap temp = new PropertyMap();
99 Tizen.NUI.Object.GetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.LayoutRows).Get(temp);
102 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
103 [EditorBrowsable(EditorBrowsableState.Never)]
104 public static readonly BindableProperty LayoutColumnsProperty = BindableProperty.Create(nameof(LayoutColumns), typeof(PropertyMap), typeof(TableView), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
106 var tableView = (TableView)bindable;
107 if (newValue != null)
109 Tizen.NUI.Object.SetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.LayoutColumns, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
112 defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
114 var tableView = (TableView)bindable;
115 PropertyMap temp = new PropertyMap();
116 Tizen.NUI.Object.GetProperty((HandleRef)tableView.SwigCPtr, TableView.Property.LayoutColumns).Get(temp);
122 /// Creates the default TableView view.
124 public TableView() : this(Interop.TableView.New(1, 1), true)
126 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
130 /// Creates the TableView view.
132 /// <param name="initialRows">Initial rows for the table.</param>
133 /// <param name="initialColumns">Initial columns for the table.</param>
134 /// <since_tizen> 3 </since_tizen>
135 public TableView(uint initialRows, uint initialColumns) : this(Interop.TableView.New(initialRows, initialColumns), true)
137 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
142 /// The Copy constructor. Creates another handle that points to the same real object.
144 /// <param name="handle">Handle to copy from.</param>
145 /// <since_tizen> 3 </since_tizen>
146 public TableView(TableView handle) : this(Interop.TableView.NewTableView(TableView.getCPtr(handle)), true)
148 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
151 internal TableView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
156 /// Enumeration for describing how the size of a row or column has been set.
158 /// <since_tizen> 3 </since_tizen>
159 public enum LayoutPolicy
162 /// Fixed with the given value.
164 /// <since_tizen> 3 </since_tizen>
167 /// Calculated as percentage of the remainder after subtracting Padding and Fixed height/width.
169 /// <since_tizen> 3 </since_tizen>
172 /// Default policy, get the remainder of the 100% (after subtracting Fixed, Fit and Relative height/ width) divided evenly between 'fill' rows/columns.
174 /// <since_tizen> 3 </since_tizen>
177 /// Fit around its children.
179 /// <since_tizen> 3 </since_tizen>
184 /// The amount of rows in the table.
186 /// <since_tizen> 3 </since_tizen>
191 return (int)GetValue(RowsProperty);
195 SetValue(RowsProperty, value);
196 NotifyPropertyChanged();
200 /// The amount of columns in the table.
202 /// <since_tizen> 3 </since_tizen>
207 return (int)GetValue(ColumnsProperty);
211 SetValue(ColumnsProperty, value);
212 NotifyPropertyChanged();
216 /// Padding between cells.
218 /// <since_tizen> 3 </since_tizen>
219 public Vector2 CellPadding
223 return (Vector2)GetValue(CellPaddingProperty);
227 SetValue(CellPaddingProperty, value);
228 NotifyPropertyChanged();
233 /// The number of layout rows.
235 /// <since_tizen> 3 </since_tizen>
236 public PropertyMap LayoutRows
240 return (PropertyMap)GetValue(LayoutRowsProperty);
244 SetValue(LayoutRowsProperty, value);
245 NotifyPropertyChanged();
250 /// The number of layout columns.
252 /// <since_tizen> 3 </since_tizen>
253 public PropertyMap LayoutColumns
257 return (PropertyMap)GetValue(LayoutColumnsProperty);
261 SetValue(LayoutColumnsProperty, value);
262 NotifyPropertyChanged();
268 /// Adds a child to the table.<br />
269 /// If the row or column index is outside the table, the table gets resized bigger.<br />
271 /// <param name="child">The child to add.</param>
272 /// <param name="position">The position for the child.</param>
273 /// <returns>True if the addition succeeded, and false if the cell is already occupied.</returns>
274 /// <since_tizen> 3 </since_tizen>
275 public bool AddChild(View child, TableView.CellPosition position)
277 bool ret = Interop.TableView.AddChild(SwigCPtr, View.getCPtr(child), TableView.CellPosition.getCPtr(position));
279 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
284 /// Returns a child from the given layout position.
286 /// <param name="position">The position in the table.</param>
287 /// <returns>Child that was in the cell or an uninitialized handle.</returns>
288 /// <since_tizen> 3 </since_tizen>
289 public View GetChildAt(TableView.CellPosition position)
291 //to fix memory leak issue, match the handle count with native side.
292 IntPtr cPtr = Interop.TableView.GetChildAt(SwigCPtr, TableView.CellPosition.getCPtr(position));
293 HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
294 View ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as View;
295 Interop.BaseHandle.DeleteBaseHandle(CPtr);
296 CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
298 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
303 /// Removes a child from the given layout position.
305 /// <param name="position">The position for the child to remove.</param>
306 /// <returns>Child that was removed or an uninitialized handle.</returns>
307 /// <since_tizen> 3 </since_tizen>
308 public View RemoveChildAt(TableView.CellPosition position)
310 //to fix memory leak issue, match the handle count with native side.
311 IntPtr cPtr = Interop.TableView.RemoveChildAt(SwigCPtr, TableView.CellPosition.getCPtr(position));
312 View ret = this.GetInstanceSafely<View>(cPtr);
313 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
315 Children.Remove(ret);
321 /// Finds the child's layout position.
323 /// <param name="child">The child to search for.</param>
324 /// <param name="position">The position for the child.</param>
325 /// <returns>True if the child was included in this TableView.</returns>
326 /// <since_tizen> 3 </since_tizen>
327 public bool FindChildPosition(View child, TableView.CellPosition position)
329 bool ret = Interop.TableView.FindChildPosition(SwigCPtr, View.getCPtr(child), TableView.CellPosition.getCPtr(position));
330 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
335 /// Inserts a new row to the given index.
337 /// <param name="rowIndex">The rowIndex of the new row.</param>
338 /// <since_tizen> 3 </since_tizen>
339 public void InsertRow(uint rowIndex)
341 Interop.TableView.InsertRow(SwigCPtr, rowIndex);
342 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
346 /// Deletes a row from the given index.<br />
347 /// Removed elements are deleted.<br />
349 /// <param name="rowIndex">The rowIndex of the row to delete.</param>
350 /// <since_tizen> 3 </since_tizen>
351 public void DeleteRow(uint rowIndex)
353 Interop.TableView.DeleteRow(SwigCPtr, rowIndex);
354 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
358 /// Inserts a new column to the given index.
360 /// <param name="columnIndex">The columnIndex of the new column.</param>
361 /// <since_tizen> 3 </since_tizen>
362 public void InsertColumn(uint columnIndex)
364 Interop.TableView.InsertColumn(SwigCPtr, columnIndex);
365 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
369 /// Deletes a column from the given index.<br />
370 /// Removed elements are deleted.<br />
372 /// <param name="columnIndex">The columnIndex of the column to delete.</param>
373 /// <since_tizen> 3 </since_tizen>
374 public void DeleteColumn(uint columnIndex)
376 Interop.TableView.DeleteColumn(SwigCPtr, columnIndex);
377 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
381 /// Resizes the TableView.
383 /// <param name="rows">The rows for the table.</param>
384 /// <param name="columns">The columns for the table.</param>
385 /// <since_tizen> 3 </since_tizen>
386 public void Resize(uint rows, uint columns)
388 Interop.TableView.Resize(SwigCPtr, rows, columns);
389 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
393 /// Sets the horizontal and the vertical padding between cells.
395 /// <param name="padding">Width and height.</param>
396 /// <since_tizen> 3 </since_tizen>
397 [Obsolete("This has been deprecated in API9 and will be removed in API11. Use CellPadding property instead.")]
398 public void SetCellPadding(Size2D padding)
400 Interop.TableView.SetCellPadding(SwigCPtr, Size2D.getCPtr(padding));
401 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
405 /// Gets the current padding as width and height.
407 /// <returns>The current padding as width and height.</returns>
408 /// <since_tizen> 3 </since_tizen>
409 [Obsolete("This has been deprecated in API9 and will be removed in API11. Use CellPadding property instead.")]
410 public Vector2 GetCellPadding()
412 Vector2 ret = new Vector2(Interop.TableView.GetCellPadding(SwigCPtr), true);
413 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
418 /// Specifies this row as fitting its height to its children.
420 /// <param name="rowIndex">The row to set.</param>
421 /// <since_tizen> 3 </since_tizen>
422 public void SetFitHeight(uint rowIndex)
424 Interop.TableView.SetFitHeight(SwigCPtr, rowIndex);
425 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
429 /// Checks if the row is a fit row.
431 /// <param name="rowIndex">The row to check.</param>
432 /// <returns>True if the row is fit.</returns>
433 /// <since_tizen> 3 </since_tizen>
434 public bool IsFitHeight(uint rowIndex)
436 bool ret = Interop.TableView.IsFitHeight(SwigCPtr, rowIndex);
437 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
442 /// Specifies this column as fitting its width to its children.
444 /// <param name="columnIndex">The column to set.</param>
445 /// <since_tizen> 3 </since_tizen>
446 public void SetFitWidth(uint columnIndex)
448 Interop.TableView.SetFitWidth(SwigCPtr, columnIndex);
449 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
453 /// Checks if the column is a fit column.
455 /// <param name="columnIndex">The column to check.</param>
456 /// <returns>True if the column is fit.</returns>
457 /// <since_tizen> 3 </since_tizen>
458 public bool IsFitWidth(uint columnIndex)
460 bool ret = Interop.TableView.IsFitWidth(SwigCPtr, columnIndex);
461 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
466 /// Sets a row to have a fixed height.<br />
467 /// Setting a fixed height of 0 has no effect.<br />
469 /// <param name="rowIndex">The rowIndex for row with a fixed height.</param>
470 /// <param name="height">The height in world coordinate units.</param>
471 /// <since_tizen> 3 </since_tizen>
472 public void SetFixedHeight(uint rowIndex, float height)
474 Interop.TableView.SetFixedHeight(SwigCPtr, rowIndex, height);
475 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
479 /// Gets a row's fixed height.
481 /// <param name="rowIndex">The row index with a fixed height.</param>
482 /// <returns>height The height in world coordinate units.</returns>
483 /// <since_tizen> 3 </since_tizen>
484 public float GetFixedHeight(uint rowIndex)
486 float ret = Interop.TableView.GetFixedHeight(SwigCPtr, rowIndex);
487 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
492 /// Sets a row to have a relative height. Relative height means percentage of
493 /// the remainder of the table height after subtracting padding and fixed height rows.<br />
494 /// Setting a relative height of 0 has no effect.<br />
496 /// <param name="rowIndex">The rowIndex for row with a relative height.</param>
497 /// <param name="heightPercentage">The height percentage between 0.0f and 1.0f.</param>
498 /// <since_tizen> 3 </since_tizen>
499 public void SetRelativeHeight(uint rowIndex, float heightPercentage)
501 Interop.TableView.SetRelativeHeight(SwigCPtr, rowIndex, heightPercentage);
502 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
506 /// Gets a row's relative height.
508 /// <param name="rowIndex">The row index with a relative height.</param>
509 /// <returns>Height in percentage units, between 0.0f and 1.0f.</returns>
510 /// <since_tizen> 3 </since_tizen>
511 public float GetRelativeHeight(uint rowIndex)
513 float ret = Interop.TableView.GetRelativeHeight(SwigCPtr, rowIndex);
514 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
519 /// Sets a column to have a fixed width.<br />
520 /// Setting a fixed width of 0 has no effect.<br />
522 /// <param name="columnIndex">The columnIndex for column with a fixed width.</param>
523 /// <param name="width">The width in world coordinate units.</param>
524 /// <since_tizen> 3 </since_tizen>
525 public void SetFixedWidth(uint columnIndex, float width)
527 Interop.TableView.SetFixedWidth(SwigCPtr, columnIndex, width);
528 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
532 /// Gets a column's fixed width.
534 /// <param name="columnIndex">The column index with a fixed width.</param>
535 /// <returns>Width in world coordinate units.</returns>
536 /// <since_tizen> 3 </since_tizen>
537 public float GetFixedWidth(uint columnIndex)
539 float ret = Interop.TableView.GetFixedWidth(SwigCPtr, columnIndex);
540 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
545 /// Sets a column to have a relative width. Relative width means percentage of
546 /// the remainder of the table width after subtracting padding and fixed width columns.<br />
547 /// Setting a relative width of 0 has no effect.<br />
549 /// <param name="columnIndex">The columnIndex for column with a fixed width.</param>
550 /// <param name="widthPercentage">The widthPercentage between 0.0f and 1.0f.</param>
551 /// <since_tizen> 3 </since_tizen>
552 public void SetRelativeWidth(uint columnIndex, float widthPercentage)
554 Interop.TableView.SetRelativeWidth(SwigCPtr, columnIndex, widthPercentage);
555 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
559 /// Gets a column's relative width.
561 /// <param name="columnIndex">The column index with a relative width.</param>
562 /// <returns>Width in percentage units, between 0.0f and 1.0f.</returns>
563 /// <since_tizen> 3 </since_tizen>
564 public float GetRelativeWidth(uint columnIndex)
566 float ret = Interop.TableView.GetRelativeWidth(SwigCPtr, columnIndex);
567 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
572 /// Sets the alignment on a cell.<br />
573 /// Cells without calling this function have the default values of left and top respectively.<br />
575 /// <param name="position">The cell to set alignment on.</param>
576 /// <param name="horizontal">The horizontal alignment.</param>
577 /// <param name="vertical">The vertical alignment.</param>
578 /// <since_tizen> 3 </since_tizen>
579 public void SetCellAlignment(TableView.CellPosition position, HorizontalAlignmentType horizontal, VerticalAlignmentType vertical)
581 Interop.TableView.SetCellAlignment(SwigCPtr, TableView.CellPosition.getCPtr(position), (int)horizontal, (int)vertical);
582 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
585 /// This will not be public opened.
586 [EditorBrowsable(EditorBrowsableState.Never)]
587 protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
589 Interop.TableView.DeleteTableView(swigCPtr);
593 /// Class to specify the layout position for the child view.
595 /// <since_tizen> 3 </since_tizen>
596 public class CellPosition : Disposable
601 /// <param name="rowIndex">The row index initialized.</param>
602 /// <param name="columnIndex">The column index initialized.</param>
603 /// <param name="rowSpan">The row span initialized.</param>
604 /// <param name="columnSpan">The column span initialized.</param>
605 /// <since_tizen> 3 </since_tizen>
606 public CellPosition(uint rowIndex, uint columnIndex, uint rowSpan, uint columnSpan) : this(Interop.TableView.NewTableViewCellPosition(rowIndex, columnIndex, rowSpan, columnSpan), true)
608 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
612 /// The constructor to initialize values to defaults for convenience.
614 /// <param name="rowIndex">The row index initialized.</param>
615 /// <param name="columnIndex">The column index initialized.</param>
616 /// <param name="rowSpan">The row span initialized.</param>
617 /// <since_tizen> 3 </since_tizen>
618 public CellPosition(uint rowIndex, uint columnIndex, uint rowSpan) : this(Interop.TableView.NewTableViewCellPosition(rowIndex, columnIndex, rowSpan), true)
620 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
624 /// The constructor to initialize values to defaults for convenience.
626 /// <param name="rowIndex">The row index initialized.</param>
627 /// <param name="columnIndex">The column index initialized.</param>
628 /// <since_tizen> 3 </since_tizen>
629 public CellPosition(uint rowIndex, uint columnIndex) : this(Interop.TableView.NewTableViewCellPosition(rowIndex, columnIndex), true)
631 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
635 /// The constructor to initialize values to default for convenience.
637 /// <param name="rowIndex">The row index initialized.</param>
638 /// <since_tizen> 3 </since_tizen>
639 public CellPosition(uint rowIndex) : this(Interop.TableView.NewTableViewCellPosition(rowIndex), true)
641 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
645 /// The default constructor.
647 /// <since_tizen> 3 </since_tizen>
648 public CellPosition() : this(Interop.TableView.NewTableViewCellPosition(), true)
650 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
653 internal CellPosition(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
658 /// The index of a row.
660 /// <since_tizen> 3 </since_tizen>
661 [Obsolete("Do not use this, that will be deprecated. Use RowIndex instead.")]
662 [EditorBrowsable(EditorBrowsableState.Never)]
667 Interop.TableView.CellPositionRowIndexSet(SwigCPtr, value);
668 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
672 uint ret = Interop.TableView.CellPositionRowIndexGet(SwigCPtr);
673 if (NDalicPINVOKE.SWIGPendingException.Pending) throw new InvalidOperationException("FATAL: get Exception", NDalicPINVOKE.SWIGPendingException.Retrieve());
679 /// The index or position of a row.
681 /// <since_tizen> 5 </since_tizen>
686 uint ret = Interop.TableView.CellPositionRowIndexGet(SwigCPtr);
687 if (NDalicPINVOKE.SWIGPendingException.Pending) throw new InvalidOperationException("FATAL: get Exception", NDalicPINVOKE.SWIGPendingException.Retrieve());
694 /// The index of a column.
696 /// <since_tizen> 3 </since_tizen>
697 [Obsolete("Do not use this, that will be deprecated. Use ColumnIndex instead.")]
698 [EditorBrowsable(EditorBrowsableState.Never)]
699 public uint columnIndex
703 Interop.TableView.CellPositionColumnIndexSet(SwigCPtr, value);
704 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
708 uint ret = Interop.TableView.CellPositionColumnIndexGet(SwigCPtr);
709 if (NDalicPINVOKE.SWIGPendingException.Pending) throw new InvalidOperationException("FATAL: get Exception", NDalicPINVOKE.SWIGPendingException.Retrieve());
715 /// The index or position of a column.
717 /// <since_tizen> 5 </since_tizen>
718 public uint ColumnIndex
722 uint ret = Interop.TableView.CellPositionColumnIndexGet(SwigCPtr);
723 if (NDalicPINVOKE.SWIGPendingException.Pending) throw new InvalidOperationException("FATAL: get Exception", NDalicPINVOKE.SWIGPendingException.Retrieve());
729 /// The span of a row.
731 /// <since_tizen> 3 </since_tizen>
732 [Obsolete("Do not use this, that will be deprecated. Use RowSpan instead.")]
733 [EditorBrowsable(EditorBrowsableState.Never)]
738 Interop.TableView.CellPositionRowSpanSet(SwigCPtr, value);
739 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
743 uint ret = Interop.TableView.CellPositionRowSpanGet(SwigCPtr);
744 if (NDalicPINVOKE.SWIGPendingException.Pending) throw new InvalidOperationException("FATAL: get Exception", NDalicPINVOKE.SWIGPendingException.Retrieve());
750 /// The span of a row.
752 /// <since_tizen> 5 </since_tizen>
757 uint ret = Interop.TableView.CellPositionRowSpanGet(SwigCPtr);
758 if (NDalicPINVOKE.SWIGPendingException.Pending) throw new InvalidOperationException("FATAL: get Exception", NDalicPINVOKE.SWIGPendingException.Retrieve());
764 /// The span of a column.
766 /// <since_tizen> 3 </since_tizen>
767 [Obsolete("Do not use this, that will be deprecated. Use ColumnSpan instead.")]
768 [EditorBrowsable(EditorBrowsableState.Never)]
769 public uint columnSpan
773 Interop.TableView.CellPositionColumnSpanSet(SwigCPtr, value);
774 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
778 uint ret = Interop.TableView.CellPositionColumnSpanGet(SwigCPtr);
779 if (NDalicPINVOKE.SWIGPendingException.Pending) throw new InvalidOperationException("FATAL: get Exception", NDalicPINVOKE.SWIGPendingException.Retrieve());
785 /// The span of a column.
787 /// <since_tizen> 5 </since_tizen>
788 public uint ColumnSpan
792 uint ret = Interop.TableView.CellPositionColumnSpanGet(SwigCPtr);
793 if (NDalicPINVOKE.SWIGPendingException.Pending) throw new InvalidOperationException("FATAL: get Exception", NDalicPINVOKE.SWIGPendingException.Retrieve());
798 /// This will not be public opened.
799 [EditorBrowsable(EditorBrowsableState.Never)]
800 protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
802 Interop.TableView.DeleteTableViewCellPosition(swigCPtr);
806 internal new class Property
808 internal static readonly int ROWS = Interop.TableView.RowsGet();
809 internal static readonly int COLUMNS = Interop.TableView.ColumnsGet();
810 internal static readonly int CellPadding = Interop.TableView.CellPaddingGet();
811 internal static readonly int LayoutRows = Interop.TableView.LayoutRowsGet();
812 internal static readonly int LayoutColumns = Interop.TableView.LayoutColumnsGet();
815 internal class ChildProperty
817 internal static readonly int CellIndex = Interop.TableView.ChildPropertyCellIndexGet();
818 internal static readonly int RowSpan = Interop.TableView.ChildPropertyRowSpanGet();
819 internal static readonly int ColumnSpan = Interop.TableView.ChildPropertyColumnSpanGet();
820 internal static readonly int CellHorizontalAlignment = Interop.TableView.ChildPropertyCellHorizontalAlignmentGet();
821 internal static readonly int CellVerticalAlignment = Interop.TableView.ChildPropertyCellVerticalAlignmentGet();