Advertisement
Guest User

Untitled

a guest
Apr 16th, 2012
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.49 KB | None | 0 0
  1. #-*- coding: iso-8859-15 -*-
  2. # MAIN PROGRAM
  3.  
  4.  
  5. try:
  6.     import wx
  7.     #import parseurLogsOvh as plog
  8. except ImportError:
  9.     raise ImportError,"The wxPython module is required to run this program"
  10.    
  11. import time
  12.  
  13.  
  14. # Constantes d'ID des cases à cocher du menu
  15. CHK_ROUGE = 101
  16. CHK_BLEU = 102
  17. CHK_VERT = 103
  18.  
  19. SIZE_LARGEUR = 900
  20. SIZE_HAUTEUR = 400
  21.  
  22. LAST_UPDATE = time.localtime()
  23. TIMER_REFRESH = 50000
  24.  
  25. class Onglets(wx.Notebook):
  26.     # Classe dérivée du wx.Notebook
  27.     def __init__(self, parent):
  28.         wx.Notebook.__init__(self, parent, -1,size = (500, 500))
  29.         self.Centre()
  30.        
  31.     def AjoutePage(self, nom):
  32.  
  33.         self.win = wx.Panel(self)
  34.        
  35.         self.vbox = wx.BoxSizer(wx.VERTICAL)
  36.        
  37.         self.SetBackgroundColour(wx.BLUE)
  38.        
  39.         w = self.AddPage(self.win, nom)
  40.        
  41.         self.vbox.Add(self.win, 1,wx.SHAPED, 20)
  42.         self.win.SetSizer(self.vbox)
  43.        
  44.         self.textbox = wx.TextCtrl(self.win,style = wx.TE_READONLY|wx.TE_MULTILINE|wx.HSCROLL)
  45.        
  46.        
  47.        
  48.     def OnMiddleDown(self, event):
  49.         print'Refresh logs'
  50.        
  51.     def SupprimePage(self, index):
  52.         # Méthode de suppression d'un onglet
  53.         self.DeletePage(index)
  54.  
  55. class Fenetre(wx.Frame):
  56.     # Frame destinée à tester notre notebook
  57.     def __init__(self):
  58.         #wx.Frame.__init__(self, None, -1, title = "Logs Monitoring", size = (SIZE_LARGEUR, SIZE_HAUTEUR))
  59.         wx.Frame.__init__(self, None, wx.ID_ANY, title = "Logs Monitoring",size = (SIZE_LARGEUR, SIZE_HAUTEUR))
  60.        
  61.         #   Recuperation de la date systeme
  62.         #plog.getDateSystem()
  63.        
  64.         #   Timer
  65.         self.timer = wx.Timer(self)
  66.         self.timer.Start(5000) #    Tick toute les 5secondes
  67.        
  68.         #   Event Timer
  69.         self.Bind(wx.EVT_TIMER, self.RefreshLogs, self.timer)
  70.        
  71.         #   Création de la barre de menu avec la conf
  72.         self.AfficheMenu(None)
  73.  
  74.         # Instanciation de notre classe Notebook
  75.         self.notebook = Onglets(self)
  76.         # Ajout de trois onglets dans le notebook
  77.         self.notebook.AjoutePage("PremierSite.fr")
  78.         self.notebook.AjoutePage("DeuxièmeSite.fr")
  79.  
  80.         # On amorce le gestionnaire d'évènements du notebook
  81.         # 2- Pour celui qui intervient au moment du changement d'onglet
  82.         self.notebook.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGING, self.OnChanging)
  83.         self.notebook.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGING, self.OnChanging)
  84.        
  85.  
  86.        
  87.     def AfficheMenu(self,event):
  88.    
  89.         menubar = wx.MenuBar()
  90.        
  91.         fileMenu = wx.Menu()
  92.         aboutMenu = wx.Menu()
  93.        
  94.        
  95.         #   Sous Menus
  96.         aboutItem = wx.MenuItem(aboutMenu, wx.ID_ANY, '&About')
  97.         aboutMenu.AppendItem(aboutItem)
  98.        
  99.         quitterItem = wx.MenuItem(fileMenu, wx.ID_EXIT, '&Quitter')
  100.         fileMenu.AppendItem(quitterItem)
  101.        
  102.         self.Bind(wx.EVT_MENU, self.ShowMessageAbout,aboutItem)
  103.         self.Bind(wx.EVT_MENU, self.OnQuit, quitterItem)
  104.        
  105.         #   Main Menus
  106.         menubar.Append(fileMenu, '&Fichier')
  107.         menubar.Append(aboutMenu, '&?')
  108.         self.SetMenuBar(menubar)
  109.        
  110.  
  111.        
  112.     #   Actualisation de l'affichage des Logs
  113.     def RefreshLogs(self, event):
  114.         '''
  115.         dlg = wx.MessageDialog(None, "Mise à jour des logs",'Mise à jour des logs',wx.OK| wx.ICON_QUESTION)
  116.         retCode = dlg.ShowModal()
  117.         if (retCode == wx.ID_OK):
  118.             dlg.Destroy()
  119.         '''
  120.         print 'timer'
  121.        
  122.     def ShowMessageAbout(self,e):
  123.         dial = wx.MessageBox('Information logiciel \n\n ', 'About', wx.OK | wx.ICON_INFORMATION)
  124.         dial.ShowModal()
  125.        
  126.     def OnQuit(self, e):
  127.         self.timer.Stop()
  128.         self.Close()
  129.  
  130.     def OnChanging(self, evt):
  131.         print 'On Changing'
  132.        
  133.  
  134. class App(wx.App):
  135.     def OnInit(self):
  136.         f = Fenetre()
  137.         f.Show(True)
  138.         self.SetTopWindow(f)
  139.         return True
  140.  
  141. if __name__ == "__main__":
  142.     monApp = App()
  143.     monApp.MainLoop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement