#!/usr/bin/env python
import sys
import pango
import threading
from threading import Thread
import time
try:
import pygtk
pygtk.require("2.0")
except:
pass
try:
import gtk
import gtk.glade
except:
sys.exit(1)
class MainWindowGTK:
def __init__(self):
#Set the Glade file
self.gladefile = "prototype.glade"
self.wTree = gtk.glade.XML(self.gladefile)
#Create our dictionay and connect it
dic = { "on_wndMain_destroy_event" : gtk.main_quit,
"on_imgJa_button_press_event" : self.ja_press,
"on_imgNej_button_press_event" : self.nej_press}
#"on_imgJa_button_release_event" : self.ja_press,
#"on_imgNej_button_release_event" : self.nej_press}
self.wTree.signal_autoconnect(dic)
# Set font stuff
label = self.wTree.get_widget("lblHeader")
label.modify_font(pango.FontDescription("sans 28"))
label = self.wTree.get_widget("lblClock")
label.modify_font(pango.FontDescription("sans 15"))
window = self.wTree.get_widget("wndMain")
window.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#5295E1"))
# label.set_alignment(0, 0.5)
def ja_press(self, widget, event):
breakbreakbreakbreak
image = self.wTree.get_widget("imgJa")
image.set_from_file("button_ja_clicked.png")
Thread(target=self.change_back, args=(image,"button_ja.png")).start()
def nej_press(self, widget, event):
image = self.wTree.get_widget("imgNej")
image.set_from_file("button_nej_clicked.png")
myThread = ChangeBackThread(image, "button_nej.png")
myThread.start()
#myThread = Thread(target=self.change_back, args=(image,"button_nej.png"))
#myThread.start()
def change_back(self, image, filename):
print "should change back in one second"
time.sleep(1)
image.set_from_file(filename)
print "should have change image to " + filename + " by now"
class ChangeBackThread(threading.Thread):
img = 0
name = 0
def __init__(self, image, fname):
threading.Thread.__init__(self)
self.img = image
self.name = fname
def run(self):
time.sleep(1)
print "Setting image to " + self.name
self.img.set_from_file(self.name)
self.img.queue_draw
if __name__ == "__main__":
hwg = MainWindowGTK()
gtk.main()