Substitui ContribuinteForm por AttrForm
[cascardo/irpf-gui.git] / src / contribuinte.py
index 35dd7bd..28c2ccb 100644 (file)
@@ -15,6 +15,7 @@
 #   You should have received a copy of the GNU General Public License
 #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 # -*- mode: python; encoding: utf-8; -*-
+
 import xml.dom.minidom
 import dirs
 import os
@@ -22,29 +23,6 @@ import form
 import ocupacoes
 import declaracoes
 
-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)
-
 class Contribuinte:
     def __init__(self, cpf):
         irpf_dir = dirs.get_default_irpf_dir()
@@ -159,14 +137,19 @@ class Contribuinte:
         else:
             self._set_attr(self.contribuinte, attr, val)
 
+    def get_attr(self, attr):
+        return self.get_campo_contribuinte(attr)
+
+    def set_attr(self, attr, val):
+        self.set_campo_contribuinte(attr, val)
+
     def form(self):
-        form = []
-        ocup = ocupacoes.Ocupacoes()
-        form.append(ContribuinteForm("Nome", "nome", self))
-        form.append(OcupacaoForm(ocup, self))
+        f = []
+        f.append(form.AttrForm("Nome", "nome", self))
+        f.append(ocupacoes.OcupacaoForm(self))
         for i in self.attributes:
-            form.append(ContribuinteForm(i, i, self))
-        return form
+            f.append(form.AttrForm(i, i, self))
+        return f
 
     attributes = [
             "nome",