1#!/usr/bin/env python2
2# -*- coding: utf-8 -*-
3# Requires Python 2.7 or later
4
5import ctypes, os, sys, unittest
6
7from PySide.QtCore import *
8from PySide.QtGui import *
9
10import ScintillaCallable
11
12sys.path.append("..")
13from bin import ScintillaEditPy
14
15scintillaDirectory = ".."
16scintillaIncludeDirectory = os.path.join(scintillaDirectory, "include")
17scintillaScriptsDirectory = os.path.join(scintillaDirectory, "scripts")
18sys.path.append(scintillaScriptsDirectory)
19import Face
20
21class Form(QDialog):
22
23	def __init__(self, parent=None):
24		super(Form, self).__init__(parent)
25		self.resize(460,300)
26		# Create widget
27		self.edit = ScintillaEditPy.ScintillaEdit(self)
28
29class XiteWin():
30	def __init__(self, test=""):
31		self.face = Face.Face()
32		self.face.ReadFromFile(os.path.join(scintillaIncludeDirectory, "Scintilla.iface"))
33
34		self.test = test
35
36		self.form = Form()
37
38		scifn = self.form.edit.send(int(self.face.features["GetDirectFunction"]["Value"]), 0, 0)
39		sciptr = ctypes.c_char_p(self.form.edit.send(
40			int(self.face.features["GetDirectPointer"]["Value"]), 0,0))
41
42		self.ed = ScintillaCallable.ScintillaCallable(self.face, scifn, sciptr)
43		self.form.show()
44
45	def DoStuff(self):
46		print(self.test)
47		self.CmdTest()
48
49	def DoEvents(self):
50		QApplication.processEvents()
51
52	def CmdTest(self):
53		runner = unittest.TextTestRunner()
54		tests = unittest.defaultTestLoader.loadTestsFromName(self.test)
55		results = runner.run(tests)
56		print(results)
57		sys.exit(0)
58
59xiteFrame = None
60
61def main(test):
62	global xiteFrame
63	app = QApplication(sys.argv)
64	xiteFrame = XiteWin(test)
65	xiteFrame.DoStuff()
66	sys.exit(app.exec_())
67