Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #-*- coding: iso-8859-15 -*-
- # MAIN PROGRAM
- try:
- import wx
- #import parseurLogsOvh as plog
- except ImportError:
- raise ImportError,"The wxPython module is required to run this program"
- import time
- # Constantes d'ID des cases à cocher du menu
- CHK_ROUGE = 101
- CHK_BLEU = 102
- CHK_VERT = 103
- SIZE_LARGEUR = 900
- SIZE_HAUTEUR = 400
- LAST_UPDATE = time.localtime()
- TIMER_REFRESH = 50000
- class Onglets(wx.Notebook):
- # Classe dérivée du wx.Notebook
- def __init__(self, parent):
- wx.Notebook.__init__(self, parent, -1,size = (500, 500))
- self.Centre()
- def AjoutePage(self, nom):
- self.win = wx.Panel(self)
- self.vbox = wx.BoxSizer(wx.VERTICAL)
- self.SetBackgroundColour(wx.BLUE)
- w = self.AddPage(self.win, nom)
- self.vbox.Add(self.win, 1,wx.SHAPED, 20)
- self.win.SetSizer(self.vbox)
- self.textbox = wx.TextCtrl(self.win,style = wx.TE_READONLY|wx.TE_MULTILINE|wx.HSCROLL)
- def OnMiddleDown(self, event):
- print'Refresh logs'
- def SupprimePage(self, index):
- # Méthode de suppression d'un onglet
- self.DeletePage(index)
- class Fenetre(wx.Frame):
- # Frame destinée à tester notre notebook
- def __init__(self):
- #wx.Frame.__init__(self, None, -1, title = "Logs Monitoring", size = (SIZE_LARGEUR, SIZE_HAUTEUR))
- wx.Frame.__init__(self, None, wx.ID_ANY, title = "Logs Monitoring",size = (SIZE_LARGEUR, SIZE_HAUTEUR))
- # Recuperation de la date systeme
- #plog.getDateSystem()
- # Timer
- self.timer = wx.Timer(self)
- self.timer.Start(5000) # Tick toute les 5secondes
- # Event Timer
- self.Bind(wx.EVT_TIMER, self.RefreshLogs, self.timer)
- # Création de la barre de menu avec la conf
- self.AfficheMenu(None)
- # Instanciation de notre classe Notebook
- self.notebook = Onglets(self)
- # Ajout de trois onglets dans le notebook
- self.notebook.AjoutePage("PremierSite.fr")
- self.notebook.AjoutePage("DeuxièmeSite.fr")
- # On amorce le gestionnaire d'évènements du notebook
- # 2- Pour celui qui intervient au moment du changement d'onglet
- self.notebook.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGING, self.OnChanging)
- self.notebook.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGING, self.OnChanging)
- def AfficheMenu(self,event):
- menubar = wx.MenuBar()
- fileMenu = wx.Menu()
- aboutMenu = wx.Menu()
- # Sous Menus
- aboutItem = wx.MenuItem(aboutMenu, wx.ID_ANY, '&About')
- aboutMenu.AppendItem(aboutItem)
- quitterItem = wx.MenuItem(fileMenu, wx.ID_EXIT, '&Quitter')
- fileMenu.AppendItem(quitterItem)
- self.Bind(wx.EVT_MENU, self.ShowMessageAbout,aboutItem)
- self.Bind(wx.EVT_MENU, self.OnQuit, quitterItem)
- # Main Menus
- menubar.Append(fileMenu, '&Fichier')
- menubar.Append(aboutMenu, '&?')
- self.SetMenuBar(menubar)
- # Actualisation de l'affichage des Logs
- def RefreshLogs(self, event):
- '''
- dlg = wx.MessageDialog(None, "Mise à jour des logs",'Mise à jour des logs',wx.OK| wx.ICON_QUESTION)
- retCode = dlg.ShowModal()
- if (retCode == wx.ID_OK):
- dlg.Destroy()
- '''
- print 'timer'
- def ShowMessageAbout(self,e):
- dial = wx.MessageBox('Information logiciel \n\n ', 'About', wx.OK | wx.ICON_INFORMATION)
- dial.ShowModal()
- def OnQuit(self, e):
- self.timer.Stop()
- self.Close()
- def OnChanging(self, evt):
- print 'On Changing'
- class App(wx.App):
- def OnInit(self):
- f = Fenetre()
- f.Show(True)
- self.SetTopWindow(f)
- return True
- if __name__ == "__main__":
- monApp = App()
- monApp.MainLoop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement