torchtester/TorchTester/frmMain.py
2016-03-14 11:31:56 -04:00

252 lines
10 KiB
Python

# -*- coding: utf-8 -*-
###########################################################################
## Python code generated with wxFormBuilder (version Sep 8 2010)
## http://www.wxformbuilder.org/
##
## PLEASE DO "NOT" EDIT THIS FILE!
###########################################################################
import wx
import logic
import thread
import time
import datetime
import subprocess
from wx.lib.wordwrap import wordwrap
###########################################################################
## Class frmMain
###########################################################################
class frmMain ( wx.Frame ):
def __init__( self, parent,settings):
self.settings = settings
wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"Torch Tester",
pos = wx.DefaultPosition, size = wx.Size( 925,631 ), style = wx.SYSTEM_MENU | wx.CLOSE_BOX | wx.CAPTION | wx.MINIMIZE_BOX )
favicon = wx.Icon(settings.ICON_FILE,
wx.BITMAP_TYPE_ICO)
self.SetIcon(favicon)
self.Bind(wx.EVT_CLOSE, self.onClose)
self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
formSizer = wx.BoxSizer( wx.VERTICAL )
mainSizer = wx.BoxSizer( wx.VERTICAL )
self.m_panel2 = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
mainSizer.Add( self.m_panel2, 1, wx.EXPAND, 5 )
formSizer.Add( mainSizer, 0, wx.EXPAND, 5 )
self.m_panel1 = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
gSizer3 = wx.GridSizer( 2, 4, 0, 0 )
LeakSizerLeft = wx.BoxSizer( wx.VERTICAL )
leakTitleSizer = wx.BoxSizer( wx.VERTICAL )
self.leakTitle = wx.StaticText( self.m_panel1, wx.ID_ANY, u"Leak", wx.DefaultPosition, wx.DefaultSize, 0 )
self.leakTitle.Wrap( -1 )
self.leakTitle.SetFont( wx.Font( 22, 74, 90, 90, True, "Tahoma" ) )
leakTitleSizer.Add( self.leakTitle, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 )
LeakSizerLeft.Add( leakTitleSizer, 0, wx.EXPAND, 5 )
leakSizer1 = wx.BoxSizer( wx.HORIZONTAL )
self.leak1 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"", wx.DefaultPosition, wx.DefaultSize, 0 )
self.leak1.Wrap( -1 )
self.leak1.SetFont( wx.Font( 12, 74, 90, 90, False, "Tahoma" ) )
self.imgLeak1 = wx.StaticBitmap( self.m_panel1, wx.ID_ANY|wx.ALIGN_RIGHT, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, 0 )
leakSizer1.Add( self.imgLeak1, 1, wx.ALL, 5)
leakSizer1.Add( self.leak1, 0, wx.ALL, 5 )
LeakSizerLeft.Add( leakSizer1, 1, wx.EXPAND, 5 )
leakSizer2 = wx.BoxSizer( wx.HORIZONTAL )
self.leak2 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"", wx.DefaultPosition, wx.DefaultSize, 0 )
self.leak2.Wrap( -1 )
self.leak2.SetFont( wx.Font( 12, 74, 90, 90, False, "Tahoma" ) )
self.imgLeak2 = wx.StaticBitmap( self.m_panel1, wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, 0 )
leakSizer2.Add( self.imgLeak2, 1, wx.ALL, 5 )
leakSizer2.Add( self.leak2, 0, wx.ALL, 5 )
LeakSizerLeft.Add( leakSizer2, 1, wx.EXPAND, 5 )
leakSizer3 = wx.BoxSizer( wx.HORIZONTAL )
self.leak3 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"", wx.DefaultPosition, wx.DefaultSize, 0 )
self.leak3.Wrap( -1 )
self.leak3.SetFont( wx.Font( 12, 74, 90, 90, False, "Tahoma" ) )
self.imgLeak3 = wx.StaticBitmap( self.m_panel1, wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, 0 )
leakSizer3.Add( self.imgLeak3, 1, wx.ALL, 5 )
leakSizer3.Add( self.leak3, 0, wx.ALL, 5 )
LeakSizerLeft.Add( leakSizer3, 1, wx.EXPAND, 5 )
leakSizer4 = wx.BoxSizer( wx.HORIZONTAL )
self.leak4 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"", wx.DefaultPosition, wx.DefaultSize, 0 )
self.leak4.Wrap( -1 )
self.leak4.SetFont( wx.Font( 12, 74, 90, 90, False, "Tahoma" ) )
self.imgLeak4 = wx.StaticBitmap( self.m_panel1, wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, 0 )
leakSizer4.Add( self.imgLeak4, 1, wx.ALL, 5 )
leakSizer4.Add( self.leak4, 0, wx.ALL, 5 )
LeakSizerLeft.Add( leakSizer4, 1, wx.EXPAND, 5 )
LeakSizerLeft.AddSpacer( ( 0, 150), 1, wx.EXPAND, 5 )
gSizer3.Add( LeakSizerLeft, 0, wx.EXPAND|wx.RIGHT, 5 )
gSizer3.AddSpacer( ( 18, 0), 1, wx.EXPAND, 5 )
FlowSizerRight = wx.BoxSizer( wx.VERTICAL )
flowTitleSizer = wx.BoxSizer( wx.VERTICAL )
self.flowTitle = wx.StaticText( self.m_panel1, wx.ID_ANY, u"Flow", wx.DefaultPosition, wx.DefaultSize, 0 )
self.flowTitle.Wrap( -1 )
self.flowTitle.SetFont( wx.Font( 22, 74, 90, 90, True, "Tahoma" ) )
flowTitleSizer.Add( self.flowTitle, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 )
FlowSizerRight.Add( flowTitleSizer, 0, wx.EXPAND, 5 )
flowSizer1 = wx.BoxSizer( wx.HORIZONTAL )
self.flow1 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"", wx.DefaultPosition, wx.DefaultSize, 0 )
self.flow1.Wrap( -1 )
self.flow1.SetFont( wx.Font( 12, 74, 90, 90, False, "Tahoma" ) )
self.imgFlow1 = wx.StaticBitmap( self.m_panel1, wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, 0 )
flowSizer1.Add( self.imgFlow1, 1, wx.ALL, 5 )
flowSizer1.Add( self.flow1, 0, wx.ALL, 5 )
FlowSizerRight.Add( flowSizer1, 1, wx.EXPAND, 5 )
flowSizer2 = wx.BoxSizer( wx.HORIZONTAL )
self.flow2 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"", wx.DefaultPosition, wx.DefaultSize, 0 )
self.flow2.Wrap( -1 )
self.flow2.SetFont( wx.Font( 12, 74, 90, 90, False, "Tahoma" ) )
self.imgFlow2 = wx.StaticBitmap( self.m_panel1, wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, 0 )
flowSizer2.Add( self.imgFlow2, 1, wx.ALL, 5 )
flowSizer2.Add( self.flow2, 0, wx.ALL, 5 )
FlowSizerRight.Add( flowSizer2, 1, wx.EXPAND, 5 )
flowSizer3 = wx.BoxSizer( wx.HORIZONTAL )
self.flow3 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"", wx.DefaultPosition, wx.DefaultSize, 0 )
self.flow3.Wrap( -1 )
self.flow3.SetFont( wx.Font( 12, 74, 90, 90, False, "Tahoma" ) )
self.imgFlow3 = wx.StaticBitmap( self.m_panel1, wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, 0 )
flowSizer3.Add( self.imgFlow3, 1, wx.ALL, 5 )
flowSizer3.Add( self.flow3, 0, wx.ALL, 5 )
FlowSizerRight.Add( flowSizer3, 1, wx.EXPAND, 5 )
flowSizer4 = wx.BoxSizer( wx.HORIZONTAL )
self.flow4 = wx.StaticText( self.m_panel1, wx.ID_ANY, u"", wx.DefaultPosition, wx.DefaultSize, 0 )
self.flow4.Wrap( -1 )
self.flow4.SetFont( wx.Font( 12, 74, 90, 90, False, "Tahoma" ) )
self.imgFlow4 = wx.StaticBitmap( self.m_panel1, wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, 0 )
flowSizer4.Add( self.imgFlow4, 1, wx.ALL, 5 )
flowSizer4.Add( self.flow4, 0, wx.ALL, 5 )
FlowSizerRight.Add( flowSizer4, 1, wx.EXPAND, 5 )
FlowSizerRight.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
gSizer3.Add( FlowSizerRight, 0, wx.EXPAND|wx.LEFT, 5 )
self.m_panel1.SetSizer( gSizer3 )
self.m_panel1.Layout()
gSizer3.Fit( self.m_panel1 )
formSizer.Add( self.m_panel1, 1, wx.EXPAND, 5 )
formSizer.AddSpacer( ( 1024 , 0), 0, wx.EXPAND, 5 )
self.SetSizer( formSizer )
self.Layout()
self.mnuMainBar = wx.MenuBar( 0 )
self.mnuOptions = wx.Menu()
self.m_sqlite = wx.MenuItem( self.mnuOptions, wx.ID_ANY, u"SQLite Browser", wx.EmptyString, wx.ITEM_NORMAL )
self.Bind(wx.EVT_MENU, self.sqlite_browser, self.m_sqlite)
self.mnuOptions.AppendItem( self.m_sqlite )
self.about = wx.MenuItem( self.mnuOptions, wx.ID_ANY, u"&About", wx.EmptyString, wx.ITEM_NORMAL )
self.Bind(wx.EVT_MENU, self.about_button, self.about)
self.mnuOptions.AppendItem( self.about )
self.m_exit = wx.MenuItem( self.mnuOptions, wx.ID_ANY, u"E&xit", wx.EmptyString, wx.ITEM_NORMAL )
self.Bind(wx.EVT_MENU, self.onClose, self.m_exit)
self.mnuOptions.AppendItem( self.m_exit )
self.mnuMainBar.Append( self.mnuOptions, u"&Options" )
self.SetMenuBar( self.mnuMainBar )
#self.m_statusBar1 = self.CreateStatusBar( 1, wx.ST_SIZEGRIP, wx.ID_ANY )
self.Centre( wx.BOTH )
thread.start_new_thread(WorkerThread,(self,settings,))
def __del__( self ):
self.destroy()
pass
def onClose(self,event):
self.Destroy()
def about_button(self, evt):
# First we create and fill the info object
info = wx.AboutDialogInfo()
info.Name = "TorchTester"
info.Version = "1.0.0.1"
info.Copyright = "(C) 2011 Benchtop Devices LLC"
info.Description = wordwrap("""
This program monitors the CTS Blackbelt.
In the left column are leak tests, and on the right are flow tests.
The tests are compared with default values found in config.ini (an example of which is provided for you in the %APPDATA%/TorchTester/ directory)
In the config.ini file, the leak value is the highest value to pass, and the flow is the lowest value to pass.
To view the database, select SQLite Browser from the Options menu.
""",
# change the wx.ClientDC to use self.panel instead of self
350, wx.ClientDC(self))
info.WebSite = ("http://www.benchtopdevices.com", "Benchtop Devices")
info.Developers = [ "Tyrel Souza",
"Anthony Souza"]
# Then we call wx.AboutBox giving it that info object
wx.AboutBox(info)
def sqlite_browser(self,event):
p1=subprocess.Popen(self.settings.DIR + '\\SQLiteBrowser\\SQLiteBrowser.exe "'+self.settings.DB_FILE+'"')
def WorkerThread(self,settings):
while True:
logic.run_test(self,settings)