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 #define RADIO_STATE_DEFAULT 0 // radio is off
19 #define RADIO_STATE_VISIBLE 1 // radio is on
22 style { name: "radio_label_textblock_style";
23 base: "font=Tizen:style=Medium font_size="RADIO_STYLE_DEFAULT_FONT_SIZE_INC" color="RADIO_DEFAULT_TEXT_NORMAL_COLOR_INC" wrap=char text_class=tizen";
26 tag: "hilight" "+ font=Tizen:style=Bold";
27 tag: "b" "+ font=Tizen:style=Bold";
28 tag: "whitecolor" "+ color=#ffffff";
32 ////////////////////////////////////////////////////////////////////////////////////////
34 #define RADIO_STYLE_DEFAULT(style_name, min_width, min_height) \
35 group { name: "elm/radio/base/"style_name; \
37 image: "00_button_radio_activated_dim.png" COMP; \
38 image: "00_button_radio_activated.png" COMP; \
39 image: "00_button_radio_bg.png" COMP; \
40 image: "00_button_radio_dim_bg.png" COMP; \
41 image: "00_button_radio_press_bg.png" COMP; \
42 image: "00_button_radio_focus.png" COMP; \
45 public radio_state = RADIO_STATE_DEFAULT; \
48 part { name: "back_bg"; \
51 description { state: "default" 0.0; \
52 rel2.relative: 0.0 1.0; \
54 min: min_width min_height; \
62 description { state: "default" 0.0; \
63 min: RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC; \
64 max: RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC; \
68 image.normal: "00_button_radio_bg.png"; \
70 description { state: "disabled" 0.0; \
71 inherit: "default" 0.0; \
72 image.normal: "00_button_radio_dim_bg.png"; \
74 description { state: "pressed" 0.0; \
75 inherit: "default" 0.0; \
76 image.normal: "00_button_radio_press_bg.png"; \
79 part { name: "radio"; \
80 clip_to: "opacity_clip"; \
83 description { state: "default" 0.0; \
87 image.normal: "00_button_radio_activated.png"; \
90 description { state: "visible" 0.0; \
91 inherit: "default" 0.0; \
93 max: RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC; \
95 description { state: "disabled" 0.0; \
96 inherit: "default" 0.0; \
98 description { state: "disabled_visible" 0.0; \
99 inherit: "visible" 0.0; \
100 image.normal: "00_button_radio_activated_dim.png"; \
102 description { state: "pressed" 0.0; \
103 inherit: "visible" 0.0; \
106 part { name: "opacity_clip"; \
109 description { state: "default" 0.0; \
110 color: 255 255 255 0; \
112 description { state: "visible" 0.0; \
113 inherit: "default" 0.0; \
114 color: 255 255 255 255; \
117 part { name: "elm.swallow.content"; \
119 clip_to: "disclip"; \
120 description { state: "default" 0.0; \
134 description { state: "visible" 0.0; \
135 inherit: "default" 0.0; \
139 aspect_preference: VERTICAL; \
141 description { state: "disabled" 0.0; \
142 inherit: "default" 0.0; \
144 description { state: "disabled_visible" 0.0; \
145 inherit: "default" 0.0; \
151 part { name: "elm.text"; \
154 clip_to: "disclip"; \
156 description { state: "default" 0.0; \
162 to_x: "elm.swallow.content"; \
170 style: "radio_label_textblock_style"; \
174 description { state: "visible" 0.0; \
175 inherit: "default" 0.0; \
179 description { state: "disabled" 0.0; \
180 inherit: "default" 0.0; \
182 description { state: "disabled_visible" 0.0; \
183 inherit: "default" 0.0; \
186 color: RADIO_DEFAULT_TEXT_DISABLED_COLOR_INC; \
189 part { name: "over1"; \
191 ignore_flags: ON_HOLD; \
192 description { state: "default" 0.0; \
196 part { name: "over2"; \
199 description { state: "default" 0.0; \
203 part { name: "disclip"; \
206 description { state: "default" 0.0; \
207 color: RADIO_DISCLIP_NORMAL_COLOR_INC; \
209 description { state: "disabled" 0.0; \
210 color: RADIO_DISCLIP_DISABLED_COLOR_INC; \
213 part { name: "disabler"; \
215 description { state: "default" 0.0; \
218 description { state: "disabled" 0.0; \
219 inherit: "default" 0.0; \
226 program { name: "click"; \
227 signal: "mouse,clicked,1"; \
229 action: SIGNAL_EMIT "elm,action,radio,toggle" ""; \
231 program { name: "touch_sound"; \
232 signal: "mouse,clicked,1"; \
234 action: PLAY_SAMPLE "touch_sound" 1.0; \
236 program { name: "bg_normal"; \
237 signal: "mouse,up,1"; \
240 if (get_int(radio_state) == RADIO_STATE_VISIBLE) \
241 set_state(PART:"radio", "visible", 0.0); \
243 set_state(PART:"radio", "default", 0.0); \
244 set_state(PART:"bg", "default", 0.0); \
247 program { name: "pressed"; \
248 signal: "mouse,down,1"; \
251 if (get_int(radio_state) == RADIO_STATE_VISIBLE) \
252 set_state(PART:"radio", "pressed", 0.0); \
254 set_state(PART:"radio", "default", 0.0); \
255 set_state(PART:"bg", "pressed", 0.0); \
258 program { name: "mouse,out"; \
259 signal: "mouse,out"; \
262 if (get_int(radio_state) == RADIO_STATE_VISIBLE) \
263 set_state(PART:"radio", "visible", 0.0); \
265 set_state(PART:"radio", "default", 0.0); \
266 set_state(PART:"bg", "default", 0.0); \
269 program { name: "radio_on"; \
270 signal: "elm,state,radio,on"; \
273 set_int(radio_state, RADIO_STATE_VISIBLE); \
274 run_program(PROGRAM:"radio_show_effect"); \
275 run_program(PROGRAM:"radio_draw_effect"); \
278 program { name: "radio_off"; \
279 signal: "elm,state,radio,off"; \
282 set_int(radio_state, RADIO_STATE_DEFAULT); \
283 set_state(PART:"opacity_clip", "default", 0.0); \
284 set_state(PART:"radio", "default", 0.0); \
287 program { name: "radio_show_effect"; \
288 action: STATE_SET "visible" 0.0; \
289 transition: LINEAR 0.233; \
290 target: "opacity_clip"; \
292 program { name: "radio_draw_effect"; \
293 action: STATE_SET "visible" 0.0; \
294 transition: LINEAR 0.267; \
297 program { name: "text_show"; \
298 signal: "elm,state,text,visible"; \
300 action: STATE_SET "visible" 0.0; \
301 target: "elm.text"; \
303 program { name: "text_hide"; \
304 signal: "elm,state,text,hidden"; \
306 action: STATE_SET "default" 0.0; \
307 target: "elm.text"; \
309 program { name: "icon_show"; \
310 signal: "elm,state,icon,visible"; \
312 action: STATE_SET "visible" 0.0; \
313 target: "elm.swallow.content"; \
315 program { name: "icon_hide"; \
316 signal: "elm,state,icon,hidden"; \
318 action: STATE_SET "default" 0.0; \
319 target: "elm.swallow.content"; \
321 program { name: "disable"; \
322 signal: "elm,state,disabled"; \
324 action: STATE_SET "disabled" 0.0; \
327 target: "disabler"; \
328 after: "disable_text"; \
330 program { name: "disable_text"; \
334 get_state(PART:"elm.text", st, 30, vl); \
335 if (!strcmp(st, "visible")) \
336 set_state(PART:"elm.text", "disabled_visible", 0.0); \
338 set_state(PART:"elm.text", "disabled", 0.0); \
339 get_state(PART:"elm.swallow.content", st, 30, vl); \
340 if (!strcmp(st, "visible")) \
341 set_state(PART:"elm.swallow.content", "disabled_visible", 0.0); \
343 set_state(PART:"elm.swallow.content", "disabled", 0.0); \
344 get_state(PART:"radio", st, 30, vl); \
345 if (!strcmp(st, "visible")) \
346 set_state(PART:"radio", "disabled_visible", 0.0); \
348 set_state(PART:"radio", "disabled", 0.0); \
351 program { name: "enable"; \
352 signal: "elm,state,enabled"; \
354 action: STATE_SET "default" 0.0; \
355 target: "disabler"; \
358 after: "enable_text"; \
360 program { name: "enable_text"; \
364 get_state(PART:"elm.text", st, 30, vl); \
365 if (!strcmp(st, "disabled_visible")) \
366 set_state(PART:"elm.text", "visible", 0.0); \
368 set_state(PART:"elm.text", "default", 0.0); \
369 get_state(PART:"elm.swallow.content", st, 30, vl); \
370 if (!strcmp(st, "disabled_visible")) \
371 set_state(PART:"elm.swallow.content", "visible", 0.0); \
373 set_state(PART:"elm.swallow.content", "default", 0.0); \
374 get_state(PART:"radio", st, 30, vl); \
375 if (!strcmp(st, "disabled_visible")) \
377 set_state(PART:"opacity_clip", "visible", 0.0); \
378 set_state(PART:"radio", "visible", 0.0); \
382 set_state(PART:"opacity_clip", "default", 0.0); \
383 set_state(PART:"radio", "default", 0.0); \
390 ///////////////////////////////////////////////////////////////////////////////////////
391 RADIO_STYLE_DEFAULT("default", RADIO_STYLE_DEFAULT_BG_IMAGE_MIN_WIDTH_INC, RADIO_STYLE_DEFAULT_BG_IMAGE_MIN_HEIGHT_INC)
393 ///////////////////////////////////////////////////////////////////////////////////////
394 RADIO_STYLE_DEFAULT("default/extended", RADIO_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MIN_WIDTH_INC, RADIO_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MIN_WIDTH_INC)
396 ///////////////////////////////////////////////////////////////////////////////////////
398 #undef RADIO_STATE_DEFAULT
399 #undef RADIO_STATE_VISIBLE