X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=src%2Fmenu.py;h=4a4dc497bc215c49d18e13616f2cab63b4903016;hb=92f7e46fddf90ca9670a986c0ec4ceeacd5e76d7;hp=4ba0d31e05e8c7ea1f890a50c925775c9cd7c208;hpb=c1b6e3bd1e64db42bf37d60b3621197ea5bc7302;p=cascardo%2Firpf-gui.git diff --git a/src/menu.py b/src/menu.py index 4ba0d31..4a4dc49 100644 --- a/src/menu.py +++ b/src/menu.py @@ -18,33 +18,11 @@ import baseui import contribuinte -import ocupacoes import rendimentoPJ +import bens import sys -import form - -class OcupacaoForm(form.OptionsForm): - def __init__(self, ocupacoes, contribuinte): - g = ocupacoes.groups() - l = [] - for i in sorted(g): - l.extend(g[i]) - o = map(lambda x: (x[0], x[3]), l) - form.OptionsForm.__init__(self, u"Ocupações", o, contribuinte.get_campo_contribuinte("ocupacaoPrincipal")) - self.ocupacoes = ocupacoes - self.contribuinte = contribuinte - def set_value(self, value): - form.OptionsForm.set_value(self, value) - self.contribuinte.set_campo_contribuinte("ocupacaoPrincipal", value) - -class ContribuinteForm(form.StringForm): - def __init__(self, name, attr, contribuinte): - self.contribuinte = contribuinte - self.attr = attr - form.StringForm.__init__(self, name, self.contribuinte.get_campo_contribuinte(self.attr)) - def set_value(self, value): - form.StringForm.set_value(self, value) - self.contribuinte.set_campo_contribuinte(self.attr, value) +import isentos +import exclusivos def List(UI, L, display): exit = False @@ -71,21 +49,49 @@ def RendimentosPJ(UI, contrib): return List(UI, rend, "nomeFontePagadora") def DadosPessoais(UI, contrib): - form = [] - ocup = ocupacoes.Ocupacoes() - form.append(ContribuinteForm("Nome", "nome", contrib)) - form.append(OcupacaoForm(ocup, contrib)) - for i in contribuinte.contribuinte_attributes: - form.append(ContribuinteForm(i, i, contrib)) - UI.form(form) + UI.form(contrib.form()) return True +def Bens(UI, contrib): + b = bens.Bens(contrib) + return List(UI, b, "discriminacao") + +def Quadro(UI, quadro): + return List(UI, quadro, "especificacao") + +def Quadros(quadros): + def fQuadros(UI, contrib): + exit = False + while not exit: + r = UI.menu(map(lambda x: x.name, quadros.quadros)) + if r < 0: + exit = True + else: + Quadro(UI, quadros.quadros[r]) + return fQuadros + def Salvar(UI, contrib): contrib.save() def menu(UI, contrib): - m = [ "Sair", "Salvar", "Dados Pessoais", "Rendimentos PJ" ] - f = [ None, Salvar, DadosPessoais, RendimentosPJ ] + m = [ + "Sair", + "Salvar", + "Dados Pessoais", + "Rendimentos PJ", + "Bens", + "Rendimentos Isentos", + "Rendimentos Exclusivos na Fonte", + ] + f = [ + None, + Salvar, + DadosPessoais, + RendimentosPJ, + Bens, + Quadros(isentos.RendimentosIsentos(contrib)), + Quadros(exclusivos.RendimentosExclusivos(contrib)), + ] exit = False while not exit: r = UI.menu(m)