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=#ffffff 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_press.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; \
104 image.normal: "00_button_radio_press.png"; \
107 part { name: "opacity_clip"; \
110 description { state: "default" 0.0; \
111 color: 255 255 255 0; \
113 description { state: "visible" 0.0; \
114 inherit: "default" 0.0; \
115 color: 255 255 255 255; \
118 part { name: "elm.swallow.content"; \
120 clip_to: "disclip"; \
121 description { state: "default" 0.0; \
135 description { state: "visible" 0.0; \
136 inherit: "default" 0.0; \
140 aspect_preference: VERTICAL; \
142 description { state: "disabled" 0.0; \
143 inherit: "default" 0.0; \
145 description { state: "disabled_visible" 0.0; \
146 inherit: "default" 0.0; \
152 part { name: "elm.text"; \
155 clip_to: "disclip"; \
157 description { state: "default" 0.0; \
163 to_x: "elm.swallow.content"; \
171 style: "radio_label_textblock_style"; \
174 color: RADIO_DEFAULT_TEXT_NORMAL_COLOR_INC; \
176 description { state: "visible" 0.0; \
177 inherit: "default" 0.0; \
181 description { state: "disabled" 0.0; \
182 inherit: "default" 0.0; \
184 description { state: "disabled_visible" 0.0; \
185 inherit: "default" 0.0; \
188 color: RADIO_DEFAULT_TEXT_DISABLED_COLOR_INC; \
191 part { name: "over1"; \
193 ignore_flags: ON_HOLD; \
194 description { state: "default" 0.0; \
198 part { name: "over2"; \
201 description { state: "default" 0.0; \
205 part { name: "disclip"; \
208 description { state: "default" 0.0; \
209 color: RADIO_DISCLIP_NORMAL_COLOR_INC; \
211 description { state: "disabled" 0.0; \
212 color: RADIO_DISCLIP_DISABLED_COLOR_INC; \
215 part { name: "disabler"; \
217 description { state: "default" 0.0; \
220 description { state: "disabled" 0.0; \
221 inherit: "default" 0.0; \
228 program { name: "click"; \
229 signal: "mouse,clicked,1"; \
231 action: SIGNAL_EMIT "elm,action,radio,toggle" ""; \
233 program { name: "touch_sound"; \
234 signal: "mouse,clicked,1"; \
236 action: PLAY_SAMPLE "touch_sound" 1.0; \
238 program { name: "bg_normal"; \
239 signal: "mouse,up,1"; \
242 if (get_int(radio_state) == RADIO_STATE_VISIBLE) \
243 set_state(PART:"radio", "visible", 0.0); \
245 set_state(PART:"radio", "default", 0.0); \
246 set_state(PART:"bg", "default", 0.0); \
249 program { name: "pressed"; \
250 signal: "mouse,down,1"; \
253 if (get_int(radio_state) == RADIO_STATE_VISIBLE) \
254 set_state(PART:"radio", "pressed", 0.0); \
256 set_state(PART:"radio", "default", 0.0); \
257 set_state(PART:"bg", "pressed", 0.0); \
260 program { name: "mouse,out"; \
261 signal: "mouse,out"; \
264 if (get_int(radio_state) == RADIO_STATE_VISIBLE) \
265 set_state(PART:"radio", "visible", 0.0); \
267 set_state(PART:"radio", "default", 0.0); \
268 set_state(PART:"bg", "default", 0.0); \
271 program { name: "radio_on"; \
272 signal: "elm,state,radio,on"; \
275 set_int(radio_state, RADIO_STATE_VISIBLE); \
276 run_program(PROGRAM:"radio_show_effect"); \
277 run_program(PROGRAM:"radio_draw_effect"); \
280 program { name: "radio_off"; \
281 signal: "elm,state,radio,off"; \
284 set_int(radio_state, RADIO_STATE_DEFAULT); \
285 set_state(PART:"opacity_clip", "default", 0.0); \
286 set_state(PART:"radio", "default", 0.0); \
289 program { name: "radio_show_effect"; \
290 action: STATE_SET "visible" 0.0; \
291 transition: LINEAR 0.233; \
292 target: "opacity_clip"; \
294 program { name: "radio_draw_effect"; \
295 action: STATE_SET "visible" 0.0; \
296 transition: LINEAR 0.267; \
299 program { name: "text_show"; \
300 signal: "elm,state,text,visible"; \
302 action: STATE_SET "visible" 0.0; \
303 target: "elm.text"; \
305 program { name: "text_hide"; \
306 signal: "elm,state,text,hidden"; \
308 action: STATE_SET "default" 0.0; \
309 target: "elm.text"; \
311 program { name: "icon_show"; \
312 signal: "elm,state,icon,visible"; \
314 action: STATE_SET "visible" 0.0; \
315 target: "elm.swallow.content"; \
317 program { name: "icon_hide"; \
318 signal: "elm,state,icon,hidden"; \
320 action: STATE_SET "default" 0.0; \
321 target: "elm.swallow.content"; \
323 program { name: "disable"; \
324 signal: "elm,state,disabled"; \
326 action: STATE_SET "disabled" 0.0; \
329 target: "disabler"; \
330 after: "disable_text"; \
332 program { name: "disable_text"; \
336 get_state(PART:"elm.text", st, 30, vl); \
337 if (!strcmp(st, "visible")) \
338 set_state(PART:"elm.text", "disabled_visible", 0.0); \
340 set_state(PART:"elm.text", "disabled", 0.0); \
341 get_state(PART:"elm.swallow.content", st, 30, vl); \
342 if (!strcmp(st, "visible")) \
343 set_state(PART:"elm.swallow.content", "disabled_visible", 0.0); \
345 set_state(PART:"elm.swallow.content", "disabled", 0.0); \
346 get_state(PART:"radio", st, 30, vl); \
347 if (!strcmp(st, "visible")) \
348 set_state(PART:"radio", "disabled_visible", 0.0); \
350 set_state(PART:"radio", "disabled", 0.0); \
353 program { name: "enable"; \
354 signal: "elm,state,enabled"; \
356 action: STATE_SET "default" 0.0; \
357 target: "disabler"; \
360 after: "enable_text"; \
362 program { name: "enable_text"; \
366 get_state(PART:"elm.text", st, 30, vl); \
367 if (!strcmp(st, "disabled_visible")) \
368 set_state(PART:"elm.text", "visible", 0.0); \
370 set_state(PART:"elm.text", "default", 0.0); \
371 get_state(PART:"elm.swallow.content", st, 30, vl); \
372 if (!strcmp(st, "disabled_visible")) \
373 set_state(PART:"elm.swallow.content", "visible", 0.0); \
375 set_state(PART:"elm.swallow.content", "default", 0.0); \
376 get_state(PART:"radio", st, 30, vl); \
377 if (!strcmp(st, "disabled_visible")) \
379 set_state(PART:"opacity_clip", "visible", 0.0); \
380 set_state(PART:"radio", "visible", 0.0); \
384 set_state(PART:"opacity_clip", "default", 0.0); \
385 set_state(PART:"radio", "default", 0.0); \
392 ///////////////////////////////////////////////////////////////////////////////////////
393 RADIO_STYLE_DEFAULT("default", RADIO_STYLE_DEFAULT_BG_IMAGE_MIN_WIDTH_INC, RADIO_STYLE_DEFAULT_BG_IMAGE_MIN_HEIGHT_INC)
395 ///////////////////////////////////////////////////////////////////////////////////////
396 RADIO_STYLE_DEFAULT("default/extended", RADIO_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MIN_WIDTH_INC, RADIO_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MIN_WIDTH_INC)
398 ///////////////////////////////////////////////////////////////////////////////////////
400 #undef RADIO_STATE_DEFAULT
401 #undef RADIO_STATE_VISIBLE