1/** 2Group: efl/check:toggle (@since 1.23) 3 Part Text: efl.offtext 4 Part Text: efl.ontext 5 Part Text: efl.text 6 Part Swallow: efl.content 7 Signal: efl,content,set 8 Signal: efl,content,unset 9 Signal: efl,state,disabled 10 Signal: efl,state,enabled 11 Signal: efl,state,selected 12 Signal: efl,state,unselected 13 Signal: efl,text,set 14 Signal: efl,text,unset 15Group: efl/check (@since 1.23) 16 Part Text: efl.text (required) 17 Part Swallow: efl.content (required) 18 Signal: efl,content,set 19 Signal: efl,content,unset 20 Signal: efl,state,disabled 21 Signal: efl,state,enabled 22 Signal: efl,state,selected 23 Signal: efl,state,unselected 24 Signal: efl,text,set 25 Signal: efl,text,unset 26*/ 27group { "efl/check"; data.item: "version" "123"; 28 images.image: "inset_shadow_tiny.png" COMP; 29 images.image: "bevel_in.png" COMP; 30 images.image: "sym_check_alum.png" COMP; 31#define ICON 1 32#define LABEL 2 33#define MASK 3 34#define DISABLE 4 35 script { 36 public btmode; 37 public eval_mode(m) { 38 new m1 = m & MASK; 39 new d = m & DISABLE; 40 if (m1 == (ICON | LABEL)) { 41 if (!d) { 42 set_state(PART:"efl.content", "visible", 0.0); 43 set_state(PART:"sizer_content", "visible", 0.0); 44 set_state(PART:"efl.text", "visible", 0.0); 45 set_state(PART:"shadow", "default", 0.0); 46 set_state(PART:"base", "default", 0.0); 47 set_state(PART:"clip", "default", 0.0); 48 set_state(PART:"event", "default", 0.0); 49 } else { 50 set_state(PART:"efl.content", "visible", 0.0); 51 set_state(PART:"sizer_content", "visible", 0.0); 52 set_state(PART:"efl.text", "disabled_visible", 0.0); 53 set_state(PART:"shadow", "disabled", 0.0); 54 set_state(PART:"base", "disabled", 0.0); 55 set_state(PART:"clip", "disabled", 0.0); 56 set_state(PART:"event", "disabled", 0.0); 57 } 58 } else if (m1 == (ICON)) { 59 if (!d) { 60 set_state(PART:"efl.content", "visible", 0.0); 61 set_state(PART:"sizer_content", "icononly", 0.0); 62 set_state(PART:"efl.text", "default", 0.0); 63 set_state(PART:"shadow", "default", 0.0); 64 set_state(PART:"base", "default", 0.0); 65 set_state(PART:"clip", "default", 0.0); 66 set_state(PART:"event", "default", 0.0); 67 } else { 68 set_state(PART:"efl.content", "visible", 0.0); 69 set_state(PART:"sizer_content", "icononly", 0.0); 70 set_state(PART:"efl.text", "disabled", 0.0); 71 set_state(PART:"shadow", "disabled", 0.0); 72 set_state(PART:"base", "disabled", 0.0); 73 set_state(PART:"clip", "disabled", 0.0); 74 set_state(PART:"event", "disabled", 0.0); 75 } 76 } else if (m1 == (LABEL)) { 77 if (!d) { 78 set_state(PART:"efl.content", "default", 0.0); 79 set_state(PART:"sizer_content", "default", 0.0); 80 set_state(PART:"efl.text", "visible", 0.0); 81 set_state(PART:"shadow", "default", 0.0); 82 set_state(PART:"base", "default", 0.0); 83 set_state(PART:"clip", "default", 0.0); 84 set_state(PART:"event", "default", 0.0); 85 } else { 86 set_state(PART:"efl.content", "default", 0.0); 87 set_state(PART:"sizer_content", "default", 0.0); 88 set_state(PART:"efl.text", "disabled_visible", 0.0); 89 set_state(PART:"shadow", "disabled", 0.0); 90 set_state(PART:"base", "disabled", 0.0); 91 set_state(PART:"clip", "disabled", 0.0); 92 set_state(PART:"event", "disabled", 0.0); 93 } 94 } else { 95 if (!d) { 96 set_state(PART:"efl.content", "default", 0.0); 97 set_state(PART:"sizer_content", "default", 0.0); 98 set_state(PART:"efl.text", "default", 0.0); 99 set_state(PART:"shadow", "default", 0.0); 100 set_state(PART:"base", "default", 0.0); 101 set_state(PART:"clip", "default", 0.0); 102 set_state(PART:"event", "default", 0.0); 103 } else { 104 set_state(PART:"efl.content", "default", 0.0); 105 set_state(PART:"sizer_content", "default", 0.0); 106 set_state(PART:"efl.text", "default", 0.0); 107 set_state(PART:"shadow", "disabled", 0.0); 108 set_state(PART:"base", "disabled", 0.0); 109 set_state(PART:"clip", "disabled", 0.0); 110 set_state(PART:"event", "disabled", 0.0); 111 } 112 } 113 } 114 } 115 parts { 116 part { name: "base"; type: RECT; 117 description { state: "default" 0.0; 118 rel1.offset: 1 1; 119 rel1.to: "inset"; 120 rel2.offset: -2 -2; 121 rel2.to: "inset"; 122 color: 24 24 24 255; 123 } 124 description { state: "disabled" 0.0; 125 inherit: "default" 0.0; 126 color: 64 64 64 255; 127 } 128 } 129 part { name: "shadow"; mouse_events: 0; 130 description { state: "default" 0.0; 131 image.normal: "inset_shadow_tiny.png"; 132 image.border: 4 4 4 4; 133 rel1.to: "base"; 134 rel2.to: "base"; 135 } 136 description { state: "disabled" 0.0; 137 inherit: "default" 0.0; 138 visible: 0; 139 } 140 } 141 part { name: "inset"; mouse_events: 0; 142 scale: 1; 143 description { state: "default" 0.0; 144 fixed: 1 0; 145 rel1.offset: 2 2; 146 rel2.relative: 0.0 1.0; 147 rel2.offset: 2 -3; 148 align: 0.0 0.5; 149 min: 13 13; 150 max: 13 13; 151 image.normal: "bevel_in.png"; 152 image.border: 1 1 1 1; 153 image.middle: 0; 154 fill.smooth: 0; 155 } 156 } 157 part { name: "indicator"; mouse_events: 0; 158 scale: 1; 159 clip_to: "clip"; 160 description { state: "default" 0.0; 161 fixed: 1 1; 162 rel1.to: "base"; 163 rel2.to: "base"; 164 image.normal: "sym_check_alum.png"; 165 min: 11 11; 166 max: 11 11; 167 visible: 0; 168 } 169 description { state: "selected" 0.0; 170 inherit: "default" 0.0; 171 visible: 1; 172 } 173 } 174 part { name: "clip"; type: RECT; 175 description { state: "default" 0.0; 176 } 177 description { state: "disabled" 0.0; 178 inherit: "default" 0.0; 179 color: 255 255 255 64; 180 } 181 } 182 part { name: "efl.content"; type: SWALLOW; 183 scale: 1; 184 clip_to: "clip"; 185 required; 186 description { state: "default" 0.0; 187 fixed: 1 0; 188 visible: 0; 189 align: 0.0 0.5; 190 max: 0 0; 191 rel1.to_x: "inset"; 192 rel1.relative: 1.0 0.0; 193 rel1.offset: 1 1; 194 rel2.to_x: "inset"; 195 rel2.offset: 1 -2; 196 rel2.relative: 1.0 1.0; 197 } 198 description { state: "visible" 0.0; 199 inherit: "default" 0.0; 200 visible: 1; 201 aspect: 1.0 1.0; 202 min: 16 16; 203 } 204 } 205 part { name: "sizer_content"; type: TEXT; mouse_events: 0; 206 scale: 1; 207 description { state: "default" 0.0; 208 fixed: 1 1; 209 visible: 0; 210 text { font: FN; size: 10; 211 min: 0 0; 212 text_class: "check_text"; 213 } 214 } 215 description { state: "visible" 0.0; 216 inherit: "default" 0.0; 217 rel1.to: "efl.content"; 218 rel2.to: "efl.content"; 219 text { 220 min: 1 1; 221 ellipsis: -1; 222 text: "M"; 223 } 224 } 225 description { state: "icononly" 0.0; 226 inherit: "default" 0.0; 227 rel1.to: "efl.content"; 228 rel2.to: "efl.content"; 229 text { 230 min: 1 1; 231 ellipsis: -1; 232 text: "M"; 233 } 234 } 235 } 236 part { name: "efl.text"; type: TEXT; mouse_events: 0; 237 effect: SHADOW BOTTOM; 238 scale: 1; 239 required; 240 description { state: "default" 0.0; 241 rel1.offset: 2 2; 242 rel1.to_x: "efl.content"; 243 rel1.relative: 1.0 0.0; 244 rel2.offset: -3 -3; 245 color: FN_COL_DEFAULT; 246 color_class: "check_text"; 247 text { font: FN; size: 10; 248 min: 0 0; 249 align: 0.0 0.5; 250 text_class: "check"; 251 } 252 } 253 description { state: "disabled" 0.0; 254 inherit: "default" 0.0; 255 color_class: "check_text_disabled"; 256 color3: 255 255 255 255; 257 } 258 description { state: "visible" 0.0; 259 inherit: "default" 0.0; 260 visible: 1; 261 text.min: 1 1; 262 text.ellipsis: -1; 263 } 264 description { state: "disabled_visible" 0.0; 265 inherit: "default" 0.0; 266 color_class: "check_text_disabled"; 267 color3: 255 255 255 255; 268 visible: 1; 269 text.min: 1 1; 270 text.ellipsis: -1; 271 } 272 } 273 part { name: "event"; type: RECT; 274 ignore_flags: ON_HOLD; 275 description { state: "default" 0.0; 276 color: 0 0 0 0; 277 } 278 description { state: "disabled" 0.0; 279 inherit: "default" 0.0; 280 visible: 0; 281 } 282 } 283 } 284 programs { 285 EFL_UI_CLICKABLE_PART_BIND(event) 286 program { 287 signal: "efl,state,selected"; source: "efl"; 288 action: STATE_SET "selected" 0.0; 289 target: "indicator"; 290 } 291 program { 292 signal: "efl,state,unselected"; source: "efl"; 293 action: STATE_SET "default" 0.0; 294 target: "indicator"; 295 } 296 program { 297 signal: "efl,text,set"; source: "efl"; 298 script { 299 new m = get_int(btmode); 300 m |= LABEL; set_int(btmode, m); 301 eval_mode(m); 302 } 303 } 304 program { 305 signal: "efl,text,unset"; source: "efl"; 306 script { 307 new m = get_int(btmode); 308 m &= ~LABEL; set_int(btmode, m); 309 eval_mode(m); 310 } 311 } 312 program { 313 signal: "efl,content,set"; source: "efl"; 314 script { 315 new m = get_int(btmode); 316 m |= ICON; set_int(btmode, m); 317 eval_mode(m); 318 } 319 } 320 program { 321 signal: "efl,content,unset"; source: "efl"; 322 script { 323 new m = get_int(btmode); 324 m &= ~ICON; set_int(btmode, m); 325 eval_mode(m); 326 } 327 } 328 program { 329 signal: "efl,state,disabled"; source: "efl"; 330 script { 331 new m = get_int(btmode); 332 m |= DISABLE; set_int(btmode, m); 333 eval_mode(m); 334 } 335 } 336 program { 337 signal: "efl,state,enabled"; source: "efl"; 338 script { 339 new m = get_int(btmode); 340 m &= ~DISABLE; set_int(btmode, m); 341 eval_mode(m); 342 } 343 } 344 } 345#undef ICON 346#undef LABEL 347#undef MASK 348#undef DISABLE 349} 350 351group { "efl/check:toggle"; data.item: "version" "123"; 352 images.image: "inset_shadow_tiny.png" COMP; 353 images.image: "bevel_in.png" COMP; 354 images.image: "bevel_out.png" COMP; 355 images.image: "vgrad_med_lighter.png" COMP; 356 images.image: "shadow_square_tiny.png" COMP; 357 images.image: "glow_small.png" COMP; 358 359#define ICON 1 360#define LABEL 2 361#define MASK 3 362#define DISABLE 4 363 script { 364 public is_rtl; 365 public is_drag; 366 public was_drag; 367 public btmode; 368 public eval_mode(m) { 369 new m1 = m & MASK; 370 new d = m & DISABLE; 371 if (m1 == (ICON | LABEL)) { 372 if (!d) { 373 set_state(PART:"efl.content", "visible", 0.0); 374 set_state(PART:"sizer_content", "visible", 0.0); 375 set_state(PART:"efl.text", "visible", 0.0); 376 set_state(PART:"shadow", "default", 0.0); 377 set_state(PART:"clip", "default", 0.0); 378 set_state(PART:"event", "default", 0.0); 379 set_state(PART:"event2", "default", 0.0); 380 set_state(PART:"efl.ontext", "default", 0.0); 381 set_state(PART:"efl.offtext", "default", 0.0); 382 set_state(PART:"onrect", "default", 0.0); 383 set_state(PART:"offrect", "default", 0.0); 384 } else { 385 set_state(PART:"efl.content", "visible", 0.0); 386 set_state(PART:"sizer_content", "visible", 0.0); 387 set_state(PART:"efl.text", "disabled_visible", 0.0); 388 set_state(PART:"shadow", "disabled", 0.0); 389 set_state(PART:"clip", "disabled", 0.0); 390 set_state(PART:"event", "disabled", 0.0); 391 set_state(PART:"event2", "disabled", 0.0); 392 set_state(PART:"efl.ontext", "disabled", 0.0); 393 set_state(PART:"efl.offtext", "disabled", 0.0); 394 set_state(PART:"onrect", "disabled", 0.0); 395 set_state(PART:"offrect", "disabled", 0.0); 396 } 397 } else if (m1 == (ICON)) { 398 if (!d) { 399 set_state(PART:"efl.content", "visible", 0.0); 400 set_state(PART:"sizer_content", "icononly", 0.0); 401 set_state(PART:"efl.text", "default", 0.0); 402 set_state(PART:"shadow", "default", 0.0); 403 set_state(PART:"clip", "default", 0.0); 404 set_state(PART:"event", "default", 0.0); 405 set_state(PART:"event2", "default", 0.0); 406 set_state(PART:"efl.ontext", "default", 0.0); 407 set_state(PART:"efl.offtext", "default", 0.0); 408 set_state(PART:"onrect", "default", 0.0); 409 set_state(PART:"offrect", "default", 0.0); 410 } else { 411 set_state(PART:"efl.content", "visible", 0.0); 412 set_state(PART:"sizer_content", "icononly", 0.0); 413 set_state(PART:"efl.text", "disabled", 0.0); 414 set_state(PART:"shadow", "disabled", 0.0); 415 set_state(PART:"clip", "disabled", 0.0); 416 set_state(PART:"event", "disabled", 0.0); 417 set_state(PART:"event2", "disabled", 0.0); 418 set_state(PART:"efl.ontext", "disabled", 0.0); 419 set_state(PART:"efl.offtext", "disabled", 0.0); 420 set_state(PART:"onrect", "disabled", 0.0); 421 set_state(PART:"offrect", "disabled", 0.0); 422 } 423 } else if (m1 == (LABEL)) { 424 if (!d) { 425 set_state(PART:"efl.content", "default", 0.0); 426 set_state(PART:"sizer_content", "default", 0.0); 427 set_state(PART:"efl.text", "visible", 0.0); 428 set_state(PART:"shadow", "default", 0.0); 429 set_state(PART:"clip", "default", 0.0); 430 set_state(PART:"event", "default", 0.0); 431 set_state(PART:"event2", "default", 0.0); 432 set_state(PART:"efl.ontext", "default", 0.0); 433 set_state(PART:"efl.offtext", "default", 0.0); 434 set_state(PART:"onrect", "default", 0.0); 435 set_state(PART:"offrect", "default", 0.0); 436 } else { 437 set_state(PART:"efl.content", "default", 0.0); 438 set_state(PART:"sizer_content", "default", 0.0); 439 set_state(PART:"efl.text", "disabled_visible", 0.0); 440 set_state(PART:"shadow", "disabled", 0.0); 441 set_state(PART:"clip", "disabled", 0.0); 442 set_state(PART:"event", "disabled", 0.0); 443 set_state(PART:"event2", "disabled", 0.0); 444 set_state(PART:"efl.ontext", "disabled", 0.0); 445 set_state(PART:"efl.offtext", "disabled", 0.0); 446 set_state(PART:"onrect", "disabled", 0.0); 447 set_state(PART:"offrect", "disabled", 0.0); 448 } 449 } else { 450 if (!d) { 451 set_state(PART:"efl.content", "default", 0.0); 452 set_state(PART:"sizer_content", "default", 0.0); 453 set_state(PART:"efl.text", "default", 0.0); 454 set_state(PART:"shadow", "default", 0.0); 455 set_state(PART:"clip", "default", 0.0); 456 set_state(PART:"event", "default", 0.0); 457 set_state(PART:"event2", "default", 0.0); 458 set_state(PART:"efl.ontext", "default", 0.0); 459 set_state(PART:"efl.offtext", "default", 0.0); 460 set_state(PART:"onrect", "default", 0.0); 461 set_state(PART:"offrect", "default", 0.0); 462 } else { 463 set_state(PART:"efl.content", "default", 0.0); 464 set_state(PART:"sizer_content", "default", 0.0); 465 set_state(PART:"efl.text", "default", 0.0); 466 set_state(PART:"shadow", "disabled", 0.0); 467 set_state(PART:"clip", "disabled", 0.0); 468 set_state(PART:"event", "disabled", 0.0); 469 set_state(PART:"event2", "disabled", 0.0); 470 set_state(PART:"efl.ontext", "disabled", 0.0); 471 set_state(PART:"efl.offtext", "disabled", 0.0); 472 set_state(PART:"onrect", "disabled", 0.0); 473 set_state(PART:"offrect", "disabled", 0.0); 474 } 475 } 476 } 477 } 478 parts { 479 part { name: "tog"; type: SPACER; 480 scale: 1; 481 description { state: "default" 0.0; 482 fixed: 1 0; 483 rel1.relative: 1.0 0.0; 484 rel1.offset: 2 2; 485 rel2.offset: -3 -3; 486 align: 1.0 0.5; 487 min: 88 15; 488 max: 88 15; 489 } 490 } 491 part { name: "onrect"; type: RECT; mouse_events: 0; 492 scale: 1; 493 clip_to: "tog_clip"; 494 description { state: "default" 0.0; 495 rel1.to: "button"; 496 rel1.relative: -5.0 0.0; 497 rel2.to: "button"; 498 rel2.relative: 0.5 1.0; 499 color: 24 24 24 255; 500 } 501 description { state: "disabled" 0.0; 502 inherit: "default" 0.0; 503 color: 64 64 64 255; 504 } 505 } 506 part { name: "offrect"; type: RECT; mouse_events: 0; 507 scale: 1; 508 clip_to: "tog_clip"; 509 description { state: "default" 0.0; 510 rel1.to: "button"; 511 rel1.relative: 0.5 0.0; 512 rel2.to: "button"; 513 rel2.relative: 6.0 1.0; 514 color: 24 24 24 255; 515 } 516 description { state: "disabled" 0.0; 517 inherit: "default" 0.0; 518 color: 64 64 64 255; 519 } 520 } 521 part { name: "efl.offtext"; type: TEXT; mouse_events: 0; 522 effect: SHADOW BOTTOM; 523 scale: 1; 524 clip_to: "tog_clip"; 525 description { state: "default" 0.0; 526 fixed: 1 1; 527 rel1.to: "button"; 528 rel1.relative: 1.0 0.0; 529 rel2.to: "offrect"; 530 color: FN_COL_DEFAULT; 531 color_class: "check_off_text"; 532 text { font: FN; size: 10; 533 min: 0 1; 534 align: 0.5 0.5; 535 text_class: "check_off_text"; 536 text: "OFF"; 537 } 538 } 539 description { state: "disabled" 0.0; 540 inherit: "default" 0.0; 541 color_class: "check_off_text_disabled"; 542 color3: 255 255 255 255; 543 } 544 } 545 part { name: "efl.ontext"; type: TEXT; mouse_events: 0; 546 effect: GLOW; 547 scale: 1; 548 clip_to: "tog_clip"; 549 description { state: "default" 0.0; 550 fixed: 1 1; 551 rel1.to: "onrect"; 552 rel1.offset: 2 -1; 553 rel2.to: "button"; 554 rel2.relative: 0.0 1.0; 555 rel2.offset: -1 -2; 556 color_class: "check_on_text"; 557 color2: 255 255 255 255; 558 color3: 255 255 255 255; 559 text { font: FN; size: 10; 560 min: 0 1; 561 align: 0.5 0.5; 562 text_class: "check_on_text"; 563 text: "ON"; 564 } 565 } 566 description { state: "disabled" 0.0; 567 inherit: "default" 0.0; 568 color_class: "check_on_text_disabled"; 569 color3: 255 255 255 255; 570 } 571 } 572 part { name: "shadow"; mouse_events: 0; 573 description { state: "default" 0.0; 574 image.normal: "inset_shadow_tiny.png"; 575 image.border: 4 4 4 4; 576 rel1.to: "tog"; 577 rel2.to: "tog"; 578 } 579 description { state: "disabled" 0.0; 580 inherit: "default" 0.0; 581 visible: 0; 582 } 583 } 584 part { name: "inset"; mouse_events: 0; 585 scale: 1; 586 description { state: "default" 0.0; 587 fixed: 1 1; 588 rel1.to: "tog"; 589 rel1.offset: -1 -1; 590 rel2.to: "tog"; 591 rel2.offset: 0 0; 592 image.normal: "bevel_in.png"; 593 image.border: 1 1 1 1; 594 image.middle: 0; 595 fill.smooth: 0; 596 } 597 } 598 part { name: "tog_clip"; type: RECT; 599 description { state: "default" 0.0; 600 rel1.to: "tog"; 601 rel2.to: "tog"; 602 } 603 } 604 part { name: "button"; type: RECT; 605 scale: 1; 606 clip_to: "tog_clip"; 607 dragable { 608 x: 1 1 0; 609 y: 0 0 0; 610 confine: "tog"; 611 } 612 description { state: "default" 0.0; 613 fixed: 1 1; 614 rel1.to: "tog"; 615 rel2.to: "tog"; 616 min: 15 15; 617 max: 15 99999; 618 color: 0 0 0 0; 619 } 620 } 621 part { name: "shadow_but"; mouse_events: 0; 622 description { state: "default" 0.0; 623 rel1.offset: -3 -2; 624 rel1.to: "base_but"; 625 rel2.offset: 2 4; 626 rel2.to: "base_but"; 627 image.normal: "shadow_square_tiny.png"; 628 image.border: 6 6 6 6; 629 fill.smooth: 0; 630 } 631 description { state: "clicked" 0.0; 632 inherit: "default" 0.0; 633 rel1.offset: -2 -2; 634 rel2.offset: 1 1; 635 color: 255 255 255 128; 636 } 637 } 638 part { name: "glow_but"; mouse_events: 0; 639 description { state: "default" 0.0; 640 rel1.offset: -3 -3; 641 rel1.to: "base_but"; 642 rel2.offset: 2 2; 643 rel2.to: "base_but"; 644 image.normal: "glow_small.png"; 645 image.border: 7 7 7 7; 646 fill.smooth: 0; 647 visible: 0; 648 } 649 description { state: "clicked" 0.0; 650 inherit: "default" 0.0; 651 visible: 1; 652 } 653 } 654 part { name: "base_but"; mouse_events: 0; 655 description { state: "default" 0.0; 656 rel1.to: "button"; 657 rel2.to: "button"; 658 image.normal: "vgrad_med_lighter.png"; 659 fill.smooth: 0; 660 TILED_HORIZ(120) 661 } 662 } 663 part { name: "bevel_but"; mouse_events: 0; 664 description { state: "default" 0.0; 665 rel1.to: "base_but"; 666 rel2.to: "base_but"; 667 image.normal: "bevel_out.png"; 668 image.border: 1 1 1 1; 669 image.middle: 0; 670 fill.smooth: 0; 671 } 672 } 673 part { name: "button_events"; type: RECT; 674 dragable.events: "button"; 675 description { state: "default" 0.0; 676 color: 0 0 0 0; 677 } 678 } 679 part { name: "clip"; type: RECT; 680 description { state: "default" 0.0; 681 } 682 description { state: "disabled" 0.0; 683 inherit: "default" 0.0; 684 color: 255 255 255 64; 685 } 686 } 687 part { name: "efl.content"; type: SWALLOW; 688 scale: 1; 689 clip_to: "clip"; 690 description { state: "default" 0.0; 691 fixed: 1 0; 692 visible: 0; 693 align: 0.0 0.5; 694 max: 0 0; 695 rel1.offset: 1 1; 696 rel2.offset: 1 -2; 697 rel2.relative: 0.0 1.0; 698 } 699 description { state: "visible" 0.0; 700 inherit: "default" 0.0; 701 fixed: 0 0; 702 visible: 1; 703 min: 16 16; 704 } 705 } 706 part { name: "sizer_content"; type: TEXT; mouse_events: 0; 707 scale: 1; 708 description { state: "default" 0.0; 709 fixed: 1 1; 710 visible: 0; 711 text { font: FN; size: 10; 712 min: 0 0; 713 text_class: "check_text"; 714 } 715 } 716 description { state: "visible" 0.0; 717 inherit: "default" 0.0; 718 rel1.to: "efl.content"; 719 rel2.to: "efl.content"; 720 text { 721 min: 1 1; 722 ellipsis: -1; 723 text: "M"; 724 } 725 } 726 description { state: "icononly" 0.0; 727 inherit: "default" 0.0; 728 rel1.to: "efl.content"; 729 rel2.to: "efl.content"; 730 text { 731 min: 1 1; 732 ellipsis: -1; 733 text: "M"; 734 } 735 } 736 } 737 part { name: "efl.text"; type: TEXT; mouse_events: 0; 738 effect: SHADOW BOTTOM; 739 scale: 1; 740 description { state: "default" 0.0; 741 rel1.to_x: "efl.content"; 742 rel1.relative: 1.0 0.0; 743 rel1.offset: 2 2; 744 rel2.to_x: "tog"; 745 rel2.relative: 0.0 1.0; 746 rel2.offset: -5 -3; 747 color: FN_COL_DEFAULT; 748 color_class: "check_text"; 749 text { font: FN; size: 10; 750 min: 0 0; 751 align: 0.0 0.5; 752 text_class: "check"; 753 } 754 } 755 description { state: "disabled" 0.0; 756 inherit: "default" 0.0; 757 color_class: "check_text_disabled"; 758 color3: 255 255 255 255; 759 } 760 description { state: "visible" 0.0; 761 inherit: "default" 0.0; 762 visible: 1; 763 text.min: 1 1; 764 text.ellipsis: -1; 765 } 766 description { state: "disabled_visible" 0.0; 767 inherit: "default" 0.0; 768 color_class: "check_text_disabled"; 769 color3: 255 255 255 255; 770 visible: 1; 771 text.min: 1 1; 772 text.ellipsis: -1; 773 } 774 } 775 part { name: "event"; type: RECT; 776 ignore_flags: ON_HOLD; 777 description { state: "default" 0.0; 778 color: 0 0 0 0; 779 rel1.to_x: "efl.content"; 780 rel2.to_x: "efl.text"; 781 } 782 description { state: "disabled" 0.0; 783 inherit: "default" 0.0; 784 visible: 0; 785 } 786 } 787 part { name: "event2"; type: RECT; 788 ignore_flags: ON_HOLD; 789 description { state: "default" 0.0; 790 color: 0 0 0 0; 791 visible: 0; 792 } 793 description { state: "disabled" 0.0; 794 inherit: "default" 0.0; 795 visible: 1; 796 } 797 } 798 } 799 programs { 800 EFL_UI_CLICKABLE_PART_BIND(event) 801 program { 802 signal: "efl,state,selected"; source: "efl"; 803 script { 804 new Float:drag; 805 if (get_int(is_rtl) == 0) { 806 drag = 100.0; 807 } else { 808 drag = 0.0; 809 } 810 set_drag(PART:"button", drag, 0.0); 811 } 812 } 813 program { 814 signal: "efl,state,unselected"; source: "efl"; 815 script { 816 new Float:drag; 817 if (get_int(is_rtl) == 0) { 818 drag = 0.0; 819 } else { 820 drag = 100.0; 821 } 822 set_drag(PART:"button", drag, 0.0); 823 } 824 } 825 program { 826 signal: "mouse,clicked,1"; source: "button"; 827 script { 828 new Float:dx, Float:dy; 829 get_drag(PART:"button", dx, dy); 830 if (!get_int(was_drag)) { 831 if (dx > 0.5) { 832 set_drag(PART:"button", 0.0, 0.0); 833 } else { 834 set_drag(PART:"button", 1.0, 0.0); 835 } 836 if (((get_int(is_rtl) == 1) && (dx <= 0.5)) || 837 (get_int(is_rtl) == 0) && (dx > 0.5)) { 838 emit("efl,action,unselect", "efl"); 839 } else { 840 emit("efl,action,select", "efl"); 841 } 842 } 843 } 844 } 845 program { 846 signal: "drag"; source: "button"; 847 script { 848 set_int(is_drag, 1); 849 } 850 } 851 program { 852 signal: "mouse,down,1"; source: "button"; 853 script { 854 set_int(was_drag, 0); 855 set_int(is_drag, 0); 856 } 857 } 858 program { name: "drag_end"; 859 signal: "mouse,up,1"; source: "button"; 860 script { 861 new Float:dx, Float:dy; 862 get_drag(PART:"button", dx, dy); 863 if (get_int(is_drag)) { 864 if (dx > 0.5) { 865 set_drag(PART:"button", 1.0, 0.0); 866 } else { 867 set_drag(PART:"button", 0.0, 0.0); 868 } 869 if (((get_int(is_rtl) == 1) && (dx <= 0.5)) || 870 (get_int(is_rtl) == 0) && (dx > 0.5)) { 871 emit("efl,action,select", "efl"); 872 } else { 873 emit("efl,action,unselect", "efl"); 874 } 875 set_int(was_drag, 1); 876 set_int(is_drag, 0); 877 } 878 } 879 } 880 program { 881 signal: "mouse,down,1"; source: "button"; 882 action: STATE_SET "clicked" 0.0; 883 target: "shadow_but"; 884 target: "glow_but"; 885 } 886 program { 887 signal: "mouse,up,1"; source: "button"; 888 action: STATE_SET "default" 0.0; 889 target: "shadow_but"; 890 target: "glow_but"; 891 } 892 program { 893 signal: "efl,text,set"; source: "efl"; 894 script { 895 new m = get_int(btmode); 896 m |= LABEL; set_int(btmode, m); 897 eval_mode(m); 898 } 899 } 900 program { 901 signal: "efl,text,unset"; source: "efl"; 902 script { 903 new m = get_int(btmode); 904 m &= ~LABEL; set_int(btmode, m); 905 eval_mode(m); 906 } 907 } 908 program { 909 signal: "efl,content,set"; source: "efl"; 910 script { 911 new m = get_int(btmode); 912 m |= ICON; set_int(btmode, m); 913 eval_mode(m); 914 } 915 } 916 program { 917 signal: "efl,content,unset"; source: "efl"; 918 script { 919 new m = get_int(btmode); 920 m &= ~ICON; set_int(btmode, m); 921 eval_mode(m); 922 } 923 } 924 program { 925 signal: "efl,state,disabled"; source: "efl"; 926 script { 927 new m = get_int(btmode); 928 m |= DISABLE; set_int(btmode, m); 929 eval_mode(m); 930 } 931 } 932 program { 933 signal: "efl,state,enabled"; source: "efl"; 934 script { 935 new m = get_int(btmode); 936 m &= ~DISABLE; set_int(btmode, m); 937 eval_mode(m); 938 } 939 } 940 program { 941 signal: "edje,state,rtl"; source: "edje"; 942 script { 943 set_int(is_rtl, 1); 944 } 945 } 946 program { 947 signal: "edje,state,ltr"; source: "edje"; 948 script { 949 set_int(is_rtl, 0); 950 } 951 } 952 } 953#undef ICON 954#undef LABEL 955#undef MASK 956#undef DISABLE 957} 958