# -*- coding: utf-8 -*-
#diretorios de imagens
alldir = ("C:\\Users\juridico.anoreg\Desktop\OFICIOS-ANOREG\imagem\\")
# from tkinter import *
from tkinter.filedialog import *
import sys
import tkinter
import time
import math
import datetime
import os
import subprocess
import tkinter.messagebox
import calendar as cd
from tkinter import *
import webbrowser
import tkinter.font
class App(object):
def __init__(self, master):
#ala de menus
menu = Menu(master)
root.config(menu=menu)
# criar menus de arquivo
filemenu = Menu(menu, tearoff=0)
menu.add_cascade(label="Arquivo", menu=filemenu)
filemenu.add_command(label="Novo", command=self.novo)
filemenu.add_command(label="Abrir", command=self.file_open)
filemenu.add_command(label="Salvar", command=self.file_save)
filemenu.add_separator()
filemenu.add_command(label="Sair", command=self.do_exit)
# criar menus de edição
editmenu = Menu(menu, tearoff=0)
editmenu.add_command(label="Cortar")
editmenu.add_command(label="Copiar")
editmenu.add_command(label="Colar")
menu.add_cascade(label="Editar", menu=editmenu)
#criar menus de ajuda
helpmenu = Menu(menu, tearoff=0)
helpmenu.add_command(label="Ajuda",command=self.ajuda)
menu.add_cascade(label="Ajuda", menu=helpmenu)
#backgound
self.background_image = PhotoImage(file=alldir+"background.gif")
self.background = Label(master, image=self.background_image)
self.background.place(x=0,y=0)
#frase inicial
self.L0 = Label(master,text =(" Nº do oficio"),bg='navy',foreground="white",font=("Arial", 16,"bold"),justify = LEFT)
self.L0.place(x=25,y=25)
self.oficio = Entry(master,width=25)
self.oficio.place(x=25,y=55)
self.oficio.focus_set()
#Data de hoje (dia de mês de ano)
self.L1=Label (master,text =(" Data de hoje (dia,mes,mes(nº),ano)"),bg='navy',foreground="white",font=("Arial", 16,"bold"),justify = LEFT)
self.L1.place (x=25,y=80)
self.data_dia = Entry(master,width=5)
self.data_dia.place(x=25,y=115)
self.data_dia.focus_set
self.data_mes = Entry(master,width=12)
self.data_mes.place(x=75,y=115)
self.data_mes.focus_set
self.data_mes2 = Entry(master,width=5)
self.data_mes2.place(x=165,y=115)
self.data_mes2.focus_set
self.data_ano = Entry(master,width=9)
self.data_ano.place(x=215,y=115)
self.data_ano.focus_set
#Nome da instancia
self.L2= Label(master, text = ("Remetente "),bg='navy',foreground="white",font=("Arial", 16,"bold"),justify = LEFT)
self.L2.place (x=25,y=145)
self.Poder = Entry(master,width=45)
self.Poder.place(x=25,y=185)
self.Poder.focus_set
#Numero do processo
self.L3= Label(master, text = ("Nº do processo "),bg='navy',foreground="white",font=("Arial", 16,"bold"),justify = LEFT)
self.L3.place (x=25,y=215)
self.Processo = Entry(master,width=45)
self.Processo.place(x=25,y=255)
self.Processo.focus_set
#Data de emissão do documento recebido
self.L4= Label (master, text = ("Data de emissão do oficio "),bg='navy',foreground="white",font=("Arial", 16,"bold"),justify = LEFT)
self.L4.place (x=25,y=285)
self.data_diaem = Entry(master,width=5)
self.data_diaem.place(x=25,y=325)
self.data_dia.focus_set
self.data_mesem = Entry(master,width=10)
self.data_mesem.place(x=75,y=325)
self.data_mesem.focus_set
self.data_anoem = Entry(master,width=9)
self.data_anoem.place(x=155,y=325)
self.data_anoem.focus_set
#Informação do processo (Ex: Informando da Interdição de (informar as partes do processo )
self.L5 = Label (master, text = ("informações referentes ao documento"),bg='navy',foreground="white",font=("Arial", 16,"bold"),justify = LEFT)
self.L5.place (x=25,y=355)
self.Informacao = Entry(master,width=75)
self.Informacao.place(x=25,y=395)
self.Informacao.focus_set
#solicitando que seja encaminhada resposta, o mais rápido possível, às devidas indagações. (opcional)
#qual anoreg ?
self.L6 = Label (master, text = ("Anoregs"),bg='navy',foreground="white",font=("Arial", 16,"bold"),justify = LEFT)
self.L6.place (x=25,y=565)
#barra de rolagem das anoregs estaduais
scrollbar_Anoreg = Scrollbar(master)
scrollbar_Anoreg.place(x=150,y=605, height=55)
#listbox das anoregs estaduais
self.Anoreg = Listbox (master)
for item in ["ANOREG-AL","ANOREG-AM","ANOREG-AP","ANOREG-BA","ANOREG-CE","ANOREG-DF","ANOREG-ES","ANOREG-GO","ANOREG-MA",
"ANOREG-MG","ANOREG-MS","ANOREG-MT","ANOREG-PA","ANOREG-PB","ANOREG-PE","ANOREG-PI","ANOREG-PR","ANOREG-RJ",
"ANOREG-RN","ANOREG-RO","ANOREG-RR","ANOREG-RS","ANOREG-SC","ANOREG-SE","ANOREG-SP","ANOREG-TO"]:
self.Anoreg.insert(END,item)
self.Anoreg.place(x=25,y=605,height=55)
self.Anoreg.focus_set
#barra de rolagem para anoregs estaduais
self.Anoreg.config(yscrollcommand=scrollbar_Anoreg.set)
scrollbar_Anoreg.config(command=self.Anoreg.yview)
#gerar nome da pasta do dia para salvar
Gerar_nome_pasta_dia = Button(master, text="Gerar nome para pasta do dia",bg='navy',foreground="white",font=("Arial", 12,"bold"),justify = LEFT,command=self.Pasta_dia)
Gerar_nome_pasta_dia.place (x=185,y=475)
self.L7 = Label (master, text = ("Nome da pasta gerado"),bg='navy',foreground="white",font=("Arial", 12,"bold"),justify = LEFT)
self.L7.place (x=185,y=425)
self.pasta = Entry(master,width=30)
self.pasta.place(x=185,y=455)
self.pasta.focus_set
#botão pasta do dia
Criar_pasta_dia = Button(master, text="Criar pasta do dia ",bg='navy',foreground="white",font=("Arial", 12,"bold"),justify = LEFT, width=15, command=(lambda a = 1: askdirectory(initialdir="C:\\Users\juridico.anoreg\Desktop\OFICIOSANOREG\\")))
Criar_pasta_dia.place(x=185,y=515)
#botão de criar documento
DADOS_botão = Button(master,text="CRIAR\nDOCUMENTO",bg='navy',foreground="white",font=("Arial", 12,"bold"),justify = LEFT,command=self.chamando_dados)
DADOS_botão.place (x=25,y=455)
#criando um a barra de rolagem de texto
scrollbartext = Scrollbar(master)
scrollbartext.place(x=1329,y=355,height=325)
#caixa de texto
self.text = Text(master,width = 88, height = 16)
self.text.place(x=525,y=355)
#barra de rolagem para caixa de texto
self.text.config(yscrollcommand=scrollbartext.set,font=("Arial", 12))
scrollbartext.config(command=self.text.yview)
#barra de rolagem dos presidentes estaduais
scrollbar_Presidentes = Scrollbar(master)
scrollbar_Presidentes.place(x=325,y=605, height=55)
#listbox das anoregs estaduais
self.Anoreg_presidentes = Listbox (master,width=25)
for item in ["MANOEL IRAN VILAR MALTA","RONALDO DE BRITO LEITE","JOSÉ ROBERTO SENA DE ALMEIDA","RUFINO GRIFFO RIBEIRO","ALEXANDRE MAGNO MEDEIROS DE ALENCAR","ALAN GUERRA NUNES","HELVÉCIO DUIA CASTELLO","MAURICIO BORGES SAMPAIO","ALICE EMILIANA RIBEIRO BRITO",
"ROBERTO DIAS DE ANDRADE","PAULO FRANCISCO COIMBRA PEDRA","NIUARA RIBEIRO ROBERTO BORGES","LUIZIEL HENDERSON GUEDES DE OLIVEIRA ","GERMANO CARVALHO TOSCANO DE BRITO","LUIZ GERALDO CORREIA DA SILVA","ANTONIO LISBOA LOPES DE SOUSA FILHO","ROBERT JONCZYK","RENALDO ANDRADE BUSSIERE",
"FRANCISCO ARAÚJO FERNANDES","PATRICIA DE FÁTIMA ASSIS BARROS","WAGNER MENDES COELHO","LUIZ CARLOS WEINZENMANN","OTAVIO GUILHERME MARGARIDA","ESTELITA NUNES DE OLIVEIRA","PATRÍCIA ANDRÉ DE CAMARGO FERRAZ","MARLY CONCEIÇÃO BONINA NEWTON"]:
self.Anoreg_presidentes.insert(END,item)
self.Anoreg_presidentes.place(x=170,y=605,height=55)
self.Anoreg_presidentes.focus_set
#barra de rolagem para presidentes estaduais
self.Anoreg_presidentes.config(yscrollcommand=scrollbar_Presidentes.set)
scrollbar_Presidentes.config(command=self.Anoreg_presidentes.yview)
#barra de rolagem dos estados
scrollbar_Estados = Scrollbar(master)
scrollbar_Estados.place(x=470,y=605, height=55)
#listbox dos estados
self.Anoreg_estados = Listbox (master)
for item in ["Maceió-AL","Manaus-AM","Macapá-AP","Salvador-BA","Fortaleza-CE","Brasília-DF","Vitória-ES","Goiânia-GO","São Luís-MA",
"Belo Horizonte-MG","Campo Grande-MS","Cuiabá-MT","Belém-PA","João Pessoa-PB","Recife-PE","Teresina-PI","Curitiba-PR","Rio de Janeiro-RJ",
"Parnamirim-RN","Porto Velho-RO","Boa Vista-RR","Porto Alegre-RS","Florianópolis-SC","Aracaju-SE","São Paulo-SP","Palmas-TO"]:
self.Anoreg_estados.insert(END,item)
self.Anoreg_estados.place(x=345,y=605,height=55)
self.Anoreg_estados.focus_set
#barra de rolagem dos estados
self.Anoreg_estados.config(yscrollcommand=scrollbar_Estados.set)
scrollbar_Estados.config(command=self.Anoreg_estados.yview)
#Logotipo da ANOREG-BR
self.anoreg_image = PhotoImage(file=alldir+"logo.gif")
self.anoreg_logo=Label(master,image=self.anoreg_image)
self.anoreg_logo.place(x=1270,y=2)
#Novas Opções
self.telefone_image = PhotoImage(file=alldir+"telefone.gif")
TELEFONES_ANOREG = Button(master,image=self.telefone_image, width=70)
TELEFONES_ANOREG.place(x=25,y=720)
self.recados_image = PhotoImage(file=alldir+"post-it.gif")
RECADOS_ANOREG = Button(master, image=self.recados_image,width=70,command=self.openExe)
RECADOS_ANOREG.place(x=125,y=720)
self.sites_image = PhotoImage(file=alldir+"site.gif")
SITES_ANOREG = Button(master,image=self.sites_image,command=self.site_anoreg)
SITES_ANOREG.place(x=410,y=720)
self.calendario_image = PhotoImage(file=alldir+"calendar.gif")
Calendário_ANOREG = Button(master, image=self.calendario_image,command=self.calendario)
Calendário_ANOREG.place(x=220,y=720)
##transporte de informações
#pegando o valor Oficio
def chamando_dados(self):
self.text.insert(END, " Brasilia ")
self.text.insert(END, self.data_dia.get())
self.text.insert(END, " de ")
self.text.insert(END, self.data_mes.get())
self.text.insert(END, " de ")
self.text.insert(END, self.data_ano.get())
self.text.insert(END,"\n")
self.text.insert(END,"\n")
self.text.insert(END,"\n")
self.text.insert(END,"\n")
self.text.insert(END,"Oficio nº ")
self.text.insert(END, self.data_dia.get())
self.text.insert(END,self.data_mes2.get())
self.text.insert(END,"/")
self.text.insert(END, self.data_ano.get())
self.text.insert(END,"\n")
self.text.insert(END,"\n")
self.text.insert(END, "Prezado Senhor, \n")
self.text.insert(END,"\n")
self.text.insert(END, "Informamos que a ANOREG/BR recebeu, na data de ")
self.text.insert(END, self.data_dia.get())
self.text.insert(END, " de ")
self.text.insert(END, self.data_mes.get())
self.text.insert(END, " de ")
self.text.insert(END, self.data_ano.get())
self.text.insert(END, ", ")
self.text.insert(END, self.Poder.get())
self.text.insert(END, ", ")
self.text.insert(END, "o oficio Nº ")
self.text.insert(END, self.oficio.get())
self.text.insert(END, "processo Nº ")
self.text.insert(END, self.Processo.get())
self.text.insert(END,",datado de ")
self.text.insert(END, self.data_diaem.get())
self.text.insert(END, " de ")
self.text.insert(END, self.data_mesem.get())
self.text.insert(END, " de ")
self.text.insert(END, self.data_anoem.get())
self.text.insert(END, ",")
self.text.insert(END, self.Informacao.get())
self.text.insert(END," solicitando que seja encaminhada resposta, o mais rápido possível, às devidas indagações.")
self.text.insert(END,"\n")
self.text.insert(END,"\n")
self.text.insert(END,"Dessa forma, pedimos que a ")
self.text.insert(END, self.Anoreg.get(ACTIVE))
self.text.insert(END, " providencie o envio dos questionamentos aos cartórios extrajudiciais competentes.")
self.text.insert(END,"\n")
self.text.insert(END,"\n")
self.text.insert(END,"Frisa-se que cada serventia deverá responder diretamente ao órgão citado acima. ")
self.text.insert(END,"\n")
self.text.insert(END,"\n")
self.text.insert(END,"Atenciosamente,")
self.text.insert(END,"\n")
self.text.insert(END,"\n")
self.text.insert(END," CHRISTIAN THOMAS ONCKEN")
self.text.insert(END,"\n")
self.text.insert(END," Estagiário de Direito")
self.text.insert(END,"\n")
self.text.insert(END,"Ao Senhor,")
self.text.insert(END,"\n")
self.text.insert(END,"Dr.")
self.text.insert(END, self.Anoreg_presidentes.get(ACTIVE))
self.text.insert(END,"\n")
self.text.insert(END,"Presidente da ")
self.text.insert(END,"\n")
self.text.insert(END, self.Anoreg.get(ACTIVE))
self.text.tag_add("oficio","3.5","7.0")
self.text.tag_config("oficio",font=("Arial", 12,"bold"))
self.text.tag_add("anoregbr","9.17","9.26")
self.text.tag_config("anoregbr",font=("Arial", 12,"bold"))
self.text.tag_add("anoreges","11.26","11.37")
self.text.tag_config("anoreges",font=("Arial", 12,"bold"))
self.text.tag_add("estagiario","17.5","18.0")
self.text.tag_config("estagiario",font=("Arial", 12,"bold"))
self.text.tag_add("presidente","20.3","21.0")
self.text.tag_config("presidente",font=("Arial", 12,"bold"))
self.text.tag_add("estado","22.0","23.5")
self.text.tag_config("estado",underline=1)
def file_open(self):
"""open a file to read"""
# optional initial directory (default is current directory)
initial_dir ="C:\\Users\juridico.anoreg\Desktop\OFICIOSANOREG\\"
# the filetype mask (default is all files)
mask = \
[("Text and Python files","*.txt *.py *.pyw"),
("HTML files","*.htm"),
("All files","*.*")]
fin = askopenfile(initialdir=initial_dir, filetypes=mask, mode='r')
text = fin.read()
if text != None:
self.text.delete(0.0, END)
self.text.insert(END,text)
def file_save(self):
"""get a filename and save the text in the editor widget"""
# default extension is optional, here will add .txt if missing
# nome automatico
fout = asksaveasfile(mode='w',initialdir="C:\\Users\juridico.anoreg\Desktop\OFICIOSANOREG\\",initialfile = (self.Poder.get(),self.oficio.get()) , defaultextension=".txt")
text2save = str(self.text.get(0.0,END))
[B]tag2save = (self.text.tag_cget())[/B]
fout.write(text2save,tag2save)
fout.close()
def do_exit(self):
root.destroy()
def novo (self):
self.text.delete(1.0, END)
self.oficio.delete (0,END)
self.data.delete (0,END)
self.Poder.delete (0,END)
self.Processo.delete (0,END)
self.Emissao_processo.delete (0,END)
self.Informacao.delete (0,END)
self.Anoreg.delete (0,END)
self.pasta.delete (0,END)
def Pasta_dia(self):
self.pasta.insert(END,("Oficio n.",self.data_dia.get(), self.data_mes2.get()))
def calendario(self):
calendario = Tk()
frame = Frame(calendario)
frame.grid()
#background
self.background2 = Label(calendario, bg='navy',width=200)
self.background2.place(x=0,y=0,height=200)
Calendário = Button(calendario, text="CALENDÁRIO\n",justify = LEFT, width=15,command=self.abrircalendario)
Calendário.place(x=0, y=0)
#selecione o ano
self.ano = Entry (calendario)
self.ano.place(x=0,y=55)
self.ano.focus_set
#selecione o mês
self.mes = Entry (calendario)
self.mes.place(x=0,y=75)
self.mes.focus_set
calendario.geometry("250x150+300+300")
calendario.mainloop()
def abrircalendario (self):
# supply year and month
year = int(self.ano.get())
month = int(self.mes.get()) # jan=1
# assign the month's calendar to a multiline string
str1 = cd.month(year, month)
# create the window form and call it root (typical)
calendarioopen = Tk()
calendarioopen.title("Monthly Calendar")
#background
self.background2 = Label(calendarioopen, bg='navy',width=200)
self.background2.place(x=0,y=0,height=300)
# pick a fixed font like courier so spaces behave right
self.label1 = Label(calendarioopen, text=str1, font=('courier', 14, 'bold'), bg='white')
self.label1.place(x=3, y=5)
calendarioopen.geometry("350x250+300+300")
calendarioopen.mainloop()
def ajuda (self):
top = Toplevel()
igm = PhotoImage(file=alldir+"logo.gif")
Label(top,image=igm).grid()
top.mainloop()
def site_anoreg(self):
site = Tk()
#backgound
self.background1 = Label(site, bg='navy',width=200)
self.background1.place(x=0,y=0,height=200)
self.site_anoreg = Listbox(site, foreground= "blue",width=45)
for item in ["http://www.google.com.br","http://www.anoreg.org.br/index.php","http://www.stf.jus.br/portal/principal/principal.asp","http://www.cnj.jus.br/"]:
self.site_anoreg.insert(END,item)
self.site_anoreg.place(x=0,y=0)
botao_site=Button(site,text="abrir",command=self.abrir_site)
botao_site.place(x=280,y=35)
site.geometry("350x150+300+300")
site.mainloop()
def abrir_site(self):
webbrowser.open(self.site_anoreg.get(ACTIVE))
def openExe(self):
os.startfile( "C:\\Windows\system32\StikyNot.exe\\" )
root = Tk()
root.title("OFICIOS ANOREG-BR 2011- v.1.0")
root.state("zoomed")
app = App(root)
root.mainloop()
i need a help to save the text with tag´s (bold, underline, font ) (red foreground in code)