572891fe2a2d0d673f3117e1600968fccc67766a
[apps/osp/Gallery.git] / src / GlRadioCustomItem.cpp
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Flora License, Version 1.1 (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
7 //
8 //     http://floralicense.org/license/
9 //
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.
15 //
16
17 /**
18  * @file:       RadioCustomItem.cpp
19  *@brief:       The RadioCustomItem
20  */
21
22 #include <FApp.h>
23 #include <FUiControls.h>
24
25 #include "GlRadioCustomItem.h"
26
27 using namespace Tizen::App;
28 using namespace Tizen::Base;
29 using namespace Tizen::Graphics;
30 using namespace Tizen::Ui::Controls;
31
32 static const wchar_t* IDB_BUTTON_RADIO_PRESS2 = L"00_button_radio_selected.png";
33 static const wchar_t* IDB_BUTTON_RADIO_PRESS1 = L"00_button_radio.png";
34
35 const int RadioCustomItem::IDA_FORMAT_STRING = 500;
36 const int RadioCustomItem::IDA_FORMAT_RADIO_BUTTON = 501;
37
38 RadioCustomItem::RadioCustomItem(void)
39         : __isSelected(false)
40         , __width(0)
41         , __height(0)
42 {
43 }
44
45 RadioCustomItem::~RadioCustomItem(void)
46 {
47 }
48
49 result
50 RadioCustomItem::Construct(int width, int height)
51 {
52         __width = width;
53         __height = height;
54         const Dimension dim(width, height);
55         result r = CustomItem::Construct(dim, LIST_ANNEX_STYLE_NORMAL);
56
57         return r;
58 }
59
60 void
61 RadioCustomItem::SetText(const Tizen::Base::String& text)
62 {
63         __text = text;
64 }
65
66 String
67 RadioCustomItem::GetText(void) const
68 {
69         return __text;
70 }
71
72 result
73 RadioCustomItem::Make(int fontSize)
74 {
75         result r = E_FAILURE;
76         Color textColor = CUSTOM_COLOR_LISTVIEW_TEXT2;
77         Color pressedTextColor = CUSTOM_COLOR_LISTVIEW_TEXT;
78         Bitmap* pBitmap = null;
79
80         if (__isSelected == true)
81         {
82                 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_RADIO_PRESS2);
83         }
84         else
85         {
86                 pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_BUTTON_RADIO_PRESS1);
87         }
88
89         if (pBitmap != NULL)
90         {
91                 AddElement(Rectangle(26, (__height - pBitmap->GetHeight()) / 2, pBitmap->GetWidth(), pBitmap->GetHeight()),
92                                 IDA_FORMAT_RADIO_BUTTON, *pBitmap, null);
93                 AppLogDebug("RadioCustomItem::the text is %ls", __text.GetPointer());
94
95                 r = AddElement(Rectangle(26 + pBitmap->GetWidth() + 10, 5, __width - 26 - 10 - pBitmap->GetWidth(),
96                                 __height), IDA_FORMAT_STRING, __text, fontSize , textColor, textColor, textColor, true);
97                 delete pBitmap;
98         }
99         TryCatch(!IsFailed(r),,"RadioCustomItem::the value is %s",GetErrorMessage(r));
100
101 CATCH:
102         return r;
103 }
104
105 void
106 RadioCustomItem::SetSelected(const bool selectedValue)
107 {
108         __isSelected = selectedValue;
109 }
110
111 bool
112 RadioCustomItem::GetSelected(void) const
113 {
114         return __isSelected;
115 }