All pastes #936932 Raw Edit

Zeug

public text v1 · immutable
·published 2008-03-10 19:03 UTC
rendered paste body
#!/usr/bin/env python2.5
# -*- coding: latin1 -*-

import ecore
import ecore.evas
import edje
import sys
import os
from dbus import SystemBus, Interface
import e_dbus
import ecore

SYSFS_ENTRY_BACKLIGHT_BRIGHTNESS = "/sys/class/backlight/gta01-bl/brightness"
brightness_value_max = 5100
things = []
mark = {}
active = 1
dbus_ml = e_dbus.DBusEcoreMainLoop()
bus = SystemBus(mainloop=dbus_ml)
ee = ecore.evas.SoftwareX11(w=480, h=640)
ee.fullscreen = True
ee.title = 'ebrightness'
ee.name_class = ('ebrightness', 'ebrightness')
ee.cursor_set('cursor.png', 0x7fffffff, 60, 60)

background = edje.Edje(ee.evas, file='ebrightness.edj', group='background')
background.size = ee.evas.size
background.show()

foreground = edje.Edje(ee.evas, file='ebrightness.edj', group='foreground')
foreground.size = ee.evas.size
foreground.show()

#thing = edje.Edje(ee.evas, file='ebrightness.edj', group='thing')
#thing.size = ee.evas.size
#thing.show()

def set_sysfs_value(entry_dir, value):
	try:
		file_descriptor = open(entry_dir, 'w')
	except:
		return False
	file_descriptor.write("%d" % int(value))
	file_descriptor.close()
	return True

def get_sysfs_value(entry_dir):
	try:
		file_descriptor = open(entry_dir)
	except:
		return ""
	value = file_descriptor.read()
	file_descriptor.close()
	return value

brightness_value = int(get_sysfs_value(SYSFS_ENTRY_BACKLIGHT_BRIGHTNESS))

class Thing:
	def __init__(self, ee, type, screenpos, status=False, ):
		self.part = edje.Edje(ee.evas, file='ebrightness.edj', group='thing')
		self.part.geometry_set(0, 160 * screenpos, 480, 150)
		if not status:
			self.part.color = (128, 128, 128, 128, )
		else:
			self.part.color = (255, 255, 255, 255, )
			#self.part.part_rect.color_class = ('empty', active)
		self.part.show()
		mark[screenpos] = status
		print 'mark: ', mark[screenpos]
		def selected_thing(self, signal, source):
			global things, active, status
			print 'source: ', source, mark[screenpos], screenpos
			if screenpos == 0:
				self.part.color = (255, 255, 255, 255, )
		
		self.part.signal_callback_add('mouse,up,1', '*', selected_thing)

class Brightness(Thing):
	def __init__(self, ee, screenpos, status):
		Thing.__init__(self, ee, "brightness", screenpos, status)
		self.part.part_text_set('text', 'Brightness: ' + str((brightness_value*100)/brightness_value_max) + ' %')

class VolumeRight(Thing):
	def __init__(self, ee, screenpos, status):
		Thing.__init__(self, ee, "volumeright", screenpos, status)
		self.part.part_text_set('text', 'Volume Right: ' + str((brightness_value*100)/brightness_value_max) + ' %')

class VolumeLeft(Thing):
	def __init__(self, ee, screenpos, status):
		Thing.__init__(self, ee, "volumeleft", screenpos, status)
		self.part.part_text_set('text', 'Volume Left: ' + str((brightness_value*100)/brightness_value_max) + ' %')

def selected(foreground, signal, source):
	global brightness_value, brightness_value_max, SYSFS_ENTRY_BACKLIGHT_BRIGHTNESS, things, active, status
	if source == 'plus_image':
		for n, thing in enumerate(things):
			if mark[0] == True:
				brightness_value += 100
				things[0].part.part_text_set('text', 'Brightness: ' + str((brightness_value*100)/brightness_value_max) + ' %')
				set_sysfs_value(SYSFS_ENTRY_BACKLIGHT_BRIGHTNESS, brightness_value)
			if mark[1] == True:
				brightness_value += 100
	elif source =='minus_image' and active == True:
		for n, thing in enumerate(things):
			if mark[0] == True:
				brightness_value -= 100
				things[0].part.part_text_set('text', 'Brightness: ' + str((brightness_value*100)/brightness_value_max) + ' %')
				set_sysfs_value(SYSFS_ENTRY_BACKLIGHT_BRIGHTNESS, brightness_value)
	else:
		print 'selected', foreground, signal, source
foreground.signal_callback_add('mouse,up,1', '*', selected)

things.append(Brightness(ee, 0 - active + 1, False))
things.append(VolumeRight(ee, 1 - active + 1, False))
things.append(VolumeLeft(ee, 2 - active + 1, False))


try:
	ee.show()
	ecore.main_loop_begin()
except:
	ecore.event.shutdown()