From 806a1fd0553c9c21dc6b3b20d0a8db52fce5741c Mon Sep 17 00:00:00 2001 From: Matthias Vogelgesang Date: Wed, 7 Sep 2011 11:14:15 +0200 Subject: Add: "control" application monitoring `grab` --- test/CMakeLists.txt | 1 + test/run.py | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100755 test/run.py diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 728da6a..e2664bf 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -11,6 +11,7 @@ pkg_check_modules(GTHREAD2 gthread-2.0) include_directories(${CMAKE_SOURCE_DIR}/src) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/control.glade ${CMAKE_CURRENT_BINARY_DIR}) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/run.py ${CMAKE_CURRENT_BINARY_DIR}) # --- Build targets ----------------------------------------------------------- add_executable(enum enum.c) diff --git a/test/run.py b/test/run.py new file mode 100755 index 0000000..7982617 --- /dev/null +++ b/test/run.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python + +import Tkinter +import threading +import subprocess + +class App(object): + def __init__(self, parent): + self.parent = parent + self.canvas = Tkinter.Canvas(root, width=300, height=300) + self.canvas.pack() + self.rect = self.canvas.create_rectangle(0, 0, 300, 300, fill='yellow') + self.run_button = Tkinter.Button(parent, text='Start grabbing', command=self.run_click) + self.run_button.pack() + + def run_grab(self): + proc = subprocess.Popen(['./grab']) + proc.wait() + self.canvas.itemconfig(self.rect, fill='red') + self.run_button.config(state=Tkinter.NORMAL, text='Close', command=self.parent.destroy) + + def run_click(self): + self.canvas.itemconfig(self.rect, fill='green') + self.run_button.config(state=Tkinter.DISABLED) + thread = threading.Thread(None, self.run_grab) + thread.start() + +if __name__ == '__main__': + root = Tkinter.Tk() + app = App(root) + root.mainloop() -- cgit v1.2.3