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;
20 using System.Runtime.InteropServices;
21 using Tizen.NUI.Binding;
23 namespace Tizen.NUI.BaseComponents
27 /// TableView is a layout container for aligning child actors in a grid like layout.<br />
28 /// TableView constraints the X and the Y position and the width and the height of the child actors.<br />
29 /// The Z position and depth are left intact so that the 3D model actors can also be laid out
30 /// in a grid without loosing their depth scaling.<br />
32 /// <since_tizen> 3 </since_tizen>
33 public class TableView : View
35 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
36 [EditorBrowsable(EditorBrowsableState.Never)]
37 public static readonly BindableProperty RowsProperty = BindableProperty.Create("Rows", typeof(int), typeof(TableView), default(int), propertyChanged: (bindable, oldValue, newValue) =>
39 var tableView = (TableView)bindable;
42 Tizen.NUI.Object.SetProperty(tableView.swigCPtr, TableView.Property.ROWS, new Tizen.NUI.PropertyValue((int)newValue));
45 defaultValueCreator:(bindable) =>
47 var tableView = (TableView)bindable;
49 Tizen.NUI.Object.GetProperty(tableView.swigCPtr, TableView.Property.ROWS).Get(out temp);
52 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
53 [EditorBrowsable(EditorBrowsableState.Never)]
54 public static readonly BindableProperty ColumnsProperty = BindableProperty.Create("Columns", typeof(int), typeof(TableView), default(int), propertyChanged: (bindable, oldValue, newValue) =>
56 var tableView = (TableView)bindable;
59 Tizen.NUI.Object.SetProperty(tableView.swigCPtr, TableView.Property.COLUMNS, new Tizen.NUI.PropertyValue((int)newValue));
62 defaultValueCreator:(bindable) =>
64 var tableView = (TableView)bindable;
66 Tizen.NUI.Object.GetProperty(tableView.swigCPtr, TableView.Property.COLUMNS).Get(out temp);
69 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
70 [EditorBrowsable(EditorBrowsableState.Never)]
71 public static readonly BindableProperty CellPaddingProperty = BindableProperty.Create("CellPadding", typeof(Vector2), typeof(TableView), Vector2.Zero, propertyChanged: (bindable, oldValue, newValue) =>
73 var tableView = (TableView)bindable;
76 Tizen.NUI.Object.SetProperty(tableView.swigCPtr, TableView.Property.CELL_PADDING, new Tizen.NUI.PropertyValue((Vector2)newValue));
79 defaultValueCreator:(bindable) =>
81 var tableView = (TableView)bindable;
82 Vector2 temp = new Vector2(0.0f, 0.0f);
83 Tizen.NUI.Object.GetProperty(tableView.swigCPtr, TableView.Property.CELL_PADDING).Get(temp);
86 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
87 [EditorBrowsable(EditorBrowsableState.Never)]
88 public static readonly BindableProperty LayoutRowsProperty = BindableProperty.Create("LayoutRows", typeof(PropertyMap), typeof(TableView), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
90 var tableView = (TableView)bindable;
93 Tizen.NUI.Object.SetProperty(tableView.swigCPtr, TableView.Property.LAYOUT_ROWS, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
96 defaultValueCreator:(bindable) =>
98 var tableView = (TableView)bindable;
99 PropertyMap temp = new PropertyMap();
100 Tizen.NUI.Object.GetProperty(tableView.swigCPtr, TableView.Property.LAYOUT_ROWS).Get(temp);
103 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
104 [EditorBrowsable(EditorBrowsableState.Never)]
105 public static readonly BindableProperty LayoutColumnsProperty = BindableProperty.Create("LayoutColumns", typeof(PropertyMap), typeof(TableView), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
107 var tableView = (TableView)bindable;
108 if (newValue != null)
110 Tizen.NUI.Object.SetProperty(tableView.swigCPtr, TableView.Property.LAYOUT_COLUMNS, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
113 defaultValueCreator:(bindable) =>
115 var tableView = (TableView)bindable;
116 PropertyMap temp = new PropertyMap();
117 Tizen.NUI.Object.GetProperty(tableView.swigCPtr, TableView.Property.LAYOUT_COLUMNS).Get(temp);
122 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
124 internal TableView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TableView_SWIGUpcast(cPtr), cMemoryOwn)
126 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
129 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TableView obj)
131 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
137 /// <param name="type">The dispose type</param>
138 /// <since_tizen> 3 </since_tizen>
139 protected override void Dispose(DisposeTypes type)
146 if (type == DisposeTypes.Explicit)
149 //Release your own managed resources here.
150 //You should release all of your own disposable objects here.
153 //Release your own unmanaged resources here.
154 //You should not access any managed member here except static instance.
155 //because the execution order of Finalizes is non-deterministic.
157 if (swigCPtr.Handle != global::System.IntPtr.Zero)
162 NDalicPINVOKE.delete_TableView(swigCPtr);
164 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
171 internal new class Property
173 internal static readonly int ROWS = NDalicPINVOKE.TableView_Property_ROWS_get();
174 internal static readonly int COLUMNS = NDalicPINVOKE.TableView_Property_COLUMNS_get();
175 internal static readonly int CELL_PADDING = NDalicPINVOKE.TableView_Property_CELL_PADDING_get();
176 internal static readonly int LAYOUT_ROWS = NDalicPINVOKE.TableView_Property_LAYOUT_ROWS_get();
177 internal static readonly int LAYOUT_COLUMNS = NDalicPINVOKE.TableView_Property_LAYOUT_COLUMNS_get();
180 internal class ChildProperty
182 internal static readonly int CELL_INDEX = NDalicPINVOKE.TableView_ChildProperty_CELL_INDEX_get();
183 internal static readonly int ROW_SPAN = NDalicPINVOKE.TableView_ChildProperty_ROW_SPAN_get();
184 internal static readonly int COLUMN_SPAN = NDalicPINVOKE.TableView_ChildProperty_COLUMN_SPAN_get();
185 internal static readonly int CELL_HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TableView_ChildProperty_CELL_HORIZONTAL_ALIGNMENT_get();
186 internal static readonly int CELL_VERTICAL_ALIGNMENT = NDalicPINVOKE.TableView_ChildProperty_CELL_VERTICAL_ALIGNMENT_get();
190 /// Class to specify the layout position for the child view.
192 /// <since_tizen> 3 </since_tizen>
193 public class CellPosition : global::System.IDisposable
195 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
199 /// <since_tizen> 3 </since_tizen>
200 protected bool swigCMemOwn;
202 internal CellPosition(global::System.IntPtr cPtr, bool cMemoryOwn)
204 swigCMemOwn = cMemoryOwn;
205 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
208 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CellPosition obj)
210 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
213 //A Flag to check who called Dispose(). (By User or DisposeQueue)
214 private bool isDisposeQueued = false;
216 /// A Flat to check if it is already disposed.
218 /// <since_tizen> 3 </since_tizen>
219 protected bool disposed = false;
224 /// <since_tizen> 3 </since_tizen>
227 if (!isDisposeQueued)
229 isDisposeQueued = true;
230 DisposeQueue.Instance.Add(this);
237 /// <since_tizen> 3 </since_tizen>
238 public void Dispose()
240 //Throw excpetion if Dispose() is called in separate thread.
241 if (!Window.IsInstalled())
243 throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
248 Dispose(DisposeTypes.Implicit);
252 Dispose(DisposeTypes.Explicit);
253 System.GC.SuppressFinalize(this);
260 /// <param name="type">DisposeTypes</param>
261 /// <since_tizen> 3 </since_tizen>
262 protected virtual void Dispose(DisposeTypes type)
269 if (type == DisposeTypes.Explicit)
272 //Release your own managed resources here.
273 //You should release all of your own disposable objects here.
276 //Release your own unmanaged resources here.
277 //You should not access any managed member here except static instance.
278 //because the execution order of Finalizes is non-deterministic.
280 if (swigCPtr.Handle != global::System.IntPtr.Zero)
285 NDalicPINVOKE.delete_TableView_CellPosition(swigCPtr);
287 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
295 /// <param name="rowIndex">The row index initialized.</param>
296 /// <param name="columnIndex">The column index initialized.</param>
297 /// <param name="rowSpan">The row span initialized.</param>
298 /// <param name="columnSpan">The column span initialized.</param>
299 /// <since_tizen> 3 </since_tizen>
300 public CellPosition(uint rowIndex, uint columnIndex, uint rowSpan, uint columnSpan) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_0(rowIndex, columnIndex, rowSpan, columnSpan), true)
302 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
306 /// The constructor to initialize values to defaults for convenience.
308 /// <param name="rowIndex">The row index initialized.</param>
309 /// <param name="columnIndex">The column index initialized.</param>
310 /// <param name="rowSpan">The row span initialized.</param>
311 /// <since_tizen> 3 </since_tizen>
312 public CellPosition(uint rowIndex, uint columnIndex, uint rowSpan) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_1(rowIndex, columnIndex, rowSpan), true)
314 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
318 /// The constructor to initialize values to defaults for convenience.
320 /// <param name="rowIndex">The row index initialized.</param>
321 /// <param name="columnIndex">The column index initialized.</param>
322 /// <since_tizen> 3 </since_tizen>
323 public CellPosition(uint rowIndex, uint columnIndex) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_2(rowIndex, columnIndex), true)
325 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
329 /// The constructor to initialize values to default for convenience.
331 /// <param name="rowIndex">The row index initialized.</param>
332 /// <since_tizen> 3 </since_tizen>
333 public CellPosition(uint rowIndex) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_3(rowIndex), true)
335 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
339 /// The default constructor.
341 /// <since_tizen> 3 </since_tizen>
342 public CellPosition() : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_4(), true)
344 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
348 /// The index of a row.
350 /// <since_tizen> 3 </since_tizen>
351 [Obsolete("Please do not use! This will be deprecated! Please use RowIndex instead!")]
352 [EditorBrowsable(EditorBrowsableState.Never)]
357 NDalicPINVOKE.TableView_CellPosition_rowIndex_set(swigCPtr, value);
358 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
362 uint ret = NDalicPINVOKE.TableView_CellPosition_rowIndex_get(swigCPtr);
363 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
369 /// The index of a row.
371 /// <since_tizen> 5 </since_tizen>
372 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
373 [EditorBrowsable(EditorBrowsableState.Never)]
378 uint ret = NDalicPINVOKE.TableView_CellPosition_rowIndex_get(swigCPtr);
379 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
386 /// The index of a column.
388 /// <since_tizen> 3 </since_tizen>
389 [Obsolete("Please do not use! This will be deprecated! Please use ColumnIndex instead!")]
390 [EditorBrowsable(EditorBrowsableState.Never)]
391 public uint columnIndex
395 NDalicPINVOKE.TableView_CellPosition_columnIndex_set(swigCPtr, value);
396 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
400 uint ret = NDalicPINVOKE.TableView_CellPosition_columnIndex_get(swigCPtr);
401 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
407 /// The index of a column.
409 /// <since_tizen> 5 </since_tizen>
410 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
411 [EditorBrowsable(EditorBrowsableState.Never)]
412 public uint ColumnIndex
416 uint ret = NDalicPINVOKE.TableView_CellPosition_columnIndex_get(swigCPtr);
417 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
423 /// The span of a row.
425 /// <since_tizen> 3 </since_tizen>
426 [Obsolete("Please do not use! This will be deprecated! Please use RowSpan instead!")]
427 [EditorBrowsable(EditorBrowsableState.Never)]
432 NDalicPINVOKE.TableView_CellPosition_rowSpan_set(swigCPtr, value);
433 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
437 uint ret = NDalicPINVOKE.TableView_CellPosition_rowSpan_get(swigCPtr);
438 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
444 /// The span of a row.
446 /// <since_tizen> 5 </since_tizen>
447 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
448 [EditorBrowsable(EditorBrowsableState.Never)]
453 uint ret = NDalicPINVOKE.TableView_CellPosition_rowSpan_get(swigCPtr);
454 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
460 /// The span of a column.
462 /// <since_tizen> 3 </since_tizen>
463 [Obsolete("Please do not use! This will be deprecated! Please use ColumnSpan instead!")]
464 [EditorBrowsable(EditorBrowsableState.Never)]
465 public uint columnSpan
469 NDalicPINVOKE.TableView_CellPosition_columnSpan_set(swigCPtr, value);
470 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
474 uint ret = NDalicPINVOKE.TableView_CellPosition_columnSpan_get(swigCPtr);
475 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
481 /// The span of a column.
483 /// <since_tizen> 5 </since_tizen>
484 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
485 [EditorBrowsable(EditorBrowsableState.Never)]
486 public uint ColumnSpan
490 uint ret = NDalicPINVOKE.TableView_CellPosition_columnSpan_get(swigCPtr);
491 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
500 /// Creates the default TableView view.
502 public TableView() : this(NDalicPINVOKE.TableView_New(1, 1), true)
504 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
509 /// Creates the TableView view.
511 /// <param name="initialRows">Initial rows for the table.</param>
512 /// <param name="initialColumns">Initial columns for the table.</param>
513 /// <since_tizen> 3 </since_tizen>
514 public TableView(uint initialRows, uint initialColumns) : this(NDalicPINVOKE.TableView_New(initialRows, initialColumns), true)
516 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
521 /// The Copy constructor. Creates another handle that points to the same real object.
523 /// <param name="handle">Handle to copy from.</param>
524 /// <since_tizen> 3 </since_tizen>
525 public TableView(TableView handle) : this(NDalicPINVOKE.new_TableView__SWIG_1(TableView.getCPtr(handle)), true)
527 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
531 /// Adds a child to the table.<br />
532 /// If the row or column index is outside the table, the table gets resized bigger.<br />
534 /// <param name="child">The child to add.</param>
535 /// <param name="position">The position for the child.</param>
536 /// <returns>True if the addition succeeded, and false if the cell is already occupied.</returns>
537 /// <since_tizen> 3 </since_tizen>
538 public bool AddChild(View child, TableView.CellPosition position)
540 bool ret = NDalicPINVOKE.TableView_AddChild(swigCPtr, View.getCPtr(child), TableView.CellPosition.getCPtr(position));
541 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
546 /// Returns a child from the given layout position.
548 /// <param name="position">The position in the table.</param>
549 /// <returns>Child that was in the cell or an uninitialized handle.</returns>
550 /// <since_tizen> 3 </since_tizen>
551 public View GetChildAt(TableView.CellPosition position)
553 //to fix memory leak issue, match the handle count with native side.
554 IntPtr cPtr = NDalicPINVOKE.TableView_GetChildAt(swigCPtr, TableView.CellPosition.getCPtr(position));
555 HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
556 View ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as View;
557 NDalicPINVOKE.delete_BaseHandle(CPtr);
558 CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
560 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
565 /// Removes a child from the given layout position.
567 /// <param name="position">The position for the child to remove.</param>
568 /// <returns>Child that was removed or an uninitialized handle.</returns>
569 /// <since_tizen> 3 </since_tizen>
570 public View RemoveChildAt(TableView.CellPosition position)
572 //to fix memory leak issue, match the handle count with native side.
573 IntPtr cPtr = NDalicPINVOKE.TableView_RemoveChildAt(swigCPtr, TableView.CellPosition.getCPtr(position));
574 HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
575 View ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as View;
576 NDalicPINVOKE.delete_BaseHandle(CPtr);
577 CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
579 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
584 /// Finds the child's layout position.
586 /// <param name="child">The child to search for.</param>
587 /// <param name="position">The position for the child.</param>
588 /// <returns>True if the child was included in this TableView.</returns>
589 /// <since_tizen> 3 </since_tizen>
590 public bool FindChildPosition(View child, TableView.CellPosition position)
592 bool ret = NDalicPINVOKE.TableView_FindChildPosition(swigCPtr, View.getCPtr(child), TableView.CellPosition.getCPtr(position));
593 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
598 /// Inserts a new row to the given index.
600 /// <param name="rowIndex">The rowIndex of the new row.</param>
601 /// <since_tizen> 3 </since_tizen>
602 public void InsertRow(uint rowIndex)
604 NDalicPINVOKE.TableView_InsertRow(swigCPtr, rowIndex);
605 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
609 /// Deletes a row from the given index.<br />
610 /// Removed elements are deleted.<br />
612 /// <param name="rowIndex">The rowIndex of the row to delete.</param>
613 /// <since_tizen> 3 </since_tizen>
614 public void DeleteRow(uint rowIndex)
616 NDalicPINVOKE.TableView_DeleteRow__SWIG_0(swigCPtr, rowIndex);
617 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
621 /// Inserts a new column to the given index.
623 /// <param name="columnIndex">The columnIndex of the new column.</param>
624 /// <since_tizen> 3 </since_tizen>
625 public void InsertColumn(uint columnIndex)
627 NDalicPINVOKE.TableView_InsertColumn(swigCPtr, columnIndex);
628 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
632 /// Deletes a column from the given index.<br />
633 /// Removed elements are deleted.<br />
635 /// <param name="columnIndex">The columnIndex of the column to delete.</param>
636 /// <since_tizen> 3 </since_tizen>
637 public void DeleteColumn(uint columnIndex)
639 NDalicPINVOKE.TableView_DeleteColumn__SWIG_0(swigCPtr, columnIndex);
640 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
644 /// Resizes the TableView.
646 /// <param name="rows">The rows for the table.</param>
647 /// <param name="columns">The columns for the table.</param>
648 /// <since_tizen> 3 </since_tizen>
649 public void Resize(uint rows, uint columns)
651 NDalicPINVOKE.TableView_Resize__SWIG_0(swigCPtr, rows, columns);
652 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
656 /// Sets the horizontal and the vertical padding between cells.
658 /// <param name="padding">Width and height.</param>
659 /// <since_tizen> 3 </since_tizen>
660 public void SetCellPadding(Size2D padding)
662 NDalicPINVOKE.TableView_SetCellPadding(swigCPtr, Size2D.getCPtr(padding));
663 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
667 /// Gets the current padding as width and height.
669 /// <returns>The current padding as width and height.</returns>
670 /// <since_tizen> 3 </since_tizen>
671 public Vector2 GetCellPadding()
673 Vector2 ret = new Vector2(NDalicPINVOKE.TableView_GetCellPadding(swigCPtr), true);
674 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
679 /// Specifies this row as fitting its height to its children.
681 /// <param name="rowIndex">The row to set.</param>
682 /// <since_tizen> 3 </since_tizen>
683 public void SetFitHeight(uint rowIndex)
685 NDalicPINVOKE.TableView_SetFitHeight(swigCPtr, rowIndex);
686 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
690 /// Checks if the row is a fit row.
692 /// <param name="rowIndex">The row to check.</param>
693 /// <returns>True if the row is fit.</returns>
694 /// <since_tizen> 3 </since_tizen>
695 public bool IsFitHeight(uint rowIndex)
697 bool ret = NDalicPINVOKE.TableView_IsFitHeight(swigCPtr, rowIndex);
698 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
703 /// Specifies this column as fitting its width to its children.
705 /// <param name="columnIndex">The column to set.</param>
706 /// <since_tizen> 3 </since_tizen>
707 public void SetFitWidth(uint columnIndex)
709 NDalicPINVOKE.TableView_SetFitWidth(swigCPtr, columnIndex);
710 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
714 /// Checks if the column is a fit column.
716 /// <param name="columnIndex">The column to check.</param>
717 /// <returns>True if the column is fit.</returns>
718 /// <since_tizen> 3 </since_tizen>
719 public bool IsFitWidth(uint columnIndex)
721 bool ret = NDalicPINVOKE.TableView_IsFitWidth(swigCPtr, columnIndex);
722 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
727 /// Sets a row to have a fixed height.<br />
728 /// Setting a fixed height of 0 has no effect.<br />
730 /// <param name="rowIndex">The rowIndex for row with a fixed height.</param>
731 /// <param name="height">The height in world coordinate units.</param>
732 /// <since_tizen> 3 </since_tizen>
733 public void SetFixedHeight(uint rowIndex, float height)
735 NDalicPINVOKE.TableView_SetFixedHeight(swigCPtr, rowIndex, height);
736 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
740 /// Gets a row's fixed height.
742 /// <param name="rowIndex">The row index with a fixed height.</param>
743 /// <returns>height The height in world coordinate units.</returns>
744 /// <since_tizen> 3 </since_tizen>
745 public float GetFixedHeight(uint rowIndex)
747 float ret = NDalicPINVOKE.TableView_GetFixedHeight(swigCPtr, rowIndex);
748 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
753 /// Sets a row to have a relative height. Relative height means percentage of
754 /// the remainder of the table height after subtracting padding and fixed height rows.<br />
755 /// Setting a relative height of 0 has no effect.<br />
757 /// <param name="rowIndex">The rowIndex for row with a relative height.</param>
758 /// <param name="heightPercentage">The height percentage between 0.0f and 1.0f.</param>
759 /// <since_tizen> 3 </since_tizen>
760 public void SetRelativeHeight(uint rowIndex, float heightPercentage)
762 NDalicPINVOKE.TableView_SetRelativeHeight(swigCPtr, rowIndex, heightPercentage);
763 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
767 /// Gets a row's relative height.
769 /// <param name="rowIndex">The row index with a relative height.</param>
770 /// <returns>Height in percentage units, between 0.0f and 1.0f.</returns>
771 /// <since_tizen> 3 </since_tizen>
772 public float GetRelativeHeight(uint rowIndex)
774 float ret = NDalicPINVOKE.TableView_GetRelativeHeight(swigCPtr, rowIndex);
775 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
780 /// Sets a column to have a fixed width.<br />
781 /// Setting a fixed width of 0 has no effect.<br />
783 /// <param name="columnIndex">The columnIndex for column with a fixed width.</param>
784 /// <param name="width">The width in world coordinate units.</param>
785 /// <since_tizen> 3 </since_tizen>
786 public void SetFixedWidth(uint columnIndex, float width)
788 NDalicPINVOKE.TableView_SetFixedWidth(swigCPtr, columnIndex, width);
789 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
793 /// Gets a column's fixed width.
795 /// <param name="columnIndex">The column index with a fixed width.</param>
796 /// <returns>Width in world coordinate units.</returns>
797 /// <since_tizen> 3 </since_tizen>
798 public float GetFixedWidth(uint columnIndex)
800 float ret = NDalicPINVOKE.TableView_GetFixedWidth(swigCPtr, columnIndex);
801 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
806 /// Sets a column to have a relative width. Relative width means percentage of
807 /// the remainder of the table width after subtracting padding and fixed width columns.<br />
808 /// Setting a relative width of 0 has no effect.<br />
810 /// <param name="columnIndex">The columnIndex for column with a fixed width.</param>
811 /// <param name="widthPercentage">The widthPercentage between 0.0f and 1.0f.</param>
812 /// <since_tizen> 3 </since_tizen>
813 public void SetRelativeWidth(uint columnIndex, float widthPercentage)
815 NDalicPINVOKE.TableView_SetRelativeWidth(swigCPtr, columnIndex, widthPercentage);
816 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
820 /// Gets a column's relative width.
822 /// <param name="columnIndex">The column index with a relative width.</param>
823 /// <returns>Width in percentage units, between 0.0f and 1.0f.</returns>
824 /// <since_tizen> 3 </since_tizen>
825 public float GetRelativeWidth(uint columnIndex)
827 float ret = NDalicPINVOKE.TableView_GetRelativeWidth(swigCPtr, columnIndex);
828 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
833 /// Sets the alignment on a cell.<br />
834 /// Cells without calling this function have the default values of left and top respectively.<br />
836 /// <param name="position">The cell to set alignment on.</param>
837 /// <param name="horizontal">The horizontal alignment.</param>
838 /// <param name="vertical">The vertical alignment.</param>
839 /// <since_tizen> 3 </since_tizen>
840 public void SetCellAlignment(TableView.CellPosition position, HorizontalAlignmentType horizontal, VerticalAlignmentType vertical)
842 NDalicPINVOKE.TableView_SetCellAlignment(swigCPtr, TableView.CellPosition.getCPtr(position), (int)horizontal, (int)vertical);
843 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
847 /// Enumeration for describing how the size of a row or column has been set.
849 /// <since_tizen> 3 </since_tizen>
850 public enum LayoutPolicy
853 /// Fixed with the given value.
855 /// <since_tizen> 3 </since_tizen>
858 /// Calculated as percentage of the remainder after subtracting Padding and Fixed height/width.
860 /// <since_tizen> 3 </since_tizen>
863 /// Default policy, get the remainder of the 100% (after subtracting Fixed, Fit and Relative height/ width) divided evenly between 'fill' rows/columns.
865 /// <since_tizen> 3 </since_tizen>
868 /// Fit around its children.
870 /// <since_tizen> 3 </since_tizen>
875 /// The amount of rows in the table.
877 /// <since_tizen> 3 </since_tizen>
882 return (int)GetValue(RowsProperty);
886 SetValue(RowsProperty, value);
887 NotifyPropertyChanged();
891 /// The amount of columns in the table.
893 /// <since_tizen> 3 </since_tizen>
898 return (int)GetValue(ColumnsProperty);
902 SetValue(ColumnsProperty, value);
903 NotifyPropertyChanged();
907 /// Padding between cells.
909 /// <since_tizen> 3 </since_tizen>
910 public Vector2 CellPadding
914 return (Vector2)GetValue(CellPaddingProperty);
918 SetValue(CellPaddingProperty, value);
919 NotifyPropertyChanged();
924 /// The number of layout rows.
926 /// <since_tizen> 3 </since_tizen>
927 public PropertyMap LayoutRows
931 return (PropertyMap)GetValue(LayoutRowsProperty);
935 SetValue(LayoutRowsProperty, value);
936 NotifyPropertyChanged();
941 /// The number of layout columns.
943 /// <since_tizen> 3 </since_tizen>
944 public PropertyMap LayoutColumns
948 return (PropertyMap)GetValue(LayoutColumnsProperty);
952 SetValue(LayoutColumnsProperty, value);
953 NotifyPropertyChanged();