Initial import
git-svn-id: http://www.neo1973-germany.de/svn@194 46df4e5c-bc4e-4628-a0fc-830ba316316d
This commit is contained in:
parent
1000b884a4
commit
5c547df020
3 changed files with 602 additions and 0 deletions
468
PyLight/trunk/PyLight.edc
Normal file
468
PyLight/trunk/PyLight.edc
Normal file
|
@ -0,0 +1,468 @@
|
||||||
|
//test
|
||||||
|
|
||||||
|
images {
|
||||||
|
// image, "background.jpg" LOSSY 95;
|
||||||
|
}
|
||||||
|
|
||||||
|
color_classes {
|
||||||
|
color_class {
|
||||||
|
name: "user_color";
|
||||||
|
color: 255 255 255 255;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
collections {
|
||||||
|
group {
|
||||||
|
name, "main";
|
||||||
|
min, 480 640;
|
||||||
|
max, 1024 768;
|
||||||
|
|
||||||
|
parts {
|
||||||
|
#define COLOR_DEFAULT 30 30 30 255
|
||||||
|
#define COLOR_CLICKED 80 80 80 255
|
||||||
|
#define COLOR_BOX 80 80 80 255
|
||||||
|
#define COLOR_SLIDER 30 30 30 255
|
||||||
|
part {
|
||||||
|
name, "background";
|
||||||
|
type, RECT;
|
||||||
|
mouse_events, 0;
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
min, 480 640;
|
||||||
|
max, 1024 768;
|
||||||
|
color, 200 200 200 200;
|
||||||
|
rel1 {
|
||||||
|
relative, 0.0 0.0;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 1.0;
|
||||||
|
offset, -1 -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
part {
|
||||||
|
name, "button_ok";
|
||||||
|
type, RECT;
|
||||||
|
mouse_events, 1;
|
||||||
|
effect, OUTLINE;
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
min, 200 80;
|
||||||
|
max, 200 80;
|
||||||
|
align, 0.5 0.0;
|
||||||
|
color, COLOR_DEFAULT;
|
||||||
|
color2, 0 0 0 255;
|
||||||
|
color3, 255 255 255 255;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative, 0.0 0.84;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 0.5 1.0;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state, "clicked" 0.0;
|
||||||
|
min, 200 80;
|
||||||
|
max, 200 80;
|
||||||
|
align, 0.5 0.0;
|
||||||
|
|
||||||
|
color, COLOR_CLICKED;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative, 0.0 0.84;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 0.5 1.0;
|
||||||
|
offset, -1 -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
part {
|
||||||
|
name, "button_close";
|
||||||
|
type, RECT;
|
||||||
|
mouse_events, 1;
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
min, 200 80;
|
||||||
|
max, 200 80;
|
||||||
|
align, 0.5 0.0;
|
||||||
|
|
||||||
|
color, COLOR_DEFAULT;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative, 0.5 0.84;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 1.0;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state, "clicked" 0.0;
|
||||||
|
min, 200 80;
|
||||||
|
max, 200 80;
|
||||||
|
align, 0.5 0.0;
|
||||||
|
|
||||||
|
color, COLOR_CLICKED;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative, 0.5 0.84;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 1.0;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
part {
|
||||||
|
name, "text_ok";
|
||||||
|
type, TEXT;
|
||||||
|
mouse_events, 0;
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
|
||||||
|
relative, 0.0 0.0;
|
||||||
|
offset, 0 0;
|
||||||
|
to, "button_ok";
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 1.0;
|
||||||
|
offset, -1 -1;
|
||||||
|
to, "button_ok";
|
||||||
|
}
|
||||||
|
text {
|
||||||
|
text, "OK";
|
||||||
|
font, "sans serif";
|
||||||
|
size, 22;
|
||||||
|
align, 0.5 0.5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name, "text_close";
|
||||||
|
type, TEXT;
|
||||||
|
mouse_events, 0;
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
|
||||||
|
relative, 0.0 0.0;
|
||||||
|
offset, 0 0;
|
||||||
|
to, "button_close";
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 1.0;
|
||||||
|
offset, -1 -1;
|
||||||
|
to, "button_close";
|
||||||
|
}
|
||||||
|
text {
|
||||||
|
text, "CLOSE";
|
||||||
|
font, "sans serif";
|
||||||
|
size, 22;
|
||||||
|
align, 0.5 0.5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name, "box_red";
|
||||||
|
type, RECT;
|
||||||
|
mouse_events, 0;
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
min, 440 50;
|
||||||
|
max, 440 50;
|
||||||
|
align, 0.5 0.0;
|
||||||
|
|
||||||
|
color, 120 20 20 255;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative, 0.0 0.1;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 0.2;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name, "slider_red";
|
||||||
|
type, RECT;
|
||||||
|
// mouse_events, 0;
|
||||||
|
dragable {
|
||||||
|
confine: "box_red";
|
||||||
|
// events: "another dragable part";
|
||||||
|
x: -1 1 0;
|
||||||
|
y: 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
min, 90 50;
|
||||||
|
max, 90 50;
|
||||||
|
// align, 1.0 0.0;
|
||||||
|
|
||||||
|
color, COLOR_SLIDER;
|
||||||
|
|
||||||
|
/* rel1 {
|
||||||
|
relative, 0.0 0.0;
|
||||||
|
offset, 0 0;
|
||||||
|
to, "box_red";
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 1.0;
|
||||||
|
offset, 0 0;
|
||||||
|
to, "box_red";
|
||||||
|
}
|
||||||
|
*/ }
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name, "box_green";
|
||||||
|
type, RECT;
|
||||||
|
mouse_events, 0;
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
min, 440 50;
|
||||||
|
max, 440 50;
|
||||||
|
align, 0.5 0.0;
|
||||||
|
|
||||||
|
color, 20 120 20 255;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative, 0.0 0.2;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 0.3;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name, "slider_green";
|
||||||
|
type, RECT;
|
||||||
|
mouse_events, 1;
|
||||||
|
dragable {
|
||||||
|
confine: "box_green";
|
||||||
|
x: -1 1 0;
|
||||||
|
y: 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
min, 90 50;
|
||||||
|
max, 90 50;
|
||||||
|
// align, 1.0 0.0;
|
||||||
|
|
||||||
|
color, COLOR_SLIDER;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name, "box_blue";
|
||||||
|
type, RECT;
|
||||||
|
mouse_events, 0;
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
min, 440 50;
|
||||||
|
max, 440 50;
|
||||||
|
align, 0.5 0.0;
|
||||||
|
|
||||||
|
color, 20 20 120 255;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative, 0.0 0.3;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 0.4;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name, "slider_blue";
|
||||||
|
type, RECT;
|
||||||
|
mouse_events, 1;
|
||||||
|
dragable {
|
||||||
|
confine: "box_blue";
|
||||||
|
x: -1 1 0;
|
||||||
|
y: 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
min, 90 50;
|
||||||
|
max, 90 50;
|
||||||
|
// align, 1.0 0.0;
|
||||||
|
|
||||||
|
color, COLOR_SLIDER;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name, "box_prev";
|
||||||
|
type, RECT;
|
||||||
|
mouse_events, 0;
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
min, 100 100;
|
||||||
|
max, 100 100;
|
||||||
|
align, 0.5 0.0;
|
||||||
|
|
||||||
|
color_class, user_color;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative, 0.0 0.6;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 0.8;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name, "box_light";
|
||||||
|
type, RECT;
|
||||||
|
mouse_events, 1;
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
min, 480 640;
|
||||||
|
max, 1024 768;
|
||||||
|
align, 0.0 0.0;
|
||||||
|
visible: 1;
|
||||||
|
color_class, user_color;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative, 0.0 0.0;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 1.0;
|
||||||
|
offset, -1 -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state, "hidden" 0.0;
|
||||||
|
min, 480 640;
|
||||||
|
max, 1024 768;
|
||||||
|
align, 0.0 0.0;
|
||||||
|
visible: 0;
|
||||||
|
color_class, user_color;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative, 0.0 0.0;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 1.0;
|
||||||
|
offset, -1 -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} /* Close Parts */
|
||||||
|
|
||||||
|
programs {
|
||||||
|
//Button_ok
|
||||||
|
program {
|
||||||
|
name, "ok_click";
|
||||||
|
signal, "mouse,down,1";
|
||||||
|
source, "button_ok";
|
||||||
|
action, STATE_SET "clicked" 0.0;
|
||||||
|
target, "button_ok";
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name, "ok_unclick";
|
||||||
|
signal, "mouse,up,1";
|
||||||
|
source, "button_ok";
|
||||||
|
action, STATE_SET "default" 0.0;
|
||||||
|
target, "button_ok";
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name, "ok_signal";
|
||||||
|
signal, "mouse,down,1";
|
||||||
|
source, "button_ok";
|
||||||
|
action, SIGNAL_EMIT "ok" "programm";
|
||||||
|
in, 0.0 0.0;
|
||||||
|
}
|
||||||
|
//Button_close
|
||||||
|
program {
|
||||||
|
name, "close_click";
|
||||||
|
signal, "mouse,down,1";
|
||||||
|
source, "button_close";
|
||||||
|
action, STATE_SET "clicked" 0.0;
|
||||||
|
target, "button_close";
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name, "close_unclick";
|
||||||
|
signal, "mouse,up,1";
|
||||||
|
source, "button_close";
|
||||||
|
action, STATE_SET "default" 0.0;
|
||||||
|
target, "button_close";
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name, "close_signal";
|
||||||
|
signal, "mouse,down,1";
|
||||||
|
source, "button_close";
|
||||||
|
action, SIGNAL_EMIT "close" "programm";
|
||||||
|
in, 0.0 0.0;
|
||||||
|
}
|
||||||
|
//Light
|
||||||
|
program {
|
||||||
|
name, "light_default";
|
||||||
|
signal, "on";
|
||||||
|
source, "light";
|
||||||
|
action, STATE_SET "default" 0.0;
|
||||||
|
target, "box_light";
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name, "light_hidden";
|
||||||
|
signal, "off";
|
||||||
|
source, "light";
|
||||||
|
action, STATE_SET "hidden" 0.0;
|
||||||
|
target, "box_light";
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name, "back_signal";
|
||||||
|
signal, "mouse,down,1";
|
||||||
|
source, "box_light";
|
||||||
|
action, SIGNAL_EMIT "back" "programm";
|
||||||
|
in, 0.0 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} /* Close Prog */
|
||||||
|
} /* Close Group */
|
||||||
|
} /* Close Coll */
|
BIN
PyLight/trunk/PyLight.edj
Normal file
BIN
PyLight/trunk/PyLight.edj
Normal file
Binary file not shown.
134
PyLight/trunk/PyLight.py
Normal file
134
PyLight/trunk/PyLight.py
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
#!/usr/bin/python
|
||||||
|
'''
|
||||||
|
authors: Pau1us <paulus.mail@oleco.net>
|
||||||
|
license: gpl v2 or later
|
||||||
|
PyLight is a small application to set the display to a selectable color
|
||||||
|
'''
|
||||||
|
|
||||||
|
import ecore
|
||||||
|
import ecore.evas
|
||||||
|
import edje
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
|
||||||
|
#from testclass import *
|
||||||
|
|
||||||
|
# Parse command line
|
||||||
|
from optparse import OptionParser
|
||||||
|
|
||||||
|
def parse_geometry(option, opt, value, parser):
|
||||||
|
try:
|
||||||
|
w, h = value.split("x")
|
||||||
|
w = int(w)
|
||||||
|
h = int(h)
|
||||||
|
except Exception, e:
|
||||||
|
raise optparse.OptionValueError("Invalid format for %s" % option)
|
||||||
|
parser.values.geometry = (w, h)
|
||||||
|
|
||||||
|
usage = "usage: %prog [options]"
|
||||||
|
op = OptionParser(usage=usage)
|
||||||
|
op.add_option("-e", "--engine", type="choice",
|
||||||
|
choices=("x11", "x11-16"), default="x11-16",
|
||||||
|
help=("which display engine to use (x11, x11-16), "
|
||||||
|
"default=%default"))
|
||||||
|
op.add_option("-n", "--no-fullscreen", action="store_true",
|
||||||
|
help="do not launch in fullscreen")
|
||||||
|
op.add_option("-g", "--geometry", type="string", metavar="WxH",
|
||||||
|
action="callback", callback=parse_geometry,
|
||||||
|
default=(480, 640),
|
||||||
|
help="use given window geometry")
|
||||||
|
op.add_option("-f", "--fps", type="int", default=50,
|
||||||
|
help="frames per second to use, default=%default")
|
||||||
|
|
||||||
|
|
||||||
|
# Handle options and create output window
|
||||||
|
options, args = op.parse_args()
|
||||||
|
if options.engine == "x11":
|
||||||
|
f = ecore.evas.SoftwareX11
|
||||||
|
elif options.engine == "x11-16":
|
||||||
|
if ecore.evas.engine_type_supported_get("software_x11_16"):
|
||||||
|
f = ecore.evas.SoftwareX11_16
|
||||||
|
else:
|
||||||
|
print "warning: x11-16 is not supported, fallback to x11"
|
||||||
|
f = ecore.evas.SoftwareX11
|
||||||
|
|
||||||
|
w, h = options.geometry
|
||||||
|
ee = f(w=w, h=h)
|
||||||
|
ee.fullscreen = 0 # not options.no_fullscreen
|
||||||
|
edje.frametime_set(1.0 / options.fps)
|
||||||
|
|
||||||
|
|
||||||
|
# Load and setup UI
|
||||||
|
ee.title = "PyLight"
|
||||||
|
ee.name_class = ("pylight", "pylight")
|
||||||
|
canvas = ee.evas
|
||||||
|
edje_file = os.path.join(os.path.dirname(sys.argv[0]), "PyLight.edj")
|
||||||
|
#edje_file = 'PyLight.edj'
|
||||||
|
try:
|
||||||
|
edje_obj = edje.Edje(canvas, file=edje_file, group="main")
|
||||||
|
except Exception, e: # should be EdjeLoadError, but it's wrong on python2.5
|
||||||
|
raise SystemExit("Failed to load Edje file: %s" % edje_file)
|
||||||
|
|
||||||
|
# resize edje to fit our window, show and remember it for later use
|
||||||
|
edje_obj.size = canvas.size
|
||||||
|
edje_obj.show()
|
||||||
|
ee.data["edje"] = edje_obj
|
||||||
|
|
||||||
|
|
||||||
|
# Setup callbacks for resize, keydown and selected item
|
||||||
|
def resize_cb(ee):
|
||||||
|
r = ee.evas.rect
|
||||||
|
ee.data["edje"].size = r.size
|
||||||
|
|
||||||
|
ee.callback_resize = resize_cb
|
||||||
|
|
||||||
|
|
||||||
|
def key_down_cb(bg, event, ee):
|
||||||
|
k = event.key
|
||||||
|
if k == "Escape":
|
||||||
|
ecore.main_loop_quit()
|
||||||
|
if k in ("F6", "f"):
|
||||||
|
ee.fullscreen = not ee.fullscreen
|
||||||
|
|
||||||
|
def drag(edje_obj, signal, source):
|
||||||
|
drag.x,drag.y = edje_obj.part_drag_value_get("slider_red")
|
||||||
|
drag.red = (drag.x -1) * (-255)
|
||||||
|
drag.x,drag.y = edje_obj.part_drag_value_get("slider_green")
|
||||||
|
drag.green = (drag.x -1) * (-255)
|
||||||
|
drag.x,drag.y = edje_obj.part_drag_value_get("slider_blue")
|
||||||
|
drag.blue = (drag.x -1) * (-255)
|
||||||
|
#print "x: %s\n" % (drag.xx)
|
||||||
|
edje.color_class_set("user_color", drag.red, drag.green, drag.blue, 255, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||||
|
#print "%s , %s\n" % ( source, signal)
|
||||||
|
edje_obj.on_key_down_add(key_down_cb, ee)
|
||||||
|
|
||||||
|
def click_ok(edje_obj, signal, source):
|
||||||
|
ee.fullscreen = 1
|
||||||
|
edje_obj.signal_emit("on", "light")
|
||||||
|
|
||||||
|
def click_back(edje_obj, signal, source):
|
||||||
|
ee.fullscreen = 0
|
||||||
|
edje_obj.signal_emit("off", "light")
|
||||||
|
|
||||||
|
def click_close(edje_obj, signal, source):
|
||||||
|
ecore.main_loop_quit()
|
||||||
|
|
||||||
|
|
||||||
|
#test = testclass(edje_obj)
|
||||||
|
edje_obj.signal_callback_add("drag", "slider_*", drag)
|
||||||
|
edje_obj.signal_callback_add("ok", "programm", click_ok)
|
||||||
|
edje_obj.signal_callback_add("close", "programm", click_close)
|
||||||
|
edje_obj.signal_callback_add("back", "programm", click_back)
|
||||||
|
#edje_obj.signal_callback_add("StopSelected", "*", icon_selected)
|
||||||
|
|
||||||
|
# Give focus to object, show window and enter event loop
|
||||||
|
edje_obj.focus = True
|
||||||
|
ee.show()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ecore.main_loop_begin()
|
||||||
|
ecore.main_loop_begin()
|
||||||
|
|
Loading…
Reference in a new issue