#!/usr/bin/env python # import os import sys import wx import wx.lib.filebrowsebutton as filebrowse msg1 = u"""Le bouton "Relations" genere un fichier csv qui contient toutes les relations du soft.\n Le Bouton "I\O" genere un deuxieme fichier csv qui contient toutes les entrees\sorties du soft.""" msg2 = u"""Il faut choisir une tache.\n Le bouton "Analyser le flot de donnees" rassemble dans un fichier csv tous les problemes detectes dans le soft.\n Le bouton "Dessiner le graphique" genere une image SVG.""" #----------------------------------------------------------- class TestNB(wx.Notebook): path1="" def __init__(self, panel): wx.Notebook.__init__(self, panel, -1, style=wx.NB_FIXEDWIDTH) self.SetBackgroundColour("MistyRose") #---------------------------------------------------- # Create a panel (tab 1) self.tab1 = wx.Panel(self, -1) self.AddPage(self.tab1, u"Page 1") #---------------------------------------------------- sizerH1 = wx.BoxSizer(wx.HORIZONTAL) sizerH2 = wx.BoxSizer(wx.HORIZONTAL) datepick = wx.DatePickerCtrl(self.tab1, -1, style=wx.DP_DROPDOWN|wx.DP_SHOWCENTURY) self.Bind(wx.EVT_DATE_CHANGED, self.OnPass, datepick) sizerH1.Add(datepick, 11, wx.TOP|wx.BOTTOM|wx.RIGHT, 0) sizerH2.Add(sizerH1, 1, wx.ALIGN_RIGHT, 0) sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(sizerH2, 1, wx.ALIGN_RIGHT, 0) #---------------------------------------------------- self.dbb = filebrowse.DirBrowseButton(self.tab1, -1, pos=(40,100),size=(450, -1), changeCallback = self.dbbCallback) box = wx.StaticBox(self.tab1, -1, u"Software :") bsizer = wx.StaticBoxSizer(box, wx.HORIZONTAL) # txtCtrl = wx.TextCtrl(self.tab1, -1, value="", size=(300, -1)) # btn1 = wx.Button(self.tab1, -1, label=u"&Selectionner le repertoire") # self.Bind(wx.EVT_BUTTON, self.OnPass, btn1) bsizer.Add(self.dbb, 1, wx.CENTRE|wx.EXPAND|wx.ALL, 10) # bsizer.Add(btn1, 0, wx.CENTRE|wx.EXPAND|wx.ALL, 10) #---------------------------------------------------- mainSizer = wx.BoxSizer(wx.VERTICAL) mainSizer.Add(sizer, 0, wx.EXPAND|wx.ALL, 10) mainSizer.Add(bsizer, 0, wx.EXPAND|wx.ALL, 10) self.tab1.SetSizer(mainSizer) #---------------------------------------------------- #---------------------------------------------------- #---------------------------------------------------- #---------------------------------------------------- # Create a panel (tab 2) self.tab2 = wx.Panel(self, -1) self.AddPage(self.tab2, u"Page 2") #---------------------------------------------------- box = wx.StaticBox(self.tab2, -1, u"Importer les donnees :") bsizer = wx.StaticBoxSizer(box, wx.VERTICAL) sizerH1 = wx.BoxSizer(wx.HORIZONTAL) btn2 = wx.Button(self.tab2, -1, label=u"&Relations") self.Bind(wx.EVT_BUTTON, self.OnPass, btn2) btn3 = wx.Button(self.tab2, -1, label=u"&I\O") self.Bind(wx.EVT_BUTTON, self.OnPass, btn3) sizerH1.Add(btn2, 0, wx.CENTRE|wx.ALL, 10) sizerH1.Add(btn3, 0, wx.CENTRE|wx.ALL, 10) sizer = wx.BoxSizer(wx.HORIZONTAL) gauge = wx.Gauge(self.tab2, -1) txt = wx.StaticText(self.tab2, -1, u"%") sizer.Add(gauge, 1, wx.EXPAND|wx.ALL, 0) sizer.Add(txt, 0, wx.EXPAND|wx.LEFT|wx.TOP|wx.BOTTOM, 10) bsizer.Add(sizerH1, 1, wx.EXPAND, 0) bsizer.Add(sizer, 0, wx.EXPAND|wx.ALL, 10) box2 = wx.StaticBox(self.tab2, -1, u"Resume :") csizer = wx.StaticBoxSizer(box2, wx.HORIZONTAL) txtCtrl1 = wx.TextCtrl(self.tab2, -1, value=msg1, style=wx.TE_MULTILINE) csizer.Add(txtCtrl1, 1, wx.EXPAND| wx.ALL, 10) #---------------------------------------------------- mainSizer = wx.BoxSizer(wx.VERTICAL) mainSizer.Add(bsizer, 0, wx.EXPAND|wx.ALL, 10) mainSizer.Add(csizer, 1, wx.EXPAND|wx.ALL, 10) self.tab2.SetSizer(mainSizer) #---------------------------------------------------- #---------------------------------------------------- #---------------------------------------------------- #---------------------------------------------------- # Create a panel (tab 3) self.tab3 = wx.Panel(self, -1) self.AddPage(self.tab3, u"Page 3") #---------------------------------------------------- box = wx.StaticBox(self.tab3, -1, u"Generer un graphique :") bsizer = wx.StaticBoxSizer(box, wx.VERTICAL) sizerH1 = wx.BoxSizer(wx.HORIZONTAL) sampleList = [u'zero', u'un', u'deux'] cb = wx.ComboBox(self.tab3, -1, value="Default value", size=(160, -1), choices=sampleList, style=wx.CB_DROPDOWN) self.Bind(wx.EVT_COMBOBOX, self.OnPass, cb) btn4 = wx.Button(self.tab3, -1, label=u"&Analyser le flot de donnees") self.Bind(wx.EVT_BUTTON, self.OnPass, btn4) btn5 = wx.Button(self.tab3, -1, label=u"&Dessiner le graphique") self.Bind(wx.EVT_BUTTON, self.OnPass, btn5) sizerH1.Add(cb, 1, wx.CENTRE|wx.ALL, 10) sizerH1.Add(btn4, 0, wx.CENTRE|wx.ALL, 10) sizerH1.Add(btn5, 0, wx.CENTRE|wx.ALL, 10) sizer = wx.BoxSizer(wx.HORIZONTAL) gauge = wx.Gauge(self.tab3, -1) txt = wx.StaticText(self.tab3, -1, u"%") sizer.Add(gauge, 1, wx.EXPAND, 0) sizer.Add(txt, 0, wx.EXPAND|wx.LEFT|wx.TOP|wx.BOTTOM, 10) bsizer.Add(sizerH1, 1, wx.EXPAND, 0) bsizer.Add(sizer, 0, wx.EXPAND|wx.ALL, 10) box2 = wx.StaticBox(self.tab3, -1, u"Resume :") csizer = wx.StaticBoxSizer(box2, wx.HORIZONTAL) txtCtrl1 = wx.TextCtrl(self.tab3, -1, value=msg2, style=wx.TE_MULTILINE) csizer.Add(txtCtrl1, 1, wx.EXPAND|wx.ALL, 10) #---------------------------------------------------- mainSizer = wx.BoxSizer(wx.VERTICAL) mainSizer.Add(bsizer, 0, wx.EXPAND|wx.ALL, 10) mainSizer.Add(csizer, 1, wx.EXPAND|wx.ALL, 10) self.tab3.SetSizer(mainSizer) #---------------------------------------------------- #---------------------------------------------------- #---------------------------------------------------- #---------------------------------------------------- # Create a panel (tab 4) self.tab4 = wx.Panel(self, -1) self.AddPage(self.tab4, u"Page 4") #---------------------------------------------------- box = wx.StaticBox(self.tab4, -1, u"Modifier :") bsizer = wx.StaticBoxSizer(box, wx.VERTICAL) sizerH1 = wx.BoxSizer(wx.HORIZONTAL) sampleList = [u'zero', u'un', u'deux'] cb1 = wx.ComboBox(self.tab4, -1, value="Default value", size=(160, -1), choices=sampleList, style=wx.CB_DROPDOWN) self.Bind(wx.EVT_COMBOBOX, self.OnPass, cb) cb2 = wx.ComboBox(self.tab4, -1, value="Default value", size=(160, -1), choices=sampleList, style=wx.CB_DROPDOWN) self.Bind(wx.EVT_COMBOBOX, self.OnPass, cb2) cb3 = wx.ComboBox(self.tab4, -1, value="Default value", size=(160, -1), choices=sampleList, style=wx.CB_DROPDOWN) self.Bind(wx.EVT_COMBOBOX, self.OnPass, cb3) txt = wx.StaticText(self.tab4, -1, u"Priorite initiale") sizerH1.Add(cb1, 1, wx.CENTRE|wx.EXPAND|wx.ALL, 10) sizerH1.Add(cb2, 1, wx.CENTRE|wx.EXPAND|wx.ALL, 10) sizerH1.Add(cb3, 1, wx.CENTRE|wx.EXPAND|wx.ALL, 10) sizerH1.Add(txt, 0, wx.CENTRE|wx.ALL, 10) btn6 = wx.Button(self.tab4, -1, label=u"&Dessiner le nouveau graphique") bsizer.Add(sizerH1, 1, wx.EXPAND, 0) bsizer.Add(btn6, 0, wx.CENTRE|wx.ALL, 10) box2 = wx.StaticBox(self.tab4, -1, u"Resume :") csizer = wx.StaticBoxSizer(box2, wx.HORIZONTAL) txtCtrl1 = wx.TextCtrl(self.tab4, -1, value="", style=wx.TE_MULTILINE) csizer.Add(txtCtrl1, 1, wx.EXPAND | wx.ALL, 10) #---------------------------------------------------- mainSizer = wx.BoxSizer(wx.VERTICAL) mainSizer.Add(bsizer, 0, wx.EXPAND|wx.ALL, 10) mainSizer.Add(csizer, 1, wx.EXPAND|wx.ALL, 10) self.tab4.SetSizer(mainSizer) def dbbCallback(self, evt): TestNB.path1=evt.GetString() print TestNB.path1 return TestNB.path1 def OnPass(self, event): pass #---------------------------------------------------------------------- class MyFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, -1, title="OSBuilder", size=(600, 400)) self.SetMinSize((600, 400)) #------------ panel = wx.Panel(self, -1, style=wx.TAB_TRAVERSAL) self.nb = TestNB(panel) #------------ sizer = wx.BoxSizer() sizer.Add(self.nb, 1, wx.EXPAND|wx.ALL, 10) panel.SetSizer(sizer) #------------ # Simplified init method self.CreateMenuBar() self.CenterOnScreen() def CreateMenuBar(self): menuBar = wx.MenuBar() # Add a menu "File" menuFile = wx.Menu() # Add an item "Quit" item = wx.MenuItem(menuFile, -1, text="&Quit\tCtrl+Q", help="Quit the program.") menuFile.AppendItem(item) self.Bind(wx.EVT_MENU, self.OnPass, item) # Add menu to the menu bar menuBar.Append(menuFile, title="&File") self.SetMenuBar(menuBar) def OnPass(self, event): pass #---------------------------------------------------------------------- if __name__ == "__main__": app = wx.PySimpleApp() frame = MyFrame() frame.Show() app.MainLoop()