2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0/
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
18 #include <FBaseSysLog.h>
19 #include <FUiCtrlITableViewItemEventListener.h>
20 #include <FUiCtrlIGroupedTableViewItemEventListener.h>
21 #include <FUiCtrlISectionTableViewItemEventListener.h>
22 #include <FUiCtrlTableView.h>
23 #include <FUiCtrlGroupedTableView.h>
24 #include <FUiCtrlSectionTableView.h>
25 #include <FUiCtrlTableViewItem.h>
26 #include <FUiCtrlTableViewGroupItem.h>
27 #include <FUiCtrlTableViewContextItem.h>
28 #include <FUiCtrlTableViewItemBase.h>
29 #include "FUiCtrl_TableViewItem.h"
30 #include "FUiCtrl_TableViewItemEvent.h"
31 #include "FUiCtrl_TableViewItemEventArg.h"
35 using namespace Tizen::Base;
36 using namespace Tizen::Base::Runtime;
38 namespace Tizen { namespace Ui { namespace Controls
41 _TableViewItemEvent::_TableViewItemEvent(void)
43 , __invokeTableViewItemCallback(true)
44 , __style(TABLE_VIEW_STYLE_SIMPLE)
49 _TableViewItemEvent::~_TableViewItemEvent(void)
55 _TableViewItemEvent::Construct(Tizen::Ui::Control* pSource, TableViewStyle style)
57 result r = _Event::Initialize();
58 SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, E_SYSTEM, "[E_SYSTEM] Could not construct TableViewItemEvent!");
68 _TableViewItemEvent::GetSource(void) const
74 _TableViewItemEvent::FireImpl(IEventListener& listener, const IEventArg& arg)
76 // cast to _ItemEventArg
77 _TableViewItemEventArg* pEventArg = dynamic_cast<_TableViewItemEventArg*>(const_cast<IEventArg*>(&arg));
78 SysTryReturnVoidResult(NID_UI_CTRL, pEventArg != null, E_INVALID_ARG, ("[E_INVALID_ARG] event argument is invalid type."));
80 int index1 = pEventArg->GetArg1();
81 int index2 = pEventArg->GetArg2();
82 int index3 = pEventArg->GetArg3();
83 int index4 = pEventArg->GetArg4();
85 bool activated = pEventArg->GetActivated();
86 bool tempInvokeTableViewItemCallback = __invokeTableViewItemCallback;
87 __invokeTableViewItemCallback = true;
94 switch (pEventArg->GetNotifyType())
96 case TABLEVIEW_NOTIFY_TYPE_SELECTED_ITEM:
97 if (tempInvokeTableViewItemCallback == true)
99 _TableViewItem* pItem = pEventArg->GetItem();
100 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_ARG, ("[E_INVALID_ARG] event argument is invalid type."));
101 TableViewItemBase* pItemBase = static_cast<TableViewItemBase*>(pItem->GetAppInfo());
103 if (__style == TABLE_VIEW_STYLE_SIMPLE)
105 ITableViewItemEventListener* pItemListener = dynamic_cast<ITableViewItemEventListener*>(&listener);
106 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
108 TableView* pTableView = dynamic_cast<TableView*>(GetSource());
109 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
111 TableViewItem* pItem = dynamic_cast<TableViewItem*>(pItemBase);
112 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
114 pItemListener->OnTableViewItemStateChanged(*pTableView, index1, pItem, TABLE_VIEW_ITEM_STATUS_SELECTED);
116 else if (__style == TABLE_VIEW_STYLE_GROUPED)
118 IGroupedTableViewItemEventListener* pItemListener = dynamic_cast<IGroupedTableViewItemEventListener*>(&listener);
119 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
121 GroupedTableView* pTableView = dynamic_cast<GroupedTableView*>(GetSource());
122 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
126 TableViewGroupItem* pGroupItem = dynamic_cast<TableViewGroupItem*>(pItemBase);
127 SysTryReturnVoidResult(NID_UI_CTRL, pGroupItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
129 pItemListener->OnGroupedTableViewGroupItemStateChanged(*pTableView, index1, pGroupItem, TABLE_VIEW_ITEM_STATUS_SELECTED);
133 TableViewItem* pItem = dynamic_cast<TableViewItem*>(pItemBase);
134 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
136 pItemListener->OnGroupedTableViewItemStateChanged(*pTableView, index1, index2, pItem, TABLE_VIEW_ITEM_STATUS_SELECTED);
141 ISectionTableViewItemEventListener* pItemListener = dynamic_cast<ISectionTableViewItemEventListener*>(&listener);
142 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
144 SectionTableView* pTableView = dynamic_cast<SectionTableView*>(GetSource());
145 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
147 TableViewItem* pItem = dynamic_cast<TableViewItem*>(pItemBase);
148 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
150 pItemListener->OnSectionTableViewItemStateChanged(*pTableView, index1, index2, pItem, TABLE_VIEW_ITEM_STATUS_SELECTED);
155 case TABLEVIEW_NOTIFY_TYPE_HIGHLIGHED_ITEM:
156 if (tempInvokeTableViewItemCallback == true)
158 _TableViewItem* pItem = pEventArg->GetItem();
159 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_ARG, ("[E_INVALID_ARG] event argument is invalid type."));
160 TableViewItemBase* pItemBase = static_cast<TableViewItemBase*>(pItem->GetAppInfo());
162 if (__style == TABLE_VIEW_STYLE_SIMPLE)
164 ITableViewItemEventListener* pItemListener = dynamic_cast<ITableViewItemEventListener*>(&listener);
165 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
167 TableView* pTableView = dynamic_cast<TableView*>(GetSource());
168 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
170 TableViewItem* pItem = dynamic_cast<TableViewItem*>(pItemBase);
171 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
173 pItemListener->OnTableViewItemStateChanged(*pTableView, index1, pItem, TABLE_VIEW_ITEM_STATUS_HIGHLIGHTED);
175 else if (__style == TABLE_VIEW_STYLE_GROUPED)
177 IGroupedTableViewItemEventListener* pItemListener = dynamic_cast<IGroupedTableViewItemEventListener*>(&listener);
178 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
180 GroupedTableView* pTableView = dynamic_cast<GroupedTableView*>(GetSource());
181 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
185 TableViewGroupItem* pGroupItem = dynamic_cast<TableViewGroupItem*>(pItemBase);
186 SysTryReturnVoidResult(NID_UI_CTRL, pGroupItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
188 pItemListener->OnGroupedTableViewGroupItemStateChanged(*pTableView, index1, pGroupItem, TABLE_VIEW_ITEM_STATUS_HIGHLIGHTED);
192 TableViewItem* pItem = dynamic_cast<TableViewItem*>(pItemBase);
193 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
195 pItemListener->OnGroupedTableViewItemStateChanged(*pTableView, index1, index2, pItem, TABLE_VIEW_ITEM_STATUS_HIGHLIGHTED);
200 ISectionTableViewItemEventListener* pItemListener = dynamic_cast<ISectionTableViewItemEventListener*>(&listener);
201 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
203 SectionTableView* pTableView = dynamic_cast<SectionTableView*>(GetSource());
204 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
206 TableViewItem* pItem = dynamic_cast<TableViewItem*>(pItemBase);
207 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
209 pItemListener->OnSectionTableViewItemStateChanged(*pTableView, index1, index2, pItem, TABLE_VIEW_ITEM_STATUS_HIGHLIGHTED);
214 case TABLEVIEW_NOTIFY_TYPE_ANNEX_CHECK:
215 if (tempInvokeTableViewItemCallback == true)
217 _TableViewItem* pItem = pEventArg->GetItem();
218 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_ARG, ("[E_INVALID_ARG] event argument is invalid type."));
219 TableViewItemBase* pItemBase = static_cast<TableViewItemBase*>(pItem->GetAppInfo());
221 if (__style == TABLE_VIEW_STYLE_SIMPLE)
223 ITableViewItemEventListener* pItemListener = dynamic_cast<ITableViewItemEventListener*>(&listener);
224 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
226 TableView* pTableView = dynamic_cast<TableView*>(GetSource());
227 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
229 TableViewItem* pItem = dynamic_cast<TableViewItem*>(pItemBase);
230 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
232 pItemListener->OnTableViewItemStateChanged(*pTableView, index1, pItem, TABLE_VIEW_ITEM_STATUS_CHECKED);
234 else if (__style == TABLE_VIEW_STYLE_GROUPED)
236 IGroupedTableViewItemEventListener* pItemListener = dynamic_cast<IGroupedTableViewItemEventListener*>(&listener);
237 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
239 GroupedTableView* pTableView = dynamic_cast<GroupedTableView*>(GetSource());
240 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
244 TableViewGroupItem* pGroupItem = dynamic_cast<TableViewGroupItem*>(pItemBase);
245 SysTryReturnVoidResult(NID_UI_CTRL, pGroupItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
247 pItemListener->OnGroupedTableViewGroupItemStateChanged(*pTableView, index1, pGroupItem, TABLE_VIEW_ITEM_STATUS_CHECKED);
251 TableViewItem* pItem = dynamic_cast<TableViewItem*>(pItemBase);
252 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
254 pItemListener->OnGroupedTableViewItemStateChanged(*pTableView, index1, index2, pItem, TABLE_VIEW_ITEM_STATUS_CHECKED);
259 ISectionTableViewItemEventListener* pItemListener = dynamic_cast<ISectionTableViewItemEventListener*>(&listener);
260 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
262 SectionTableView* pTableView = dynamic_cast<SectionTableView*>(GetSource());
263 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
265 TableViewItem* pItem = dynamic_cast<TableViewItem*>(pItemBase);
266 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
268 pItemListener->OnSectionTableViewItemStateChanged(*pTableView, index1, index2, pItem, TABLE_VIEW_ITEM_STATUS_CHECKED);
273 case TABLEVIEW_NOTIFY_TYPE_ANNEX_UNCHECK:
274 if (tempInvokeTableViewItemCallback == true)
276 _TableViewItem* pItem = pEventArg->GetItem();
277 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_ARG, ("[E_INVALID_ARG] event argument is invalid type."));
278 TableViewItemBase* pItemBase = static_cast<TableViewItemBase*>(pItem->GetAppInfo());
280 if (__style == TABLE_VIEW_STYLE_SIMPLE)
282 ITableViewItemEventListener* pItemListener = dynamic_cast<ITableViewItemEventListener*>(&listener);
283 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
285 TableView* pTableView = dynamic_cast<TableView*>(GetSource());
286 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
288 TableViewItem* pItem = dynamic_cast<TableViewItem*>(pItemBase);
289 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
291 pItemListener->OnTableViewItemStateChanged(*pTableView, index1, pItem, TABLE_VIEW_ITEM_STATUS_UNCHECKED);
293 else if (__style == TABLE_VIEW_STYLE_GROUPED)
295 IGroupedTableViewItemEventListener* pItemListener = dynamic_cast<IGroupedTableViewItemEventListener*>(&listener);
296 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
298 GroupedTableView* pTableView = dynamic_cast<GroupedTableView*>(GetSource());
299 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
303 TableViewGroupItem* pGroupItem = dynamic_cast<TableViewGroupItem*>(pItemBase);
304 SysTryReturnVoidResult(NID_UI_CTRL, pGroupItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
305 pItemListener->OnGroupedTableViewGroupItemStateChanged(*pTableView, index1, pGroupItem, TABLE_VIEW_ITEM_STATUS_UNCHECKED);
309 TableViewItem* pItem = dynamic_cast<TableViewItem*>(pItemBase);
310 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
312 pItemListener->OnGroupedTableViewItemStateChanged(*pTableView, index1, index2, pItem, TABLE_VIEW_ITEM_STATUS_UNCHECKED);
317 ISectionTableViewItemEventListener* pItemListener = dynamic_cast<ISectionTableViewItemEventListener*>(&listener);
318 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
320 SectionTableView* pTableView = dynamic_cast<SectionTableView*>(GetSource());
321 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
323 TableViewItem* pItem = dynamic_cast<TableViewItem*>(pItemBase);
324 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
326 pItemListener->OnSectionTableViewItemStateChanged(*pTableView, index1, index2, pItem, TABLE_VIEW_ITEM_STATUS_UNCHECKED);
331 case TABLEVIEW_NOTIFY_TYPE_ANNEX_MORE:
332 if (tempInvokeTableViewItemCallback == true)
334 _TableViewItem* pItem = pEventArg->GetItem();
335 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_ARG, ("[E_INVALID_ARG] event argument is invalid type."));
336 TableViewItemBase* pItemBase = static_cast<TableViewItemBase*>(pItem->GetAppInfo());
338 if (__style == TABLE_VIEW_STYLE_SIMPLE)
340 ITableViewItemEventListener* pItemListener = dynamic_cast<ITableViewItemEventListener*>(&listener);
341 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
343 TableView* pTableView = dynamic_cast<TableView*>(GetSource());
344 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
346 TableViewItem* pItem = dynamic_cast<TableViewItem*>(pItemBase);
347 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
349 pItemListener->OnTableViewItemStateChanged(*pTableView, index1, pItem, TABLE_VIEW_ITEM_STATUS_MORE);
351 else if (__style == TABLE_VIEW_STYLE_GROUPED)
353 IGroupedTableViewItemEventListener* pItemListener = dynamic_cast<IGroupedTableViewItemEventListener*>(&listener);
354 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
356 GroupedTableView* pTableView = dynamic_cast<GroupedTableView*>(GetSource());
357 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
361 TableViewGroupItem* pGroupItem = dynamic_cast<TableViewGroupItem*>(pItemBase);
362 SysTryReturnVoidResult(NID_UI_CTRL, pGroupItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
364 pItemListener->OnGroupedTableViewGroupItemStateChanged(*pTableView, index1, pGroupItem, TABLE_VIEW_ITEM_STATUS_MORE);
368 TableViewItem* pItem = dynamic_cast<TableViewItem*>(pItemBase);
369 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
371 pItemListener->OnGroupedTableViewItemStateChanged(*pTableView, index1, index2, pItem, TABLE_VIEW_ITEM_STATUS_MORE);
376 ISectionTableViewItemEventListener* pItemListener = dynamic_cast<ISectionTableViewItemEventListener*>(&listener);
377 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
379 SectionTableView* pTableView = dynamic_cast<SectionTableView*>(GetSource());
380 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
382 TableViewItem* pItem = dynamic_cast<TableViewItem*>(pItemBase);
383 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
385 pItemListener->OnSectionTableViewItemStateChanged(*pTableView, index1, index2, pItem, TABLE_VIEW_ITEM_STATUS_MORE);
390 case TABLEVIEW_NOTIFY_TYPE_ITEM_SWEPT:
391 // if (tempInvokeTableViewItemCallback == true)
393 // if (index3 == TABLE_VIEW_SWEEP_DIRECTION_LEFT)
395 // pItemListener->OnTableViewItemSwept(*pTableView, itemTag, TABLE_VIEW_SWEEP_DIRECTION_LEFT);
399 // pItemListener->OnTableViewItemSwept(*pTableView, itemTag, TABLE_VIEW_SWEEP_DIRECTION_RIGHT);
404 case TABLEVIEW_NOTIFY_TYPE_TOUCH_LONG_PRESSED:
405 // pItemListener->OnTableViewItemLongPressed(*pTableView, itemTag, __invokeTableViewItemCallback);
408 case TABLEVIEW_NOTIFY_TYPE_REORDERED_ITEM:
409 if (tempInvokeTableViewItemCallback == true)
411 if (__style == TABLE_VIEW_STYLE_SIMPLE)
413 ITableViewItemEventListener* pItemListener = dynamic_cast<ITableViewItemEventListener*>(&listener);
414 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
416 TableView* pTableView = dynamic_cast<TableView*>(GetSource());
417 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
419 pItemListener->OnTableViewItemReordered(*pTableView, index1, index2);
421 else if (__style == TABLE_VIEW_STYLE_GROUPED)
423 IGroupedTableViewItemEventListener* pItemListener = dynamic_cast<IGroupedTableViewItemEventListener*>(&listener);
424 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
426 GroupedTableView* pTableView = dynamic_cast<GroupedTableView*>(GetSource());
427 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
429 pItemListener->OnGroupedTableViewItemReordered(*pTableView, index1, index2, index3, index4);
434 case TABLEVIEW_NOTIFY_TYPE_CONTEXT_ITEM_ACTIVATION:
435 if (tempInvokeTableViewItemCallback == true)
437 _TableViewItem* pItem = pEventArg->GetItem();
438 SysTryReturnVoidResult(NID_UI_CTRL, pItem != null, E_INVALID_ARG, ("[E_INVALID_ARG] event argument is invalid type."));
439 TableViewItemBase* pItemBase = static_cast<TableViewItemBase*>(pItem->GetAppInfo());
441 TableViewContextItem* pContextItem = dynamic_cast<TableViewContextItem*>(pItemBase);
442 SysTryReturnVoidResult(NID_UI_CTRL, pContextItem != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
444 if (__style == TABLE_VIEW_STYLE_SIMPLE)
446 ITableViewItemEventListener* pItemListener = dynamic_cast<ITableViewItemEventListener*>(&listener);
447 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
449 TableView* pTableView = dynamic_cast<TableView*>(GetSource());
450 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
452 pItemListener->OnTableViewContextItemActivationStateChanged(*pTableView, index1, pContextItem, activated);
454 else if (__style == TABLE_VIEW_STYLE_GROUPED)
456 IGroupedTableViewItemEventListener* pItemListener = dynamic_cast<IGroupedTableViewItemEventListener*>(&listener);
457 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
459 GroupedTableView* pTableView = dynamic_cast<GroupedTableView*>(GetSource());
460 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
462 pItemListener->OnGroupedTableViewContextItemActivationStateChanged(*pTableView, index1, index2, pContextItem, activated);
466 ISectionTableViewItemEventListener* pItemListener = dynamic_cast<ISectionTableViewItemEventListener*>(&listener);
467 SysTryReturnVoidResult(NID_UI_CTRL, pItemListener != null, E_INVALID_ARG, ("[E_INVALID_ARG] invalid listener type."));
469 SectionTableView* pTableView = dynamic_cast<SectionTableView*>(GetSource());
470 SysTryReturnVoidResult(NID_UI_CTRL, pTableView != null, E_INVALID_STATE, ("[E_INVALID_STATE] This instance isn't constructed."));
472 pItemListener->OnSectionTableViewContextItemActivationStateChanged(*pTableView, index1, index2, pContextItem, activated);
484 }}} // Tizen::Ui::Controls