2 * Copyright(c) 2017 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;
21 namespace Tizen.NUI.BaseComponents
25 /// TableView is a layout container for aligning child actors in a grid like layout.<br />
26 /// TableView constraints the X and the Y position and the width and the height of the child actors.<br />
27 /// The Z position and depth are left intact so that the 3D model actors can also be laid out
28 /// in a grid without loosing their depth scaling.<br />
30 /// <since_tizen> 3 </since_tizen>
31 public class TableView : View
33 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
35 internal TableView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TableView_SWIGUpcast(cPtr), cMemoryOwn)
37 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
40 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TableView obj)
42 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
48 /// <param name="type">The dispose type</param>
49 /// <since_tizen> 3 </since_tizen>
50 protected override void Dispose(DisposeTypes type)
57 if(type == DisposeTypes.Explicit)
60 //Release your own managed resources here.
61 //You should release all of your own disposable objects here.
64 //Release your own unmanaged resources here.
65 //You should not access any managed member here except static instance.
66 //because the execution order of Finalizes is non-deterministic.
68 if (swigCPtr.Handle != global::System.IntPtr.Zero)
73 NDalicPINVOKE.delete_TableView(swigCPtr);
75 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
82 internal new class Property
84 internal static readonly int ROWS = NDalicPINVOKE.TableView_Property_ROWS_get();
85 internal static readonly int COLUMNS = NDalicPINVOKE.TableView_Property_COLUMNS_get();
86 internal static readonly int CELL_PADDING = NDalicPINVOKE.TableView_Property_CELL_PADDING_get();
87 internal static readonly int LAYOUT_ROWS = NDalicPINVOKE.TableView_Property_LAYOUT_ROWS_get();
88 internal static readonly int LAYOUT_COLUMNS = NDalicPINVOKE.TableView_Property_LAYOUT_COLUMNS_get();
91 internal class ChildProperty
93 internal static readonly int CELL_INDEX = NDalicPINVOKE.TableView_ChildProperty_CELL_INDEX_get();
94 internal static readonly int ROW_SPAN = NDalicPINVOKE.TableView_ChildProperty_ROW_SPAN_get();
95 internal static readonly int COLUMN_SPAN = NDalicPINVOKE.TableView_ChildProperty_COLUMN_SPAN_get();
96 internal static readonly int CELL_HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TableView_ChildProperty_CELL_HORIZONTAL_ALIGNMENT_get();
97 internal static readonly int CELL_VERTICAL_ALIGNMENT = NDalicPINVOKE.TableView_ChildProperty_CELL_VERTICAL_ALIGNMENT_get();
101 /// Class to specify the layout position for the child view.
103 /// <since_tizen> 3 </since_tizen>
104 public class CellPosition : global::System.IDisposable
106 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
110 /// <since_tizen> 3 </since_tizen>
111 protected bool swigCMemOwn;
113 internal CellPosition(global::System.IntPtr cPtr, bool cMemoryOwn)
115 swigCMemOwn = cMemoryOwn;
116 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
119 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CellPosition obj)
121 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
124 //A Flag to check who called Dispose(). (By User or DisposeQueue)
125 private bool isDisposeQueued = false;
127 /// A Flat to check if it is already disposed.
129 /// <since_tizen> 3 </since_tizen>
130 protected bool disposed = false;
135 /// <since_tizen> 3 </since_tizen>
140 isDisposeQueued = true;
141 DisposeQueue.Instance.Add(this);
148 /// <since_tizen> 3 </since_tizen>
149 public void Dispose()
151 //Throw excpetion if Dispose() is called in separate thread.
152 if (!Window.IsInstalled())
154 throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
159 Dispose(DisposeTypes.Implicit);
163 Dispose(DisposeTypes.Explicit);
164 System.GC.SuppressFinalize(this);
171 /// <param name="type">DisposeTypes</param>
172 /// <since_tizen> 3 </since_tizen>
173 protected virtual void Dispose(DisposeTypes type)
180 if(type == DisposeTypes.Explicit)
183 //Release your own managed resources here.
184 //You should release all of your own disposable objects here.
187 //Release your own unmanaged resources here.
188 //You should not access any managed member here except static instance.
189 //because the execution order of Finalizes is non-deterministic.
191 if (swigCPtr.Handle != global::System.IntPtr.Zero)
196 NDalicPINVOKE.delete_TableView_CellPosition(swigCPtr);
198 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
206 /// <param name="rowIndex">The row index initialized.</param>
207 /// <param name="columnIndex">The column index initialized.</param>
208 /// <param name="rowSpan">The row span initialized.</param>
209 /// <param name="columnSpan">The column span initialized.</param>
210 /// <since_tizen> 3 </since_tizen>
211 public CellPosition(uint rowIndex, uint columnIndex, uint rowSpan, uint columnSpan) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_0(rowIndex, columnIndex, rowSpan, columnSpan), true)
213 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
217 /// The constructor to initialize values to defaults for convenience.
219 /// <param name="rowIndex">The row index initialized.</param>
220 /// <param name="columnIndex">The column index initialized.</param>
221 /// <param name="rowSpan">The row span initialized.</param>
222 /// <since_tizen> 3 </since_tizen>
223 public CellPosition(uint rowIndex, uint columnIndex, uint rowSpan) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_1(rowIndex, columnIndex, rowSpan), true)
225 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
229 /// The constructor to initialize values to defaults for convenience.
231 /// <param name="rowIndex">The row index initialized.</param>
232 /// <param name="columnIndex">The column index initialized.</param>
233 /// <since_tizen> 3 </since_tizen>
234 public CellPosition(uint rowIndex, uint columnIndex) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_2(rowIndex, columnIndex), true)
236 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
240 /// The constructor to initialize values to default for convenience.
242 /// <param name="rowIndex">The row index initialized.</param>
243 /// <since_tizen> 3 </since_tizen>
244 public CellPosition(uint rowIndex) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_3(rowIndex), true)
246 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
250 /// The default constructor.
252 /// <since_tizen> 3 </since_tizen>
253 public CellPosition() : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_4(), true)
255 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
259 /// The index of a row.
261 /// <since_tizen> 3 </since_tizen>
266 NDalicPINVOKE.TableView_CellPosition_rowIndex_set(swigCPtr, value);
267 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
271 uint ret = NDalicPINVOKE.TableView_CellPosition_rowIndex_get(swigCPtr);
272 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
278 /// The index of a column.
280 /// <since_tizen> 3 </since_tizen>
281 public uint columnIndex
285 NDalicPINVOKE.TableView_CellPosition_columnIndex_set(swigCPtr, value);
286 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
290 uint ret = NDalicPINVOKE.TableView_CellPosition_columnIndex_get(swigCPtr);
291 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
297 /// The span of a row.
299 /// <since_tizen> 3 </since_tizen>
304 NDalicPINVOKE.TableView_CellPosition_rowSpan_set(swigCPtr, value);
305 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
309 uint ret = NDalicPINVOKE.TableView_CellPosition_rowSpan_get(swigCPtr);
310 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
316 /// The span of a column.
318 /// <since_tizen> 3 </since_tizen>
319 public uint columnSpan
323 NDalicPINVOKE.TableView_CellPosition_columnSpan_set(swigCPtr, value);
324 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
328 uint ret = NDalicPINVOKE.TableView_CellPosition_columnSpan_get(swigCPtr);
329 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
337 /// Creates the TableView view.
339 /// <param name="initialRows">Initial rows for the table.</param>
340 /// <param name="initialColumns">Initial columns for the table.</param>
341 /// <since_tizen> 3 </since_tizen>
342 public TableView(uint initialRows, uint initialColumns) : this(NDalicPINVOKE.TableView_New(initialRows, initialColumns), true)
344 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
349 /// The Copy constructor. Creates another handle that points to the same real object.
351 /// <param name="handle">Handle to copy from.</param>
352 /// <since_tizen> 3 </since_tizen>
353 public TableView(TableView handle) : this(NDalicPINVOKE.new_TableView__SWIG_1(TableView.getCPtr(handle)), true)
355 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
359 /// Adds a child to the table.<br />
360 /// If the row or column index is outside the table, the table gets resized bigger.<br />
362 /// <param name="child">The child to add.</param>
363 /// <param name="position">The position for the child.</param>
364 /// <returns>True if the addition succeeded, and false if the cell is already occupied.</returns>
365 /// <since_tizen> 3 </since_tizen>
366 public bool AddChild(View child, TableView.CellPosition position)
368 bool ret = NDalicPINVOKE.TableView_AddChild(swigCPtr, View.getCPtr(child), TableView.CellPosition.getCPtr(position));
369 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
374 /// Returns a child from the given layout position.
376 /// <param name="position">The position in the table.</param>
377 /// <returns>Child that was in the cell or an uninitialized handle.</returns>
378 /// <since_tizen> 3 </since_tizen>
379 public View GetChildAt(TableView.CellPosition position)
381 IntPtr cPtr = NDalicPINVOKE.TableView_GetChildAt(swigCPtr, TableView.CellPosition.getCPtr(position));
382 View ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as View;
384 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
389 /// Removes a child from the given layout position.
391 /// <param name="position">The position for the child to remove.</param>
392 /// <returns>Child that was removed or an uninitialized handle.</returns>
393 /// <since_tizen> 3 </since_tizen>
394 public View RemoveChildAt(TableView.CellPosition position)
396 IntPtr cPtr = NDalicPINVOKE.TableView_RemoveChildAt(swigCPtr, TableView.CellPosition.getCPtr(position));
397 View ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as View;
399 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
404 /// Finds the child's layout position.
406 /// <param name="child">The child to search for.</param>
407 /// <param name="position">The position for the child.</param>
408 /// <returns>True if the child was included in this TableView.</returns>
409 /// <since_tizen> 3 </since_tizen>
410 public bool FindChildPosition(View child, TableView.CellPosition position)
412 bool ret = NDalicPINVOKE.TableView_FindChildPosition(swigCPtr, View.getCPtr(child), TableView.CellPosition.getCPtr(position));
413 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
418 /// Inserts a new row to the given index.
420 /// <param name="rowIndex">The rowIndex of the new row.</param>
421 /// <since_tizen> 3 </since_tizen>
422 public void InsertRow(uint rowIndex)
424 NDalicPINVOKE.TableView_InsertRow(swigCPtr, rowIndex);
425 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
429 /// Deletes a row from the given index.<br />
430 /// Removed elements are deleted.<br />
432 /// <param name="rowIndex">The rowIndex of the row to delete.</param>
433 /// <since_tizen> 3 </since_tizen>
434 public void DeleteRow(uint rowIndex)
436 NDalicPINVOKE.TableView_DeleteRow__SWIG_0(swigCPtr, rowIndex);
437 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
441 /// Inserts a new column to the given index.
443 /// <param name="columnIndex">The columnIndex of the new column.</param>
444 /// <since_tizen> 3 </since_tizen>
445 public void InsertColumn(uint columnIndex)
447 NDalicPINVOKE.TableView_InsertColumn(swigCPtr, columnIndex);
448 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
452 /// Deletes a column from the given index.<br />
453 /// Removed elements are deleted.<br />
455 /// <param name="columnIndex">The columnIndex of the column to delete.</param>
456 /// <since_tizen> 3 </since_tizen>
457 public void DeleteColumn(uint columnIndex)
459 NDalicPINVOKE.TableView_DeleteColumn__SWIG_0(swigCPtr, columnIndex);
460 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
464 /// Resizes the TableView.
466 /// <param name="rows">The rows for the table.</param>
467 /// <param name="columns">The columns for the table.</param>
468 /// <since_tizen> 3 </since_tizen>
469 public void Resize(uint rows, uint columns)
471 NDalicPINVOKE.TableView_Resize__SWIG_0(swigCPtr, rows, columns);
472 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
476 /// Sets the horizontal and the vertical padding between cells.
478 /// <param name="padding">Width and height.</param>
479 /// <since_tizen> 3 </since_tizen>
480 public void SetCellPadding(Size2D padding)
482 NDalicPINVOKE.TableView_SetCellPadding(swigCPtr, Size2D.getCPtr(padding));
483 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
487 /// Gets the current padding as width and height.
489 /// <returns>The current padding as width and height.</returns>
490 /// <since_tizen> 3 </since_tizen>
491 public Vector2 GetCellPadding()
493 Vector2 ret = new Vector2(NDalicPINVOKE.TableView_GetCellPadding(swigCPtr), true);
494 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
499 /// Specifies this row as fitting its height to its children.
501 /// <param name="rowIndex">The row to set.</param>
502 /// <since_tizen> 3 </since_tizen>
503 public void SetFitHeight(uint rowIndex)
505 NDalicPINVOKE.TableView_SetFitHeight(swigCPtr, rowIndex);
506 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
510 /// Checks if the row is a fit row.
512 /// <param name="rowIndex">The row to check.</param>
513 /// <returns>True if the row is fit.</returns>
514 /// <since_tizen> 3 </since_tizen>
515 public bool IsFitHeight(uint rowIndex)
517 bool ret = NDalicPINVOKE.TableView_IsFitHeight(swigCPtr, rowIndex);
518 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
523 /// Specifies this column as fitting its width to its children.
525 /// <param name="columnIndex">The column to set.</param>
526 /// <since_tizen> 3 </since_tizen>
527 public void SetFitWidth(uint columnIndex)
529 NDalicPINVOKE.TableView_SetFitWidth(swigCPtr, columnIndex);
530 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
534 /// Checks if the column is a fit column.
536 /// <param name="columnIndex">The column to check.</param>
537 /// <returns>True if the column is fit.</returns>
538 /// <since_tizen> 3 </since_tizen>
539 public bool IsFitWidth(uint columnIndex)
541 bool ret = NDalicPINVOKE.TableView_IsFitWidth(swigCPtr, columnIndex);
542 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
547 /// Sets a row to have a fixed height.<br />
548 /// Setting a fixed height of 0 has no effect.<br />
550 /// <param name="rowIndex">The rowIndex for row with a fixed height.</param>
551 /// <param name="height">The height in world coordinate units.</param>
552 /// <since_tizen> 3 </since_tizen>
553 public void SetFixedHeight(uint rowIndex, float height)
555 NDalicPINVOKE.TableView_SetFixedHeight(swigCPtr, rowIndex, height);
556 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
560 /// Gets a row's fixed height.
562 /// <param name="rowIndex">The row index with a fixed height.</param>
563 /// <returns>height The height in world coordinate units.</returns>
564 /// <since_tizen> 3 </since_tizen>
565 public float GetFixedHeight(uint rowIndex)
567 float ret = NDalicPINVOKE.TableView_GetFixedHeight(swigCPtr, rowIndex);
568 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
573 /// Sets a row to have a relative height. Relative height means percentage of
574 /// the remainder of the table height after subtracting padding and fixed height rows.<br />
575 /// Setting a relative height of 0 has no effect.<br />
577 /// <param name="rowIndex">The rowIndex for row with a relative height.</param>
578 /// <param name="heightPercentage">The height percentage between 0.0f and 1.0f.</param>
579 /// <since_tizen> 3 </since_tizen>
580 public void SetRelativeHeight(uint rowIndex, float heightPercentage)
582 NDalicPINVOKE.TableView_SetRelativeHeight(swigCPtr, rowIndex, heightPercentage);
583 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
587 /// Gets a row's relative height.
589 /// <param name="rowIndex">The row index with a relative height.</param>
590 /// <returns>Height in percentage units, between 0.0f and 1.0f.</returns>
591 /// <since_tizen> 3 </since_tizen>
592 public float GetRelativeHeight(uint rowIndex)
594 float ret = NDalicPINVOKE.TableView_GetRelativeHeight(swigCPtr, rowIndex);
595 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
600 /// Sets a column to have a fixed width.<br />
601 /// Setting a fixed width of 0 has no effect.<br />
603 /// <param name="columnIndex">The columnIndex for column with a fixed width.</param>
604 /// <param name="width">The width in world coordinate units.</param>
605 /// <since_tizen> 3 </since_tizen>
606 public void SetFixedWidth(uint columnIndex, float width)
608 NDalicPINVOKE.TableView_SetFixedWidth(swigCPtr, columnIndex, width);
609 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
613 /// Gets a column's fixed width.
615 /// <param name="columnIndex">The column index with a fixed width.</param>
616 /// <returns>Width in world coordinate units.</returns>
617 /// <since_tizen> 3 </since_tizen>
618 public float GetFixedWidth(uint columnIndex)
620 float ret = NDalicPINVOKE.TableView_GetFixedWidth(swigCPtr, columnIndex);
621 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
626 /// Sets a column to have a relative width. Relative width means percentage of
627 /// the remainder of the table width after subtracting padding and fixed width columns.<br />
628 /// Setting a relative width of 0 has no effect.<br />
630 /// <param name="columnIndex">The columnIndex for column with a fixed width.</param>
631 /// <param name="widthPercentage">The widthPercentage between 0.0f and 1.0f.</param>
632 /// <since_tizen> 3 </since_tizen>
633 public void SetRelativeWidth(uint columnIndex, float widthPercentage)
635 NDalicPINVOKE.TableView_SetRelativeWidth(swigCPtr, columnIndex, widthPercentage);
636 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
640 /// Gets a column's relative width.
642 /// <param name="columnIndex">The column index with a relative width.</param>
643 /// <returns>Width in percentage units, between 0.0f and 1.0f.</returns>
644 /// <since_tizen> 3 </since_tizen>
645 public float GetRelativeWidth(uint columnIndex)
647 float ret = NDalicPINVOKE.TableView_GetRelativeWidth(swigCPtr, columnIndex);
648 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
653 /// Sets the alignment on a cell.<br />
654 /// Cells without calling this function have the default values of left and top respectively.<br />
656 /// <param name="position">The cell to set alignment on.</param>
657 /// <param name="horizontal">The horizontal alignment.</param>
658 /// <param name="vertical">The vertical alignment.</param>
659 /// <since_tizen> 3 </since_tizen>
660 public void SetCellAlignment(TableView.CellPosition position, HorizontalAlignmentType horizontal, VerticalAlignmentType vertical)
662 NDalicPINVOKE.TableView_SetCellAlignment(swigCPtr, TableView.CellPosition.getCPtr(position), (int)horizontal, (int)vertical);
663 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
667 /// Enumeration for describing how the size of a row or column has been set.
669 /// <since_tizen> 3 </since_tizen>
670 public enum LayoutPolicy
673 /// Fixed with the given value.
675 /// <since_tizen> 3 </since_tizen>
678 /// Calculated as percentage of the remainder after subtracting Padding and Fixed height/width.
680 /// <since_tizen> 3 </since_tizen>
683 /// Default policy, get the remainder of the 100% (after subtracting Fixed, Fit and Relative height/ width) divided evenly between 'fill' rows/columns.
685 /// <since_tizen> 3 </since_tizen>
688 /// Fit around its children.
690 /// <since_tizen> 3 </since_tizen>
695 /// The amount of rows in the table.
697 /// <since_tizen> 3 </since_tizen>
703 GetProperty(TableView.Property.ROWS).Get(out temp);
708 SetProperty(TableView.Property.ROWS, new Tizen.NUI.PropertyValue(value));
712 /// The amount of columns in the table.
714 /// <since_tizen> 3 </since_tizen>
720 GetProperty(TableView.Property.COLUMNS).Get(out temp);
725 SetProperty(TableView.Property.COLUMNS, new Tizen.NUI.PropertyValue(value));
729 /// Padding between cells.
731 /// <since_tizen> 3 </since_tizen>
732 public Vector2 CellPadding
736 Vector2 temp = new Vector2(0.0f, 0.0f);
737 GetProperty(TableView.Property.CELL_PADDING).Get(temp);
742 SetProperty(TableView.Property.CELL_PADDING, new Tizen.NUI.PropertyValue(value));
747 /// The number of layout rows.
749 /// <since_tizen> 3 </since_tizen>
750 public PropertyMap LayoutRows
754 PropertyMap temp = new PropertyMap();
755 GetProperty(TableView.Property.LAYOUT_ROWS).Get(temp);
760 SetProperty(TableView.Property.LAYOUT_ROWS, new Tizen.NUI.PropertyValue(value));
765 /// The number of layout columns.
767 /// <since_tizen> 3 </since_tizen>
768 public PropertyMap LayoutColumns
772 PropertyMap temp = new PropertyMap();
773 GetProperty(TableView.Property.LAYOUT_COLUMNS).Get(temp);
778 SetProperty(TableView.Property.LAYOUT_COLUMNS, new Tizen.NUI.PropertyValue(value));