Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / inc / FUi_UiBuilderControl.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
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
8 //
9 //     http://floralicense.org/license/
10 //
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.
16 //
17 /**
18 * @file    FUi_UiBuilderControl.h
19 * @brief      This is the header file for the %_UiBuilderControl class.
20 *
21 * This header file contains the declarations of the %_UiBuilderControl class.
22 */
23
24 #ifndef _FUI_INTERNAL_UI_BUILDER_CONTROL_H_
25 #define _FUI_INTERNAL_UI_BUILDER_CONTROL_H_
26
27 #include "FUi_UiBuilderConfig.h"
28 #include "FUi_UiBuilderControlLayout.h"
29 #include "FUi_UiBuilderControlItem.h"
30
31 namespace Tizen { namespace Ui
32 {
33
34 /**
35 * @class   _UiBuilderControl
36 * @brief      This class is an implementation of a %_UiBuilderControl.
37 * @since 2.0
38 *
39 * The %_UiBuilderControl Class contains that informaition for generating the control.
40 *
41 *
42 */
43 class _OSP_EXPORT_ _UiBuilderControl
44         : public Tizen::Base::Object
45 {
46 public:
47         _UiBuilderControl(void);
48         ~_UiBuilderControl(void);
49         void Construct(const Tizen::Base::String& type);
50         void SetId(const Tizen::Base::String& id);
51         void SetType(const Tizen::Base::String& type);
52         void SetParentWin(const Tizen::Base::String& parent);
53         void SetElement(int index, const Tizen::Base::String& elementName, const Tizen::Base::String& elementOutValue);
54         void SetItemElement(int index, const Tizen::Base::String& name, const Tizen::Base::String& value);
55         void SetItemName(const Tizen::Base::String& name);
56         Tizen::Base::String GetItemName(int index) const;
57         bool GetItemElement(int index, const Tizen::Base::String& elementName, Tizen::Base::String& elementOutValue);
58         int GetItemCount(void) const;
59         bool GetElement(const Tizen::Base::String& elementName, Tizen::Base::String& elementValue);
60         Tizen::Base::String GetId(void) const;
61         Tizen::Base::String GetType(void)  const;
62         Tizen::Base::String GetParentWin(void) const;
63         _UiBuilderControlLayout* GetAttribute(int mode) const;
64
65 private:
66         _UiBuilderControl(const _UiBuilderControl& rhs);
67         _UiBuilderControl& operator =(const _UiBuilderControl& rhs);
68         bool IsSpecialChar(const Tizen::Base::String& string) const;
69         void ConvertSpecialChar(Tizen::Base::String& string) const;
70
71 private:
72         int __itemCount;
73         void* __pHandle;
74         Tizen::Base::String  __type;
75         Tizen::Base::String __id;
76         Tizen::Base::String __parentId;
77         Tizen::Base::Collection::ArrayListT<_UiBuilderControlElement*>* __pUiBuilderControlElementList;
78         Tizen::Base::Collection::ArrayListT<_UiBuilderControlItem*>* __pUiBuilderControlItemList;
79         _UiBuilderControlLayout __layout[UIBUILDER_ATTRIBUTE_NUM];
80
81 }; // _UiBuilderControl
82
83 } } // Tizen::Ui
84
85 #endif  //_FUI_INTERNAL_UI_BUILDER_CONTROL_H_