#include "image_res.edc" #include "vp_font.edc" /* program macro */ #define CONTROL_BUTTON_PROG(_item_name_) \ program { \ name: _item_name_".pressed"; \ source: _item_name_; \ signal: "mouse,down,1"; \ action: STATE_SET "pressed" 0.0; \ target: _item_name_; \ after: "send."_item_name_".down.signal"; \ } \ program { \ name: _item_name_".clicked"; \ source: _item_name_; \ signal: "mouse,up,1"; \ action: STATE_SET "default" 0.0; \ target: _item_name_; \ after: "send."_item_name_".up.signal"; \ } \ program { \ name: "send."_item_name_".down.signal"; \ action: SIGNAL_EMIT "signal."_item_name_".down" _item_name_; \ } \ program { \ name: "send."_item_name_".up.signal"; \ action: SIGNAL_EMIT "signal."_item_name_".up" _item_name_; \ } /* CONTROL_BUTTON_PROG */ collections { group { name: "panel.button"; script { public val_repeat_mode = 0; /* 0: repeat_off, 1: repeat_one, 2: repeate_all */ public change_repeat() { if(get_int(val_repeat_mode) == 0) { set_int(val_repeat_mode, 1); run_program(PROGRAM:"send.panel.button.repeat.one"); } else if(get_int(val_repeat_mode) == 1) { set_int(val_repeat_mode, 2); run_program(PROGRAM:"send.panel.button.repeat.all"); } else { set_int(val_repeat_mode, 0); run_program(PROGRAM:"send.panel.button.repeat.off"); } } } parts { part { name: "panel.button.sa"; type: IMAGE; mouse_events: 1; scale: 1; description { state: "default" 0.0; visible: 1; min: 70 56; fixed: 1 1; align: 0.0 0.0; rel1 { relative: 0.0 0.0;} rel2 { relative: 0.0 1.0;} color: 255 255 255 255; image { normal: "panel/T01-2_icon_controller_sa.png"; } } description { state: "pressed" 0.0; inherit: "default" 0.0; image { normal: "panel/T01-2_icon_controller_sa.png"; } } description { state: "hide" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "panel.button.repeat"; type: IMAGE; mouse_events: 1; scale: 1; description { state: "default" 0.0; visible: 1; min: 70 56; fixed: 1 1; align: 1.0 0.0; rel1 { relative: 1.0 0.0; } rel2 { relative: 1.0 1.0; } color: 255 255 255 255; image { normal: "panel/T01-2_icon_controller_repeat.png"; } } description { state: "repeat_one" 0.0; inherit: "default" 0.0; image { normal: "panel/T01-2_icon_controller_repeat_1.png"; } } description { state: "repeat_all" 0.0; inherit: "default" 0.0; image { normal: "panel/T01-2_icon_controller_repeat_all.png"; } } description { state: "hide" 0.0; inherit: "default" 0.0; visible: 0; } } } /* parts */ programs { CONTROL_BUTTON_PROG("panel.button.sa"); CONTROL_BUTTON_PROG("panel.button.repeat"); program { signal: "signal.panel.button.streaming.mode"; source: "*"; action: STATE_SET "hide" 0.0; target: "panel.button.repeat"; } program { signal: "signal.panel.button.repeat.down"; source: "*"; script: { if(get_int(val_repeat_mode) == 0) { set_state(PART:"panel.button.repeat", "default", 0.0); } else if(get_int(val_repeat_mode) == 1) { set_state(PART:"panel.button.repeat", "repeat_one", 0.0); } else if(get_int(val_repeat_mode) == 2) { set_state(PART:"panel.button.repeat", "repeat_all", 0.0); } } } program { signal: "signal.panel.button.repeat.up"; source: "*"; script: { change_repeat(); } } program { name: "send.panel.button.repeat.off"; action: SIGNAL_EMIT "signal.panel.button.repeat.off" "panel.button.repeat"; } program { name: "send.panel.button.repeat.one"; action: SIGNAL_EMIT "signal.panel.button.repeat.one" "panel.button.repeat"; } program { name: "send.panel.button.repeat.all"; action: SIGNAL_EMIT "signal.panel.button.repeat.all" "panel.button.repeat"; } program { signal: "signal.panel.button.repeat.off"; source: "*"; action: STATE_SET "default" 0.0; target: "panel.button.repeat"; } program { signal: "signal.panel.button.repeat.one"; source: "*"; action: STATE_SET "repeat_one" 0.0; target: "panel.button.repeat"; } program { signal: "signal.panel.button.repeat.all"; source: "*"; action: STATE_SET "repeat_all" 0.0; target: "panel.button.repeat"; } } /* programs */ } /* group */ } /* collections */