Vues
- État: publié
gui_OO
L'interface graphique du convertisseur OpenOffice.
Cliquez ici pour obtenir le fichier
Contenu du fichier
#!/usr/bisn/env python
#-*- coding: utf_8 -*-
__author__ = 'Cedric Bonhomme'
__version__ = '$Revision: 1.1 $'
__date__ = '$Date: 2007/02/28 $'
__copyright__ = 'Copyright (c) 2007 Cedric Bonhomme'
__license__ = 'Python'
class Application:
"""
Interface graphique pour OOTranslator.
"""
def __init__(self):
""" Création de la fenetre principale """
self.root = Tkinter.Tk()
self.root.title('OpenOffice convertor')
self.root.resizable(height = False, width = False)
self.TEXTE = True
"""ListBox contenant tous les fichiers .od? du répertoire courant."""
listboxScroll = Tkinter.Scrollbar(self.root, orient = Tkinter.VERTICAL)
listboxScroll.grid(column = 2, row = 0, sticky = Tkinter.W)
self.listbox = Tkinter.Listbox(self.root, yscrollcommand=listboxScroll.set, height = 1)
self.listbox.grid(column = 1, row = 0, sticky = Tkinter.W + Tkinter.E)
listboxScroll['command'] = self.listbox.yview
self.__listeFichier() #ajout les fichiers OO à la ListBox
"""Widget Text avec une ScrollBar"""
self.texte = Tkinter.Text(self.root, wrap = Tkinter.WORD)
self.barre = Tkinter.Scrollbar(self.root, orient = Tkinter.VERTICAL)
self.barre.config(command = self.texte.yview)
self.barre.grid(column = 3, row = 1, sticky = Tkinter.S+Tkinter.N)
self.texte.config(state = Tkinter.DISABLED, yscrollcommand = self.barre)
self.texte.grid(row = 1, columnspan = 3)
"""Boutons"""
self.button1 = Tkinter.Button(self.root, text = 'XML', fg = 'black',
command = self.__convertirXML)
self.button1.grid(row = 2, column = 0)
self.button2 = Tkinter.Button(self.root, text = 'Texte', fg = 'black',
command = self.__convertirTexte)
self.button2.grid(row = 2, column = 1)
self.button3 = Tkinter.Button(self.root, text = 'Reinitialiser', fg = 'black',
command = self.__reinitialise)
self.button3.grid(row = 2, column = 2)
"""Boucle principale"""
self.root.mainloop()
def __convertirXML(self):
"""Pour convertir au format XML on met TEXTE à False"""
self.TEXTE = False
self.__convertir()
def __convertirTexte(self):
"""Pour convertir au format texte on met TEXTE à True"""
self.TEXTE = True
self.__convertir()
def __convertir(self):
"""Convertion vers le format XML ou Texte."""
try:
fichierOO = self.listbox.get(int(self.listbox.curselection()[0]))
self.texte.config(state = Tkinter.NORMAL)
self.texte.delete("1.0", Tkinter.END)
resultat = OOTranslator.convertir_OO(fichierOO, self.TEXTE)
except (IndexError, UnboundLocalError):
print "Sélectionnez un fichier"
try:
self.texte.insert("1.0", resultat)
self.texte.config(state = Tkinter.DISABLED)
return resultat
except:
print "Erreur Tcl. Fichier .odt certainement inexistant.\n"
def __listeFichier(self):
"""Liste les fichiers OO (= .od?) du dossier courant
et les ajoute à la liste.
"""
listeFichier = os.listdir("./")
listeFichierOO = [fichier for fichier in listeFichier \
if os.path.splitext(fichier)[1][:3] == '.od']
for fichierOO in listeFichierOO:
self.listbox.insert(Tkinter.END, fichierOO)
def __reinitialise(self):
"""Réinitialise les composants Tkinter"""
self.texte.config(state = Tkinter.NORMAL)
self.texte.delete("1.0", Tkinter.END)
self.texte.config(state = Tkinter.DISABLED)
if __name__ == "__main__":
"""Point d'entrée en exécution"""
import Tkinter
import os
import OOTranslator
Application()







