--- /dev/null
+group { name: "elm/check/base/toggle";
+ images {
+ image: "shelf_inset.png" COMP;
+ image: "bt_basew.png" COMP;
+ image: "bt_bases.png" COMP;
+ image: "bt_hilightw.png" COMP;
+ image: "tog_base_on.png" COMP;
+ image: "tog_base_off.png" COMP;
+ image: "tog_dis_base_on.png" COMP;
+ image: "tog_dis_base_off.png" COMP;
+ }
+ script {
+ public is_rtl;
+ }
+ parts {
+ part { name: "bg";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel1.offset: -4 3;
+ rel2.offset: -4 -4;
+ align: 1.0 0.5;
+ min: 96 16;
+ max: 96 16;
+ aspect: 4.0 4.0;
+ aspect_preference: VERTICAL;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "clipper";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "button";
+ type: RECT;
+ scale: 1;
+ clip_to: "clipper";
+ mouse_events: 1;
+ dragable {
+ x: 1 1 0;
+ y: 0 0 0;
+ confine: "bg";
+ }
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ min: 16 16;
+ max: 16 16;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "button_events";
+ type: RECT;
+ dragable {
+ events: "button";
+ }
+ description { state: "default" 0.0;
+ rel1.to_x: "bg";
+ rel1.offset: 0 0;
+ rel1.relative: 0.0 0.0;
+ rel2.to_x: "bg";
+ rel2.offset: -1 -1;
+ rel2.relative: 1.0 1.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "onrect";
+ type: IMAGE;
+ scale: 1;
+ clip_to: "clipper";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "button";
+ rel1.relative: -5.0 0.0;
+ rel2.to: "button";
+ rel2.relative: 0.5 1.0;
+ image.normal: "tog_base_on.png";
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "tog_dis_base_on.png";
+ }
+ }
+ part { name: "offrect";
+ type: IMAGE;
+ scale: 1;
+ clip_to: "clipper";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "button";
+ rel1.relative: 0.5 0.0;
+ rel2.to: "button";
+ rel2.relative: 6.0 1.0;
+ image.normal: "tog_base_off.png";
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "tog_dis_base_off.png";
+ }
+ }
+ part { name: "elm.offtext";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to_x: "button";
+ rel1.relative: 1.0 0.0;
+ rel2.to_x: "offrect";
+ color: 0 0 0 255;
+ text {
+ font: "Sans,Edje-Vera";
+ size: 10;
+ min: 0 1;
+ align: 0.5 0.5;
+ text: "OFF";
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 128 128 128 128;
+ }
+ }
+ part { name: "elm.ontext";
+ type: TEXT;
+ effect: SOFT_SHADOW;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to_x: "onrect";
+ rel1.offset: 1 1;
+ rel2.to_x: "button";
+ rel2.offset: 0 0;
+ rel2.relative: 0.0 1.0;
+ color: 224 224 224 255;
+ color3: 0 0 0 64;
+ text {
+ font: "Sans,Edje-Vera";
+ size: 10;
+ min: 0 1;
+ align: 0.5 0.5;
+ text: "ON";
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 128 128 128 128;
+ color3: 0 0 0 24;
+ }
+ }
+ part { name: "conf_over";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.offset: -1 -1;
+ rel1.to: "bg";
+ rel2.offset: 0 0;
+ rel2.to: "bg";
+ image {
+ normal: "shelf_inset.png";
+ border: 7 7 7 7;
+ middle: 0;
+ }
+ fill.smooth : 0;
+ }
+ }
+ part { name: "button0";
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to: "button2";
+ rel1.offset: -4 -4;
+ rel2.to: "button2";
+ rel2.offset: 3 3;
+ image {
+ normal: "bt_bases.png";
+ border: 11 11 11 11;
+ }
+ image.middle: SOLID;
+ color: 255 255 255 128;
+ }
+ }
+ part { name: "button2";
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to: "button";
+ rel1.offset: -2 -2;
+ rel2.to: "button";
+ rel2.offset: 1 1;
+ image {
+ normal: "bt_basew.png";
+ border: 7 7 7 7;
+ }
+ image.middle: SOLID;
+ }
+ }
+ part { name: "button3";
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to: "button2";
+ rel2.to: "button2";
+ rel2.relative: 1.0 0.5;
+ image {
+ normal: "bt_hilightw.png";
+ border: 4 4 4 0;
+ }
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ visible: 0;
+ align: 0.0 0.5;
+ rel1.offset: 4 4;
+ rel2.relative: 0.0 1.0;
+ rel2.offset: 3 -5;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ aspect: 1.0 1.0;
+ rel2.offset: 4 -5;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 128 128 128 128;
+ }
+ description { state: "disabled_visible" 0.0;
+ inherit: "default" 0.0;
+ color: 128 128 128 128;
+ visible: 1;
+ aspect: 1.0 1.0;
+ }
+ }
+ part { name: "elm.text";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1.to_x: "elm.swallow.content";
+ rel1.relative: 1.0 0.0;
+ rel1.offset: 0 4;
+ rel2.to_x: "bg";
+ rel2.relative: 0.0 1.0;
+ rel2.offset: -5 -5;
+ color: 0 0 0 255;
+ text {
+ font: "Sans,Edje-Vera";
+ size: 10;
+ min: 0 0;
+ align: 0.0 0.5;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ text.min: 1 1;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 128 128 128 128;
+ }
+ description { state: "disabled_visible" 0.0;
+ inherit: "default" 0.0;
+ color: 128 128 128 128;
+ visible: 1;
+ text.min: 1 1;
+ }
+ }
+ part { name: "disabler";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "drag_end";
+ signal: "mouse,up,1";
+ source: "button";
+ script {
+ new Float:dx, Float:dy;
+ get_drag(PART:"button", dx, dy);
+ if (dx > 0.5)
+ {
+ set_drag(PART:"button", 1.0, 0.0);
+ }
+ else
+ {
+ set_drag(PART:"button", 0.0, 0.0);
+ }
+ if (((get_int(is_rtl) == 1) && (dx <= 0.5)) ||
+ (get_int(is_rtl) == 0) && (dx > 0.5)) {
+ emit("elm,action,check,on", "");
+ }
+ else {
+ emit("elm,action,check,off", "");
+ }
+
+ }
+ }
+ program { name: "check_on";
+ signal: "elm,state,check,on";
+ source: "elm";
+ script {
+ new Float:drag;
+ if (get_int(is_rtl) == 0) {
+ drag = 100.0;
+ }
+ else {
+ drag = 0.0;
+ }
+ set_drag(PART:"button", drag, 0.0);
+ }
+ }
+ program { name: "check_off";
+ signal: "elm,state,check,off";
+ source: "elm";
+ script {
+ new Float:drag;
+ if (get_int(is_rtl) == 0) {
+ drag = 0.0;
+ }
+ else {
+ drag = 100.0;
+ }
+ set_drag(PART:"button", drag, 0.0);
+ }
+ }
+ program { name: "text_show";
+ signal: "elm,state,text,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.text";
+ }
+ program { name: "text_hide";
+ signal: "elm,state,text,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.text";
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "elm.offtext";
+ target: "elm.ontext";
+ target: "onrect";
+ target: "offrect";
+ target: "disabler";
+ after: "disable_text";
+ }
+ program { name: "disable_text";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.text", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ set_state(PART:"elm.text", "disabled_visible", 0.0);
+ else
+ set_state(PART:"elm.text", "disabled", 0.0);
+
+ get_state(PART:"elm.swallow.content", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ set_state(PART:"elm.swallow.content", "disabled_visible", 0.0);
+ else
+ set_state(PART:"elm.swallow.content", "disabled", 0.0);
+ }
+ }
+ program { name: "enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "disabler";
+ target: "onrect";
+ target: "offrect";
+ after: "enable_text";
+ }
+ program { name: "enable_text";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.text", st, 30, vl);
+ if (!strcmp(st, "disabled_visible"))
+ set_state(PART:"elm.text", "visible", 0.0);
+ else
+ set_state(PART:"elm.text", "default", 0.0);
+
+ get_state(PART:"elm.swallow.content", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ set_state(PART:"elm.swallow.content", "visible", 0.0);
+ else
+ set_state(PART:"elm.swallow.content", "default", 0.0);
+ }
+ }
+ program { name: "to_rtl";
+ signal: "edje,state,rtl";
+ source: "edje";
+ script {
+ set_int(is_rtl, 1);
+ }
+ }
+ program { name: "to_ltr";
+ signal: "edje,state,ltr";
+ source: "edje";
+ script {
+ set_int(is_rtl, 0);
+ }
+ }
+ }
+}
else
edje_object_signal_emit(wd->chk, "elm,state,icon,hidden", "elm");
if (wd->state)
- {
- edje_object_signal_emit(wd->chk, "elm,state,check,on", "elm");
- edje_object_signal_emit(wd->chk, "elm,state,toggle,on", "elm");
- }
+ edje_object_signal_emit(wd->chk, "elm,state,check,on", "elm");
else
- {
- edje_object_signal_emit(wd->chk, "elm,state,check,off", "elm");
- edje_object_signal_emit(wd->chk, "elm,state,toggle,off", "elm");
- }
+ edje_object_signal_emit(wd->chk, "elm,state,check,off", "elm");
if (wd->label)
edje_object_signal_emit(wd->chk, "elm,state,text,visible", "elm");
else
wd->state = EINA_FALSE;
if (wd->statep) *wd->statep = wd->state;
edje_object_signal_emit(wd->chk, "elm,state,check,off", "elm");
- edje_object_signal_emit(wd->chk, "elm,state,toggle,off", "elm");
evas_object_smart_callback_call(data, SIG_CHANGED, NULL);
}
wd->state = EINA_TRUE;
if (wd->statep) *wd->statep = wd->state;
edje_object_signal_emit(wd->chk, "elm,state,check,on", "elm");
- edje_object_signal_emit(wd->chk, "elm,state,toggle,on", "elm");
evas_object_smart_callback_call(data, SIG_CHANGED, NULL);
}
wd->state = state;
if (wd->statep) *wd->statep = wd->state;
if (wd->state)
- {
- edje_object_signal_emit(wd->chk, "elm,state,check,on", "elm");
- edje_object_signal_emit(wd->chk, "elm,state,toggle,on", "elm");
- }
+ edje_object_signal_emit(wd->chk, "elm,state,check,on", "elm");
else
- {
- edje_object_signal_emit(wd->chk, "elm,state,check,off", "elm");
- edje_object_signal_emit(wd->chk, "elm,state,toggle,off", "elm");
- }
+ edje_object_signal_emit(wd->chk, "elm,state,check,off", "elm");
}
edje_object_message_signal_process(wd->chk);
}
{
wd->state = *wd->statep;
if (wd->state)
- {
- edje_object_signal_emit(wd->chk, "elm,state,check,on", "elm");
- edje_object_signal_emit(wd->chk, "elm,state,toggle,on", "elm");
- }
+ edje_object_signal_emit(wd->chk, "elm,state,check,on", "elm");
else
- {
- edje_object_signal_emit(wd->chk, "elm,state,check,off", "elm");
- edje_object_signal_emit(wd->chk, "elm,state,toggle,off", "elm");
- }
+ edje_object_signal_emit(wd->chk, "elm,state,check,off", "elm");
}
}
else