2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.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://floralicense.org/license/
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 * @file FUi_LayoutProxyList.h
19 * @brief This is the header file for ProxyList class.
21 * This header file contains the declaration of ProxyList class.
26 #ifndef _FUI_INTERNAL_LAYOUT_PROXY_LIST_H_
27 #define _FUI_INTERNAL_LAYOUT_PROXY_LIST_H_
29 #include "FUi_LayoutLinkedList.h"
30 #include "FUi_LayoutProxyListNode.h"
32 namespace Tizen { namespace Ui { namespace _Layout
46 virtual ~ProxyList(void);
48 ProxyListNode* GetFirstNode(void) const;
49 ProxyListNode* GetLastNode(void) const;
51 ProxyListNode* GetNextNode(const LinkedListNode& node) const;
52 ProxyListNode* GetPrevNode(const LinkedListNode& node) const;
54 int GetIndex(ProxyListNode& pnode) const;
55 ProxyListNode* GetNode(int index) const;
56 ProxyListNode* GetNode(const LayoutItem& item) const;
58 int GetNodeCount(void) const;
60 LayoutItemProxy* GetItemProxy(const LayoutItem& item) const;
62 void RefreshIndex(void);
64 ProxyListNode* AddNode(LayoutItemProxy& addProxy);
65 virtual result RemoveNode(LinkedListNode& removeNode);
66 result RemoveNode(LayoutItemProxy& removeItem);
67 result RemoveNode(int index);
69 virtual result OnAddNode(ProxyListNode& addNode);
70 virtual result OnRemoveNode(ProxyListNode& removeNode);
72 ProxyListNode* SearchNode(int index) const;
73 ProxyListNode* SearchNode(const LayoutItemProxy& item) const;
78 void RemoveAllNode(void);
81 ProxyList(const ProxyList&);
82 ProxyList& operator =(const ProxyList&);
91 class AbsoluteProxyList
95 virtual result OnAddNode(ProxyListNode& addNode);
96 virtual result OnRemoveNode(ProxyListNode& removeNode);
99 AbsoluteProxyList(void);
100 virtual ~AbsoluteProxyList(void);
103 AbsoluteProxyList(const AbsoluteProxyList&);
104 AbsoluteProxyList& operator =(const AbsoluteProxyList&);
106 friend class AbsoluteLayout;
107 }; // AbsoluteProxyList
110 class RelativeProxyList
114 virtual result OnAddNode(ProxyListNode& pAddNode);
115 virtual result OnRemoveNode(ProxyListNode& pRemoveNode);
116 void SetRelativeLayout(RelativeLayout* pLayout);
117 int GetReferenceCount(ProxyListNode& pNode) const;
120 RelativeProxyList(void);
121 virtual ~RelativeProxyList(void);
124 RelativeLayout* __pRelativeLayout;
126 friend class RelativeLayout;
127 }; // RelativeProxyList
134 virtual result OnAddNode(ProxyListNode& addNode);
135 virtual result OnRemoveNode(ProxyListNode& removeNode);
138 TableProxyList(void);
139 virtual ~TableProxyList(void);
141 friend class TableLayout;
145 class LinearProxyList
149 virtual result OnAddNode(ProxyListNode& addNode);
150 virtual result OnRemoveNode(ProxyListNode& removeNode);
153 LinearProxyList(void);
154 virtual ~LinearProxyList(void);
157 LinearProxyList(const LinearProxyList&);
158 LinearProxyList& operator =(const LinearProxyList&);
160 friend class LinearLayout;
161 }; // LinearProxyList
163 }}} //Tizen::Ui::_Layout
165 #endif // _FUI_INTERNAL_LAYOUT_PROXY_LIST_H_