Esempio n. 1
0
    def __init__(self, *args, **kwds):
        kwds["style"] = wx.TAB_TRAVERSAL
        wx.Panel.__init__(self, *args, **kwds)
        self.student_id=0
        self.panel_heading        = wx.Panel(self, -1)
        self.label_heading        = wx.StaticText(self.panel_heading, -1, "new invoice")
        self.panel_top            = wx.Panel(self, -1)
        self.panel_inv_details    = wx.Panel(self.panel_top, -1)
        self.label_student        = wx.StaticText(  self.panel_inv_details, -1, "Student")
        self.combo_box_student    = wx.TextCtrl(    self.panel_inv_details, -1, style = wx.TE_READONLY)
        self.label_date           = wx.StaticText(  self.panel_inv_details, -1, "Date")
        self.panel_date           = PanelDatePicker(self.panel_inv_details, -1)
        self.label_invoice_no     = wx.StaticText(  self.panel_inv_details, -1, "Invoice No.")
        self.text_ctrl_invoice_no = wx.TextCtrl(    self.panel_inv_details, -1, "00000002",  style = wx.TE_READONLY)
        self.panel_spc1           = wx.Panel(       self.panel_inv_details, -1)
        self.bitmap_button_client = wx.BitmapButton(self.panel_top, -1, wx.Bitmap(".\\images\\64\\teacher 64.png", wx.BITMAP_TYPE_ANY))
        
        #self.panel_inv_holder     = PanelTheInvoice(self, -1)

        self.__set_properties()
        self.__do_layout()

        #self.Bind(wx.EVT_TEXT, self.OnInvID, self.text_ctrl_invoice_no)

        self.__do_main()
Esempio n. 2
0
 def __init__(self, *args, **kwds):
     kwds["style"] = wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER
     wx.Dialog.__init__(self, *args, **kwds)
     
     self.PanelNewInvoice        = wx.Panel(self, -1)
     
     self.panel_heading          = wx.Panel(self, -1)
     self.label_heading          = wx.StaticText(self.panel_heading, -1, "new invoice")
     self.panel_top              = wx.Panel(self, -1)
     self.panel_inv_details      = wx.Panel(self.panel_top, -1)
     self.label_student          = wx.StaticText(  self.panel_inv_details, -1, "Student")
     self.text_ctrl_student_name = wx.TextCtrl(    self.panel_inv_details, -1, style = wx.TE_READONLY)
     self.label_date             = wx.StaticText(  self.panel_inv_details, -1, "Date")
     self.date_picker_ctrl       = PanelDatePicker(self.panel_inv_details, -1)
     self.label_invoice_no       = wx.StaticText(  self.panel_inv_details, -1, "Invoice No.")
     self.text_ctrl_invoice_no   = wx.TextCtrl(    self.panel_inv_details, -1, "",  style = wx.TE_READONLY)
     self.panel_spc1             = wx.Panel(       self.panel_inv_details, -1)
     
     # causing iCCP unknown sRGB profile error
     self.bitmap_button_client = wx.BitmapButton(self.panel_top, -1, wx.Bitmap(".\\images\\64\\teacher 64.png", wx.BITMAP_TYPE_ANY))
     
     self.PanelInvoice    = PanelInvoice(self, -1)
     
     self.__set_properties()
     self.__do_layout()
     self.__do_main()
Esempio n. 3
0
class PanelNewInvoice(wx.Panel):
    def __init__(self, *args, **kwds):
        kwds["style"] = wx.TAB_TRAVERSAL
        wx.Panel.__init__(self, *args, **kwds)
        self.student_id=0
        self.panel_heading        = wx.Panel(self, -1)
        self.label_heading        = wx.StaticText(self.panel_heading, -1, "new invoice")
        self.panel_top            = wx.Panel(self, -1)
        self.panel_inv_details    = wx.Panel(self.panel_top, -1)
        self.label_student        = wx.StaticText(  self.panel_inv_details, -1, "Student")
        self.combo_box_student    = wx.TextCtrl(    self.panel_inv_details, -1, style = wx.TE_READONLY)
        self.label_date           = wx.StaticText(  self.panel_inv_details, -1, "Date")
        self.panel_date           = PanelDatePicker(self.panel_inv_details, -1)
        self.label_invoice_no     = wx.StaticText(  self.panel_inv_details, -1, "Invoice No.")
        self.text_ctrl_invoice_no = wx.TextCtrl(    self.panel_inv_details, -1, "00000002",  style = wx.TE_READONLY)
        self.panel_spc1           = wx.Panel(       self.panel_inv_details, -1)
        self.bitmap_button_client = wx.BitmapButton(self.panel_top, -1, wx.Bitmap(".\\images\\64\\teacher 64.png", wx.BITMAP_TYPE_ANY))
        
        #self.panel_inv_holder     = PanelTheInvoice(self, -1)

        self.__set_properties()
        self.__do_layout()

        #self.Bind(wx.EVT_TEXT, self.OnInvID, self.text_ctrl_invoice_no)

        self.__do_main()

    def __set_properties(self):
        self.combo_box_student.SetMinSize((250,21))
        self.SetBackgroundColour((224, 224, 224))
        self.label_heading.SetForegroundColour((255, 255, 255))
        self.label_heading.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
        self.panel_heading.SetMinSize((-1,30))
        self.panel_heading.SetBackgroundColour((47, 47, 47))

        self.text_ctrl_invoice_no.SetMinSize((250, 25))
        self.bitmap_button_client.SetSize(self.bitmap_button_client.GetBestSize())
        #self.panel_inv_holder.SetBackgroundColour(wx.Colour(255, 255, 255))


    def __do_layout(self):
        sizer_main = wx.BoxSizer(wx.VERTICAL)
        sizer_inv_client = wx.BoxSizer(wx.HORIZONTAL)
        grid_sizer_details = wx.FlexGridSizer(4, 2, 10, 10)
        sizer_heading = wx.BoxSizer(wx.HORIZONTAL)
        
        sizer_heading.Add(self.label_heading, 0, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, 10)
        self.panel_heading.SetSizer(sizer_heading)
        
        grid_sizer_details.Add(self.label_student, 0, wx.LEFT | wx.RIGHT | wx.TOP | wx.ALIGN_RIGHT, 5)
        grid_sizer_details.Add(self.combo_box_student, 1, wx.TOP , 5)
        grid_sizer_details.Add(self.label_date, 0, wx.RIGHT | wx.ALIGN_RIGHT, 5)
        grid_sizer_details.Add(self.panel_date, 1, wx.EXPAND, 0)
        grid_sizer_details.Add(self.label_invoice_no, 0, wx.LEFT | wx.ALIGN_RIGHT, 20)
        grid_sizer_details.Add(self.text_ctrl_invoice_no, 0, 0, 0)
        grid_sizer_details.Add(self.panel_spc1, 1, wx.EXPAND, 0)
        #grid_sizer_details.Add(self.button_settings, 0, wx.BOTTOM, 5)
        self.panel_inv_details.SetSizer(grid_sizer_details)
        grid_sizer_details.AddGrowableCol(1)
        
        sizer_inv_client.Add(self.panel_inv_details, 1, wx.EXPAND, 0)
        sizer_inv_client.Add(self.bitmap_button_client, 0, wx.RIGHT, 15)
        self.panel_top.SetSizer(sizer_inv_client)
        
        sizer_main.Add(self.panel_heading, 0, wx.EXPAND, 0)
        sizer_main.Add(self.panel_top, 0, wx.ALL | wx.EXPAND, 5)
        #sizer_main.Add(self.panel_inv_holder, 1, wx.ALL | wx.EXPAND, 20)
        self.SetSizer(sizer_main)
        sizer_main.Fit(self)
        
    def __do_main(self):
        pass

    def displayData(self, student_id):
        self.student_id = student_id
        p = self.GetTopLevelParent().panel_filter1
        
        loadCmb.inv_students(self.combo_box_student, p)
        loadCmb.restore(self.combo_box_student, student_id)
        
    def invoiceData(self):
        invoice_no = self.text_ctrl_invoice_no.GetValue()
        day, month, year = self.panel_date.getDate()       
        date = datetime.date(year, month, day)
        return (self.student_id, date, invoice_no)
        
    """
Esempio n. 4
0
    def _init_ctrls(self, prnt):
        frmCadastros._init_ctrls(self, prnt, TextValidator.FILTER_NONE, False)
        self._init_utils()
        self.SetClientSize(wxSize(523, 441))
        self.labCodigo.SetLabel("CPF: ")
        self.labDescricao.SetLabel("Nome: ")
        self.edtDescricao.SetSize(wxSize(312, 21))
        EVT_KILL_FOCUS(self.edtCodigo, self.OnEdtCodigo_Killfocus)

        self.labEmail = wxStaticText(id=wxID_FRMCADCLIENTESLABEMAIL,
                                     label=u'E-mail: ',
                                     name=u'labEmail',
                                     parent=self,
                                     pos=wxPoint(8, 88),
                                     size=wxSize(34, 13),
                                     style=0)

        self.edtEmail = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTEMAIL,
                                   name=u'edtEmail',
                                   parent=self,
                                   pos=wxPoint(8, 104),
                                   size=wxSize(312, 21),
                                   style=0,
                                   value=u'')
        self.edtEmail.Enable(False)

        self.labIdentidade = wxStaticText(id=wxID_FRMCADCLIENTESLABIDENTIDADE,
                                          label=u'Identidade: ',
                                          name=u'labIdentidade',
                                          parent=self,
                                          pos=wxPoint(322, 88),
                                          size=wxSize(56, 13),
                                          style=0)

        self.edtIdentidade = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTIDENTIDADE,
                                        name=u'edtIdentidade',
                                        parent=self,
                                        pos=wxPoint(322, 104),
                                        size=wxSize(100, 21),
                                        style=0,
                                        value=u'')
        self.edtIdentidade.Enable(False)

        self.rbSexo = wxRadioBox(choices=['Masculino', 'Feminino'],
                                 id=wxID_FRMCADCLIENTESRBSEXO,
                                 label=u'Sexo',
                                 majorDimension=2,
                                 name=u'rbSexo',
                                 parent=self,
                                 point=wxPoint(9, 128),
                                 size=wxSize(200, 44),
                                 style=wxRA_SPECIFY_COLS,
                                 validator=wxDefaultValidator)
        self.rbSexo.SetStringSelection(u'asd asd')

        self.labTelefone = wxStaticText(id=wxID_FRMCADCLIENTESLABTELEFONE,
                                        label=u'Telefone: ',
                                        name=u'labTelefone',
                                        parent=self,
                                        pos=wxPoint(216, 128),
                                        size=wxSize(48, 13),
                                        style=0)

        self.edtTelefone = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTTELEFONE,
                                      name=u'edtTelefone',
                                      parent=self,
                                      pos=wxPoint(216, 144),
                                      size=wxSize(104, 21),
                                      style=0,
                                      value=u'')
        self.edtTelefone.Enable(False)

        self.labDtNasc = wxStaticText(id=wxID_FRMCADCLIENTESLABDTNASC,
                                      label=u'Dt. Nascimento',
                                      name=u'labDtNasc',
                                      parent=self,
                                      pos=wxPoint(322, 128),
                                      size=wxSize(73, 13),
                                      style=0)

        self.edtDtNasc = DateCtrl(parent=self,
                                  id=wxID_FRMCADCLIENTESEDTDTNASC,
                                  pos=wxPoint(322, 144),
                                  size=wxSize(100, 21))
        self.edtDtNasc.Enable(False)
        EVT_KILL_FOCUS(self.edtDtNasc, self.OnEdtDtNasc_Killfocus)

        #self.sbEndereco = wxStaticBox(id=wxID_FRMCADCLIENTESSBENDERECO,
        #      label=u'Endere\xe7o', name=u'sbEndereco', parent=self,
        #      pos=wxPoint(8, 176), size=wxSize(432, 136), style=0)

        self.edtCodEndereco = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTCODENDERECO,
                                         name=u'edtCodEndereco',
                                         parent=self,
                                         pos=wxPoint(16, 200),
                                         size=wxSize(88, 21),
                                         style=0,
                                         validator=TextValidator(
                                             TextValidator.FILTER_NUMERIC),
                                         value=u'')
        self.edtCodEndereco.Enable(False)
        EVT_KILL_FOCUS(self.edtCodEndereco, self.OnEdtCodEndereco_Killfocus)

        self.btnPEndereco = wxButton(id=wxID_FRMCADCLIENTESBTNPENDERECO,
                                     label=u'...',
                                     name=u'btnPEndereco',
                                     parent=self,
                                     pos=wxPoint(104, 200),
                                     size=wxSize(21, 21),
                                     style=0)
        self.btnPEndereco.Enable(False)
        EVT_BUTTON(self.btnPEndereco, self.btnPEndereco.GetId(),
                   self.OnBtnPEnderecoClick)

        self.labLogradouro = wxStaticText(id=wxID_FRMCADCLIENTESLABLOGRADOURO,
                                          label=u'Logradouro: ',
                                          name=u'labLogradouro',
                                          parent=self,
                                          pos=wxPoint(16, 224),
                                          size=wxSize(60, 13),
                                          style=0)

        self.edtLogradouro = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTLOGRADOURO,
                                        name=u'edtLogradouro',
                                        parent=self,
                                        pos=wxPoint(16, 240),
                                        size=wxSize(264, 21),
                                        style=0,
                                        value=u'')
        self.edtLogradouro.Enable(False)

        self.labBairro = wxStaticText(id=wxID_FRMCADCLIENTESLABBAIRRO,
                                      label=u'Bairro:',
                                      name=u'labBairro',
                                      parent=self,
                                      pos=wxPoint(284, 224),
                                      size=wxSize(48, 13),
                                      style=0)

        self.edtBairro = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTBAIRRO,
                                    name=u'edtBairro',
                                    parent=self,
                                    pos=wxPoint(284, 240),
                                    size=wxSize(144, 21),
                                    style=0,
                                    value=u'')
        self.edtBairro.Enable(False)

        self.labCEP = wxStaticText(id=wxID_FRMCADCLIENTESLABCEP,
                                   label=u'CEP: ',
                                   name=u'labCEP',
                                   parent=self,
                                   pos=wxPoint(16, 264),
                                   size=wxSize(40, 13),
                                   style=0)

        self.edtCEP = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTCEP,
                                 name=u'edtCEP',
                                 parent=self,
                                 pos=wxPoint(16, 280),
                                 size=wxSize(78, 21),
                                 style=0,
                                 value=u'')
        self.edtCEP.Enable(False)

        self.labCidade = wxStaticText(id=wxID_FRMCADCLIENTESLABCIDADE,
                                      label=u'Cidade: ',
                                      name=u'labCidade',
                                      parent=self,
                                      pos=wxPoint(96, 264),
                                      size=wxSize(39, 13),
                                      style=0)

        self.edtCidade = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTCIDADE,
                                    name=u'edtCidade',
                                    parent=self,
                                    pos=wxPoint(96, 280),
                                    size=wxSize(184, 21),
                                    style=0,
                                    value=u'')
        self.edtCidade.Enable(False)

        self.labEstado = wxStaticText(id=wxID_FRMCADCLIENTESLABESTADO,
                                      label=u'Estado: ',
                                      name=u'labEstado',
                                      parent=self,
                                      pos=wxPoint(284, 264),
                                      size=wxSize(56, 13),
                                      style=0)

        self.edtEstado = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTESTADO,
                                    name=u'edtEstado',
                                    parent=self,
                                    pos=wxPoint(284, 280),
                                    size=wxSize(144, 21),
                                    style=0,
                                    value=u'')
        self.edtEstado.Enable(False)

        self.labPais = wxStaticText(id=wxID_FRMCADCLIENTESLABPAIS,
                                    label=u'Pa\xeds de origem: ',
                                    name=u'labPais',
                                    parent=self,
                                    pos=wxPoint(8, 320),
                                    size=wxSize(77, 16),
                                    style=0)

        self.edtCodPais = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTCODPAIS,
                                     name=u'edtCodPais',
                                     parent=self,
                                     pos=wxPoint(8, 336),
                                     size=wxSize(78, 21),
                                     style=0,
                                     validator=TextValidator(
                                         TextValidator.FILTER_ALPHA),
                                     value=u'')
        self.edtCodPais.Enable(False)
        EVT_KILL_FOCUS(self.edtCodPais, self.OnEdtCodPais_Killfocus)

        self.edtPais = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTPAIS,
                                  name=u'edtPais',
                                  parent=self,
                                  pos=wxPoint(88, 336),
                                  size=wxSize(240, 21),
                                  style=0,
                                  value=u'')
        self.edtPais.Enable(False)

        self.btnPPais = wxButton(id=wxID_FRMCADCLIENTESBTNPPAIS,
                                 label=u'...',
                                 name=u'btnPPais',
                                 parent=self,
                                 pos=wxPoint(328, 336),
                                 size=wxSize(21, 21),
                                 style=0)
        self.btnPPais.Enable(False)
        EVT_BUTTON(self.btnPPais, self.btnPPais.GetId(), self.OnBtnPPaisClick)

        self.labProfissao = wxStaticText(id=wxID_FRMCADCLIENTESLABPROFISSAO,
                                         label=u'Profiss\xe3o: ',
                                         name=u'labProfissao',
                                         parent=self,
                                         pos=wxPoint(8, 360),
                                         size=wxSize(56, 13),
                                         style=0)

        self.edtCodProfissao = wxTextCtrl(
            id=wxID_FRMCADCLIENTESEDTCODPROFISSAO,
            name=u'edtCodProfissao',
            parent=self,
            pos=wxPoint(8, 376),
            size=wxSize(78, 21),
            style=0,
            validator=TextValidator(TextValidator.FILTER_NUMERIC),
            value=u'')
        self.edtCodProfissao.Enable(False)
        EVT_KILL_FOCUS(self.edtCodProfissao, self.OnEdtCodProfissao_Killfocus)

        self.edtProfissao = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTPROFISSAO,
                                       name=u'edtProfissao',
                                       parent=self,
                                       pos=wxPoint(88, 376),
                                       size=wxSize(240, 21),
                                       style=0,
                                       value=u'')
        self.edtProfissao.Enable(False)

        self.btnPProfissao = wxButton(id=wxID_FRMCADCLIENTESBTNPPROFISSAO,
                                      label=u'...',
                                      name=u'btnPProfissao',
                                      parent=self,
                                      pos=wxPoint(328, 376),
                                      size=wxSize(21, 21),
                                      style=0)
        self.btnPProfissao.Enable(False)
        EVT_BUTTON(self.btnPProfissao, self.btnPProfissao.GetId(),
                   self.OnBtnPProfissaoClick)

        self.IniciaBotoes()
        self.btnPesquisar.SetDimensions(440, 8, 75, 25)
        self.btnAnterior.SetDimensions(440, 40, 75, 25)
        self.btnProximo.SetDimensions(440, 72, 75, 25)
        self.btnSalvar.SetDimensions(200, 408, 75, 25)
        self.btnExcluir.SetDimensions(280, 408, 75, 25)
        self.btnLimpar.SetDimensions(360, 408, 75, 25)
        self.btnFechar.SetDimensions(440, 408, 75, 25)

        self.FazLayout()

        self.edtCodigo.SetMaxLength(14)
        self.edtDescricao.SetMaxLength(30)
        self.edtEmail.SetMaxLength(30)
        self.edtIdentidade.SetMaxLength(10)
        self.edtCodEndereco.SetMaxLength(10)
        self.edtTelefone.SetMaxLength(17)
        self.edtCodPais.SetMaxLength(3)
        self.edtCodProfissao.SetMaxLength(10)

        EVT_BUTTON(self.btnNovo, self.btnNovo.GetId(), self.OnBtnNovoClick)
        EVT_BUTTON(self.btnFechar, self.btnFechar.GetId(),
                   self.OnBtnFecharClick)
        EVT_BUTTON(self.btnPesquisar, self.btnPesquisar.GetId(),
                   self.OnBtnPesquisarClick)
        EVT_BUTTON(self.btnAnterior, self.btnAnterior.GetId(),
                   self.OnBtnAnteriorClick)
        EVT_BUTTON(self.btnProximo, self.btnProximo.GetId(),
                   self.OnBtnProximoClick)
        EVT_BUTTON(self.btnSalvar, self.btnSalvar.GetId(),
                   self.OnBtnSalvarClick)
        EVT_BUTTON(self.btnExcluir, self.btnExcluir.GetId(),
                   self.OnBtnExcluirClick)
        EVT_BUTTON(self.btnLimpar, self.btnLimpar.GetId(),
                   self.OnBtnLimparClick)
Esempio n. 5
0
class frmCadClientes(frmCadastros):
    def _init_utils(self):
        pass

    def _init_ctrls(self, prnt):
        frmCadastros._init_ctrls(self, prnt, TextValidator.FILTER_NONE, False)
        self._init_utils()
        self.SetClientSize(wxSize(523, 441))
        self.labCodigo.SetLabel("CPF: ")
        self.labDescricao.SetLabel("Nome: ")
        self.edtDescricao.SetSize(wxSize(312, 21))
        EVT_KILL_FOCUS(self.edtCodigo, self.OnEdtCodigo_Killfocus)

        self.labEmail = wxStaticText(id=wxID_FRMCADCLIENTESLABEMAIL,
                                     label=u'E-mail: ',
                                     name=u'labEmail',
                                     parent=self,
                                     pos=wxPoint(8, 88),
                                     size=wxSize(34, 13),
                                     style=0)

        self.edtEmail = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTEMAIL,
                                   name=u'edtEmail',
                                   parent=self,
                                   pos=wxPoint(8, 104),
                                   size=wxSize(312, 21),
                                   style=0,
                                   value=u'')
        self.edtEmail.Enable(False)

        self.labIdentidade = wxStaticText(id=wxID_FRMCADCLIENTESLABIDENTIDADE,
                                          label=u'Identidade: ',
                                          name=u'labIdentidade',
                                          parent=self,
                                          pos=wxPoint(322, 88),
                                          size=wxSize(56, 13),
                                          style=0)

        self.edtIdentidade = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTIDENTIDADE,
                                        name=u'edtIdentidade',
                                        parent=self,
                                        pos=wxPoint(322, 104),
                                        size=wxSize(100, 21),
                                        style=0,
                                        value=u'')
        self.edtIdentidade.Enable(False)

        self.rbSexo = wxRadioBox(choices=['Masculino', 'Feminino'],
                                 id=wxID_FRMCADCLIENTESRBSEXO,
                                 label=u'Sexo',
                                 majorDimension=2,
                                 name=u'rbSexo',
                                 parent=self,
                                 point=wxPoint(9, 128),
                                 size=wxSize(200, 44),
                                 style=wxRA_SPECIFY_COLS,
                                 validator=wxDefaultValidator)
        self.rbSexo.SetStringSelection(u'asd asd')

        self.labTelefone = wxStaticText(id=wxID_FRMCADCLIENTESLABTELEFONE,
                                        label=u'Telefone: ',
                                        name=u'labTelefone',
                                        parent=self,
                                        pos=wxPoint(216, 128),
                                        size=wxSize(48, 13),
                                        style=0)

        self.edtTelefone = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTTELEFONE,
                                      name=u'edtTelefone',
                                      parent=self,
                                      pos=wxPoint(216, 144),
                                      size=wxSize(104, 21),
                                      style=0,
                                      value=u'')
        self.edtTelefone.Enable(False)

        self.labDtNasc = wxStaticText(id=wxID_FRMCADCLIENTESLABDTNASC,
                                      label=u'Dt. Nascimento',
                                      name=u'labDtNasc',
                                      parent=self,
                                      pos=wxPoint(322, 128),
                                      size=wxSize(73, 13),
                                      style=0)

        self.edtDtNasc = DateCtrl(parent=self,
                                  id=wxID_FRMCADCLIENTESEDTDTNASC,
                                  pos=wxPoint(322, 144),
                                  size=wxSize(100, 21))
        self.edtDtNasc.Enable(False)
        EVT_KILL_FOCUS(self.edtDtNasc, self.OnEdtDtNasc_Killfocus)

        #self.sbEndereco = wxStaticBox(id=wxID_FRMCADCLIENTESSBENDERECO,
        #      label=u'Endere\xe7o', name=u'sbEndereco', parent=self,
        #      pos=wxPoint(8, 176), size=wxSize(432, 136), style=0)

        self.edtCodEndereco = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTCODENDERECO,
                                         name=u'edtCodEndereco',
                                         parent=self,
                                         pos=wxPoint(16, 200),
                                         size=wxSize(88, 21),
                                         style=0,
                                         validator=TextValidator(
                                             TextValidator.FILTER_NUMERIC),
                                         value=u'')
        self.edtCodEndereco.Enable(False)
        EVT_KILL_FOCUS(self.edtCodEndereco, self.OnEdtCodEndereco_Killfocus)

        self.btnPEndereco = wxButton(id=wxID_FRMCADCLIENTESBTNPENDERECO,
                                     label=u'...',
                                     name=u'btnPEndereco',
                                     parent=self,
                                     pos=wxPoint(104, 200),
                                     size=wxSize(21, 21),
                                     style=0)
        self.btnPEndereco.Enable(False)
        EVT_BUTTON(self.btnPEndereco, self.btnPEndereco.GetId(),
                   self.OnBtnPEnderecoClick)

        self.labLogradouro = wxStaticText(id=wxID_FRMCADCLIENTESLABLOGRADOURO,
                                          label=u'Logradouro: ',
                                          name=u'labLogradouro',
                                          parent=self,
                                          pos=wxPoint(16, 224),
                                          size=wxSize(60, 13),
                                          style=0)

        self.edtLogradouro = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTLOGRADOURO,
                                        name=u'edtLogradouro',
                                        parent=self,
                                        pos=wxPoint(16, 240),
                                        size=wxSize(264, 21),
                                        style=0,
                                        value=u'')
        self.edtLogradouro.Enable(False)

        self.labBairro = wxStaticText(id=wxID_FRMCADCLIENTESLABBAIRRO,
                                      label=u'Bairro:',
                                      name=u'labBairro',
                                      parent=self,
                                      pos=wxPoint(284, 224),
                                      size=wxSize(48, 13),
                                      style=0)

        self.edtBairro = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTBAIRRO,
                                    name=u'edtBairro',
                                    parent=self,
                                    pos=wxPoint(284, 240),
                                    size=wxSize(144, 21),
                                    style=0,
                                    value=u'')
        self.edtBairro.Enable(False)

        self.labCEP = wxStaticText(id=wxID_FRMCADCLIENTESLABCEP,
                                   label=u'CEP: ',
                                   name=u'labCEP',
                                   parent=self,
                                   pos=wxPoint(16, 264),
                                   size=wxSize(40, 13),
                                   style=0)

        self.edtCEP = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTCEP,
                                 name=u'edtCEP',
                                 parent=self,
                                 pos=wxPoint(16, 280),
                                 size=wxSize(78, 21),
                                 style=0,
                                 value=u'')
        self.edtCEP.Enable(False)

        self.labCidade = wxStaticText(id=wxID_FRMCADCLIENTESLABCIDADE,
                                      label=u'Cidade: ',
                                      name=u'labCidade',
                                      parent=self,
                                      pos=wxPoint(96, 264),
                                      size=wxSize(39, 13),
                                      style=0)

        self.edtCidade = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTCIDADE,
                                    name=u'edtCidade',
                                    parent=self,
                                    pos=wxPoint(96, 280),
                                    size=wxSize(184, 21),
                                    style=0,
                                    value=u'')
        self.edtCidade.Enable(False)

        self.labEstado = wxStaticText(id=wxID_FRMCADCLIENTESLABESTADO,
                                      label=u'Estado: ',
                                      name=u'labEstado',
                                      parent=self,
                                      pos=wxPoint(284, 264),
                                      size=wxSize(56, 13),
                                      style=0)

        self.edtEstado = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTESTADO,
                                    name=u'edtEstado',
                                    parent=self,
                                    pos=wxPoint(284, 280),
                                    size=wxSize(144, 21),
                                    style=0,
                                    value=u'')
        self.edtEstado.Enable(False)

        self.labPais = wxStaticText(id=wxID_FRMCADCLIENTESLABPAIS,
                                    label=u'Pa\xeds de origem: ',
                                    name=u'labPais',
                                    parent=self,
                                    pos=wxPoint(8, 320),
                                    size=wxSize(77, 16),
                                    style=0)

        self.edtCodPais = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTCODPAIS,
                                     name=u'edtCodPais',
                                     parent=self,
                                     pos=wxPoint(8, 336),
                                     size=wxSize(78, 21),
                                     style=0,
                                     validator=TextValidator(
                                         TextValidator.FILTER_ALPHA),
                                     value=u'')
        self.edtCodPais.Enable(False)
        EVT_KILL_FOCUS(self.edtCodPais, self.OnEdtCodPais_Killfocus)

        self.edtPais = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTPAIS,
                                  name=u'edtPais',
                                  parent=self,
                                  pos=wxPoint(88, 336),
                                  size=wxSize(240, 21),
                                  style=0,
                                  value=u'')
        self.edtPais.Enable(False)

        self.btnPPais = wxButton(id=wxID_FRMCADCLIENTESBTNPPAIS,
                                 label=u'...',
                                 name=u'btnPPais',
                                 parent=self,
                                 pos=wxPoint(328, 336),
                                 size=wxSize(21, 21),
                                 style=0)
        self.btnPPais.Enable(False)
        EVT_BUTTON(self.btnPPais, self.btnPPais.GetId(), self.OnBtnPPaisClick)

        self.labProfissao = wxStaticText(id=wxID_FRMCADCLIENTESLABPROFISSAO,
                                         label=u'Profiss\xe3o: ',
                                         name=u'labProfissao',
                                         parent=self,
                                         pos=wxPoint(8, 360),
                                         size=wxSize(56, 13),
                                         style=0)

        self.edtCodProfissao = wxTextCtrl(
            id=wxID_FRMCADCLIENTESEDTCODPROFISSAO,
            name=u'edtCodProfissao',
            parent=self,
            pos=wxPoint(8, 376),
            size=wxSize(78, 21),
            style=0,
            validator=TextValidator(TextValidator.FILTER_NUMERIC),
            value=u'')
        self.edtCodProfissao.Enable(False)
        EVT_KILL_FOCUS(self.edtCodProfissao, self.OnEdtCodProfissao_Killfocus)

        self.edtProfissao = wxTextCtrl(id=wxID_FRMCADCLIENTESEDTPROFISSAO,
                                       name=u'edtProfissao',
                                       parent=self,
                                       pos=wxPoint(88, 376),
                                       size=wxSize(240, 21),
                                       style=0,
                                       value=u'')
        self.edtProfissao.Enable(False)

        self.btnPProfissao = wxButton(id=wxID_FRMCADCLIENTESBTNPPROFISSAO,
                                      label=u'...',
                                      name=u'btnPProfissao',
                                      parent=self,
                                      pos=wxPoint(328, 376),
                                      size=wxSize(21, 21),
                                      style=0)
        self.btnPProfissao.Enable(False)
        EVT_BUTTON(self.btnPProfissao, self.btnPProfissao.GetId(),
                   self.OnBtnPProfissaoClick)

        self.IniciaBotoes()
        self.btnPesquisar.SetDimensions(440, 8, 75, 25)
        self.btnAnterior.SetDimensions(440, 40, 75, 25)
        self.btnProximo.SetDimensions(440, 72, 75, 25)
        self.btnSalvar.SetDimensions(200, 408, 75, 25)
        self.btnExcluir.SetDimensions(280, 408, 75, 25)
        self.btnLimpar.SetDimensions(360, 408, 75, 25)
        self.btnFechar.SetDimensions(440, 408, 75, 25)

        self.FazLayout()

        self.edtCodigo.SetMaxLength(14)
        self.edtDescricao.SetMaxLength(30)
        self.edtEmail.SetMaxLength(30)
        self.edtIdentidade.SetMaxLength(10)
        self.edtCodEndereco.SetMaxLength(10)
        self.edtTelefone.SetMaxLength(17)
        self.edtCodPais.SetMaxLength(3)
        self.edtCodProfissao.SetMaxLength(10)

        EVT_BUTTON(self.btnNovo, self.btnNovo.GetId(), self.OnBtnNovoClick)
        EVT_BUTTON(self.btnFechar, self.btnFechar.GetId(),
                   self.OnBtnFecharClick)
        EVT_BUTTON(self.btnPesquisar, self.btnPesquisar.GetId(),
                   self.OnBtnPesquisarClick)
        EVT_BUTTON(self.btnAnterior, self.btnAnterior.GetId(),
                   self.OnBtnAnteriorClick)
        EVT_BUTTON(self.btnProximo, self.btnProximo.GetId(),
                   self.OnBtnProximoClick)
        EVT_BUTTON(self.btnSalvar, self.btnSalvar.GetId(),
                   self.OnBtnSalvarClick)
        EVT_BUTTON(self.btnExcluir, self.btnExcluir.GetId(),
                   self.OnBtnExcluirClick)
        EVT_BUTTON(self.btnLimpar, self.btnLimpar.GetId(),
                   self.OnBtnLimparClick)

    def FazLayout(self):
        self.sizer_1 = wxBoxSizer(wxVERTICAL)
        self.sizer_2 = wxBoxSizer(wxHORIZONTAL)
        self.sizer_3 = wxBoxSizer(wxHORIZONTAL)
        self.sizer_4 = wxBoxSizer(wxVERTICAL)
        self.sizer_5 = wxBoxSizer(wxVERTICAL)
        self.sizer_16 = wxBoxSizer(wxHORIZONTAL)
        self.grid_sizer_23 = wxGridSizer(2, 1, 0, 0)
        self.grid_sizer_22 = wxGridSizer(2, 1, 0, 0)
        self.grid_sizer_19 = wxGridSizer(2, 1, 0, 0)
        self.sizer_15 = wxBoxSizer(wxHORIZONTAL)
        self.grid_sizer_21 = wxGridSizer(2, 1, 0, 0)
        self.grid_sizer_20 = wxGridSizer(2, 1, 0, 0)
        self.grid_sizer_18 = wxGridSizer(2, 1, 0, 0)
        self.sizer_11 = wxStaticBoxSizer(wxStaticBox(self, -1, "Endere\xe7o"),
                                         wxVERTICAL)
        self.sizer_14 = wxBoxSizer(wxHORIZONTAL)
        self.grid_sizer_17 = wxGridSizer(2, 1, 0, 0)
        self.grid_sizer_16 = wxGridSizer(2, 1, 0, 0)
        self.grid_sizer_15 = wxGridSizer(2, 1, 0, 0)
        self.sizer_13 = wxBoxSizer(wxHORIZONTAL)
        self.grid_sizer_14 = wxGridSizer(2, 1, 0, 0)
        self.grid_sizer_13 = wxGridSizer(2, 1, 0, 0)
        self.sizer_12 = wxBoxSizer(wxHORIZONTAL)
        self.sizer_10 = wxBoxSizer(wxHORIZONTAL)
        self.grid_sizer_12 = wxGridSizer(2, 1, 0, 0)
        self.grid_sizer_11 = wxGridSizer(2, 1, 0, 0)
        self.sizer_6 = wxBoxSizer(wxHORIZONTAL)
        self.grid_sizer_5 = wxGridSizer(2, 1, 0, 0)
        self.grid_sizer_4 = wxGridSizer(2, 1, 0, 0)
        self.sizer_8 = wxBoxSizer(wxHORIZONTAL)
        self.grid_sizer_8 = wxGridSizer(2, 1, 0, 0)
        self.sizer_7 = wxBoxSizer(wxHORIZONTAL)
        self.grid_sizer_7 = wxGridSizer(2, 1, 0, 0)
        self.grid_sizer_7.Add(self.labCodigo, 0, wxALIGN_BOTTOM, 0)
        self.grid_sizer_7.Add(self.edtCodigo, 0, 0, 0)
        self.sizer_7.Add(self.grid_sizer_7, 0, 0, 0)
        self.sizer_7.Add(self.btnNovo, 0, wxLEFT | wxALIGN_BOTTOM, 5)
        self.sizer_5.Add(self.sizer_7, 1, 0, 0)
        self.grid_sizer_8.Add(self.labDescricao, 0, wxALIGN_BOTTOM, 0)
        self.grid_sizer_8.Add(self.edtDescricao, 0, 0, 0)
        self.sizer_8.Add(self.grid_sizer_8, 0, 0, 0)
        self.sizer_5.Add(self.sizer_8, 1, wxEXPAND, 0)
        self.grid_sizer_4.Add(self.labEmail, 0, wxALIGN_BOTTOM, 0)
        self.grid_sizer_4.Add(self.edtEmail, 0, 0, 0)
        self.sizer_6.Add(self.grid_sizer_4, 0, 0, 0)
        self.grid_sizer_5.Add(self.labIdentidade, 0, wxALIGN_BOTTOM, 0)
        self.grid_sizer_5.Add(self.edtIdentidade, 0, 0, 0)
        self.sizer_6.Add(self.grid_sizer_5, 0, wxLEFT, 4)
        self.sizer_5.Add(self.sizer_6, 0, 0, 0)
        self.sizer_10.Add(self.rbSexo, 0, 0, 0)
        self.grid_sizer_11.Add(self.labTelefone, 0, wxALIGN_BOTTOM, 0)
        self.grid_sizer_11.Add(self.edtTelefone, 0, 0, 0)
        self.sizer_10.Add(self.grid_sizer_11, 1, wxLEFT | wxEXPAND, 4)
        self.grid_sizer_12.Add(self.labDtNasc, 0, wxALIGN_BOTTOM, 0)
        self.grid_sizer_12.Add(self.edtDtNasc, 0, 0, 0)
        self.sizer_10.Add(self.grid_sizer_12, 1, wxLEFT | wxEXPAND, 4)
        self.sizer_5.Add(self.sizer_10, 1, wxEXPAND, 0)
        self.sizer_12.Add(self.edtCodEndereco, 0, 0, 0)
        self.sizer_12.Add(self.btnPEndereco, 0, 0, 0)
        self.sizer_11.Add(self.sizer_12, 0, wxALL, 2)
        self.grid_sizer_13.Add(self.labLogradouro, 0, wxALIGN_BOTTOM, 0)
        self.grid_sizer_13.Add(self.edtLogradouro, 0, 0, 0)
        self.sizer_13.Add(self.grid_sizer_13, 0, 0, 0)
        self.grid_sizer_14.Add(self.labBairro, 0, wxALIGN_BOTTOM, 0)
        self.grid_sizer_14.Add(self.edtBairro, 0, 0, 0)
        self.sizer_13.Add(self.grid_sizer_14, 0, wxLEFT, 4)
        self.sizer_11.Add(self.sizer_13, 0, 0, 0)
        self.grid_sizer_15.Add(self.labCEP, 0, wxALIGN_BOTTOM, 0)
        self.grid_sizer_15.Add(self.edtCEP, 0, 0, 0)
        self.sizer_14.Add(self.grid_sizer_15, 0, 0, 0)
        self.grid_sizer_16.Add(self.labCidade, 0, wxALIGN_BOTTOM, 0)
        self.grid_sizer_16.Add(self.edtCidade, 0, 0, 0)
        self.sizer_14.Add(self.grid_sizer_16, 0, wxLEFT, 4)
        self.grid_sizer_17.Add(self.labEstado, 0, wxALIGN_BOTTOM, 0)
        self.grid_sizer_17.Add(self.edtEstado, 0, 0, 0)
        self.sizer_14.Add(self.grid_sizer_17, 0, wxLEFT, 4)
        self.sizer_11.Add(self.sizer_14, 1, 0, 0)
        self.sizer_5.Add(self.sizer_11, 0, 0, 0)
        self.grid_sizer_18.Add(self.labPais, 0, wxALIGN_BOTTOM, 0)
        self.grid_sizer_18.Add(self.edtCodPais, 0, 0, 0)
        self.sizer_15.Add(self.grid_sizer_18, 0, 0, 0)
        self.grid_sizer_20.Add(20, 20, 0, 0, 0)
        self.grid_sizer_20.Add(self.edtPais, 0, 0, 0)
        self.sizer_15.Add(self.grid_sizer_20, 0, wxLEFT, 2)
        self.grid_sizer_21.Add(20, 20, 0, 0, 0)
        self.grid_sizer_21.Add(self.btnPPais, 0, 0, 0)
        self.sizer_15.Add(self.grid_sizer_21, 0, 0, 0)
        self.sizer_5.Add(self.sizer_15, 0, 0, 0)
        self.grid_sizer_19.Add(self.labProfissao, 0, wxALIGN_BOTTOM, 0)
        self.grid_sizer_19.Add(self.edtCodProfissao, 0, 0, 0)
        self.sizer_16.Add(self.grid_sizer_19, 0, 0, 0)
        self.grid_sizer_22.Add(20, 20, 0, 0, 0)
        self.grid_sizer_22.Add(self.edtProfissao, 0, 0, 0)
        self.sizer_16.Add(self.grid_sizer_22, 0, wxLEFT, 2)
        self.grid_sizer_23.Add(20, 20, 0, 0, 0)
        self.grid_sizer_23.Add(self.btnPProfissao, 0, 0, 0)
        self.sizer_16.Add(self.grid_sizer_23, 0, 0, 0)
        self.sizer_5.Add(self.sizer_16, 0, 0, 0)
        self.sizer_3.Add(self.sizer_5, 0, 0, 0)
        self.sizer_4.Add(self.btnPesquisar, 0, wxALL | wxALIGN_RIGHT, 2)
        self.sizer_4.Add(self.btnAnterior, 0, wxALL | wxALIGN_RIGHT, 2)
        self.sizer_4.Add(self.btnProximo, 0, wxALL | wxALIGN_RIGHT, 2)
        self.sizer_3.Add(self.sizer_4, 1, 0, 0)
        self.sizer_1.Add(self.sizer_3, 1, wxALL | wxEXPAND, 4)
        self.sizer_2.Add(self.btnSalvar, 0,
                         wxALL | wxALIGN_RIGHT | wxALIGN_BOTTOM, 2)
        self.sizer_2.Add(self.btnExcluir, 0,
                         wxALL | wxALIGN_RIGHT | wxALIGN_BOTTOM, 2)
        self.sizer_2.Add(self.btnLimpar, 0,
                         wxALL | wxALIGN_RIGHT | wxALIGN_BOTTOM, 2)
        self.sizer_2.Add(self.btnFechar, 0,
                         wxALL | wxALIGN_RIGHT | wxALIGN_BOTTOM, 2)
        self.sizer_1.Add(self.sizer_2, 0,
                         wxRIGHT | wxBOTTOM | wxALIGN_RIGHT | wxALIGN_BOTTOM,
                         4)
        self.SetAutoLayout(true)
        self.SetSizer(self.sizer_1)
        self.sizer_1.Fit(self)
        self.sizer_1.SetSizeHints(self)

    def __init__(self, parent):
        self._init_ctrls(parent)

    def ValidaDados(self, bTodosDados):
        if RotinasGlobais.Rotinas.ValidaCampo(self.edtCodigo.GetValue(),
                                              Resource.STR_CPFNINF):
            return False
        if bTodosDados:
            if RotinasGlobais.Rotinas.ValidaCampo(self.edtDescricao.GetValue(),
                                                  Resource.STR_CLININF):
                return False
            if RotinasGlobais.Rotinas.ValidaCampo(self.edtEmail.GetValue(),
                                                  Resource.STR_EMAILNINF):
                return False
            if RotinasGlobais.Rotinas.ValidaCampo(self.edtTelefone.GetValue(),
                                                  Resource.STR_TELNINF):
                return False
            if RotinasGlobais.Rotinas.ValidaCampo(
                    self.edtCodEndereco.GetValue(), Resource.STR_ENDNINF):
                return False
            if RotinasGlobais.Rotinas.ValidaCampo(self.edtCodPais.GetValue(),
                                                  Resource.STR_PAISNINF):
                return False
            if RotinasGlobais.Rotinas.ValidaCampo(
                    self.edtCodProfissao.GetValue(), Resource.STR_PROFNINF):
                return False
        return True

    def OnBtnFecharClick(self, event):
        self.GetParent().Close(True)

    def OnBtnNovoClick(self, event):
        self.btnNovoClick()
        self.InformaLimpaDadosLocal(False)
        self.HabilitaDadosLocal(True)
        event.Skip()

    def OnBtnPesquisarClick(self, event):
        if self.PesquisarDados(
                ConsultasSQL.ConsSQL.Cliente('S', self.edtCodigo.GetValue(),
                                             "", "", "", "", "", "", "", "",
                                             ""), Resource.STR_CLINENC):
            self.InformaLimpaDadosLocal(True)
            self.HabilitaDadosLocal(True)
        event.Skip()

    def OnBtnAnteriorClick(self, event):
        if self.registroAnterior():
            self.InformaLimpaDadosLocal(True)
        event.Skip()

    def OnBtnProximoClick(self, event):
        if self.registroProximo():
            self.InformaLimpaDadosLocal(True)
        event.Skip()

    def OnBtnSalvarClick(self, event):
        if self.rbSexo.GetSelection() == 0:
            self.sSexo = "M"
        else:
            self.sSexo = "F"

        self.sDtNasc = RotinasGlobais.Rotinas.ConverteDataHoraStr(
            self.edtDtNasc.GetValue(), True, '%Y/%m/%d', '')

        self.sSqlUpdate = ConsultasSQL.ConsSQL.Cliente(
            'U', self.edtCodigo.GetValue(), self.edtDescricao.GetValue(),
            self.edtEmail.GetValue(), self.edtIdentidade.GetValue(),
            self.sSexo, self.edtTelefone.GetValue(), self.sDtNasc,
            self.edtCodEndereco.GetValue(), self.edtCodPais.GetValue(),
            self.edtCodProfissao.GetValue())

        self.sSqlInsert = ConsultasSQL.ConsSQL.Cliente(
            'I', self.edtCodigo.GetValue(), self.edtDescricao.GetValue(),
            self.edtEmail.GetValue(), self.edtIdentidade.GetValue(),
            self.sSexo, self.edtTelefone.GetValue(), self.sDtNasc,
            self.edtCodEndereco.GetValue(), self.edtCodPais.GetValue(),
            self.edtCodProfissao.GetValue())

        if self.SalvarDados(
                self.ValidaDados(True),
                ConsultasSQL.ConsSQL.Cliente('S', self.edtCodigo.GetValue(),
                                             "", "", "", "", "", "", "", "",
                                             ""), self.sSqlUpdate,
                self.sSqlInsert, True):
            self.InformaLimpaDadosLocal(False)
            self.HabilitaDadosLocal(False)
        event.Skip()

    def OnBtnExcluirClick(self, event):
        if self.ExcluirDados(
                self.ValidaDados(False),
                ConsultasSQL.ConsSQL.Cliente('D', self.edtCodigo.GetValue(),
                                             "", "", "", "", "", "", "", "",
                                             "")):
            self.InformaLimpaDadosLocal(False)
            self.HabilitaDadosLocal(False)
        event.Skip()

    def OnBtnLimparClick(self, event):
        self.btnLimparClick()
        self.InformaLimpaDadosLocal(False)
        self.HabilitaDadosLocal(False)
        event.Skip()

    def InformaLimpaDadosLocal(self, bInformar):
        if bInformar:
            self.edtEmail.SetValue(
                self.lstRegistros.col[self.nLinhaRegistro][2])
            self.edtIdentidade.SetValue(
                self.lstRegistros.col[self.nLinhaRegistro][3])
            if self.lstRegistros.col[self.nLinhaRegistro][4] == "M":
                self.rbSexo.SetSelection(0)
            else:
                self.rbSexo.SetSelection(1)
            self.edtTelefone.SetValue(
                self.lstRegistros.col[self.nLinhaRegistro][5])
            self.edtDtNasc.SetValue(
                RotinasGlobais.Rotinas.substr(
                    self.lstRegistros.col[self.nLinhaRegistro][6], 1, 10))
            self.edtCodEndereco.SetValue(
                self.lstRegistros.col[self.nLinhaRegistro][7])
            self.edtLogradouro.SetValue(
                self.lstRegistros.col[self.nLinhaRegistro][8])
            self.edtBairro.SetValue(
                self.lstRegistros.col[self.nLinhaRegistro][9])
            self.edtCEP.SetValue(
                self.lstRegistros.col[self.nLinhaRegistro][10])
            self.edtCidade.SetValue(
                self.lstRegistros.col[self.nLinhaRegistro][11])
            self.edtEstado.SetValue(
                self.lstRegistros.col[self.nLinhaRegistro][12])
            self.edtCodPais.SetValue(
                self.lstRegistros.col[self.nLinhaRegistro][13])
            self.edtPais.SetValue(
                self.lstRegistros.col[self.nLinhaRegistro][14])
            self.edtCodProfissao.SetValue(
                self.lstRegistros.col[self.nLinhaRegistro][15])
            self.edtProfissao.SetValue(
                self.lstRegistros.col[self.nLinhaRegistro][16])
        else:
            self.edtEmail.Clear()
            self.edtIdentidade.Clear()
            self.rbSexo.SetSelection(0)
            self.edtTelefone.Clear()
            self.edtDtNasc.Clear()
            self.edtCodEndereco.Clear()
            self.edtLogradouro.Clear()
            self.edtBairro.Clear()
            self.edtCEP.Clear()
            self.edtCidade.Clear()
            self.edtEstado.Clear()
            self.edtCodPais.Clear()
            self.edtPais.Clear()
            self.edtCodProfissao.Clear()
            self.edtProfissao.Clear()
            self.edtCodigo.SetFocus()

    def HabilitaDadosLocal(self, bHabilita):
        self.edtEmail.Enable(bHabilita)
        self.edtIdentidade.Enable(bHabilita)
        self.rbSexo.Enable(bHabilita)
        self.edtTelefone.Enable(bHabilita)
        self.edtDtNasc.Enable(bHabilita)
        self.edtCodEndereco.Enable(bHabilita)
        self.btnPEndereco.Enable(bHabilita)
        self.edtCodPais.Enable(bHabilita)
        self.btnPPais.Enable(bHabilita)
        self.edtCodProfissao.Enable(bHabilita)
        self.btnPProfissao.Enable(bHabilita)

    def OnEdtCodigo_Killfocus(self, event):
        if len(self.edtCodigo.GetValue()) > 0:
            if RotinasGlobais.Rotinas.validaCPF(
                    self.edtCodigo.GetValue()) == False:
                wxMessageBox(Resource.STR_CPFINV, "Erro", wxOK | wxICON_ERROR)
                self.edtCodigo.Clear()
                self.edtCodigo.SetFocus()
        event.Skip()

    def OnEdtDtNasc_Killfocus(self, event):
        if len(self.edtDtNasc.GetValue()) > 0:
            if not RotinasGlobais.Rotinas.validaDataHora(
                    self.edtDtNasc.GetValue(), True):
                wxMessageBox(Resource.STR_DTHRINV, "Erro", wxOK | wxICON_ERROR)
                self.edtDtNasc.SetValue(
                    RotinasGlobais.Rotinas.retDataHoraStr(True, False))
                self.edtDtNasc.SetFocus()
        else:
            self.edtDtNasc.SetValue(
                RotinasGlobais.Rotinas.retDataHoraStr(True, False))
        event.Skip()

    def OnEdtCodEndereco_Killfocus(self, event):
        ConsCampo = LISTAMSTR()

        if len(self.edtCodEndereco.GetValue()) > 0:
            sLogradouro = RotinasGlobais.Rotinas.ConsultaCampoDesc(
                ConsCampo,
                ConsultasSQL.ConsSQL.Endereco('S',
                                              self.edtCodEndereco.GetValue(),
                                              "", "", "", "", ""),
                Resource.STR_ENDNENC)
            if len(sLogradouro) > 0:
                self.edtLogradouro.SetValue(sLogradouro)
                self.edtBairro.SetValue(ConsCampo.col[0][2])
                self.edtCEP.SetValue(ConsCampo.col[0][3])
                self.edtCidade.SetValue(ConsCampo.col[0][4])
                self.edtEstado.SetValue(ConsCampo.col[0][5])
            else:
                self.edtCodEnd.SetFocus()
                self.edtLogradouro.Clear()
                self.edtBairro.Clear()
                self.edtCEP.Clear()
                self.edtCidade.Clear()
                self.edtEstado.Clear()
        else:
            self.edtLogradouro.Clear()
            self.edtBairro.Clear()
            self.edtCEP.Clear()
            self.edtCidade.Clear()
            self.edtEstado.Clear()
        event.Skip()

    def OnEdtCodPais_Killfocus(self, event):
        ConsCampo = LISTAMSTR()

        if len(self.edtCodPais.GetValue()) > 0:
            sPais = RotinasGlobais.Rotinas.ConsultaCampoDesc(
                ConsCampo,
                ConsultasSQL.ConsSQL.Pais('S', self.edtCodPais.GetValue(), ""),
                Resource.STR_PAISNENC)
            if len(sPais) > 0:
                self.edtPais.SetValue(sPais)
            else:
                self.edtCodPais.Clear()
                self.edtCodPais.SetFocus()
        else:
            self.edtPais.Clear()
        event.Skip()

    def OnEdtCodProfissao_Killfocus(self, event):
        ConsCampo = LISTAMSTR()

        if len(self.edtCodProfissao.GetValue()) > 0:
            sProfissao = RotinasGlobais.Rotinas.ConsultaCampoDesc(
                ConsCampo,
                ConsultasSQL.ConsSQL.Profissao('S',
                                               self.edtCodProfissao.GetValue(),
                                               ""), Resource.STR_PROFNENC)
            if len(sProfissao) > 0:
                self.edtProfissao.SetValue(sProfissao)
            else:
                self.edtCodProfissao.Clear()
                self.edtCodProfissao.SetFocus()
        else:
            self.edtProfissao.Clear()
        event.Skip()

    def OnBtnPEnderecoClick(self, event):
        fConEnderecos = ConEnderecos.create(self)
        fConEnderecos.ShowModal()
        self.edtCodEndereco.SetValue(RotinasGlobais.Rotinas.sCodigoSelecionado)
        self.OnEdtCodEndereco_Killfocus(event)
        event.Skip()

    def OnBtnPPaisClick(self, event):
        fConPaises = ConPaises.create(self)
        fConPaises.ShowModal()
        self.edtCodPais.SetValue(RotinasGlobais.Rotinas.sCodigoSelecionado)
        self.OnEdtCodPais_Killfocus(event)
        event.Skip()

    def OnBtnPProfissaoClick(self, event):
        fConProfissoes = ConProfissoes.create(self)
        fConProfissoes.ShowModal()
        self.edtCodProfissao.SetValue(
            RotinasGlobais.Rotinas.sCodigoSelecionado)
        self.OnEdtCodProfissao_Killfocus(event)
        event.Skip()
Esempio n. 6
0
class DlgInvoice(wx.Dialog):
    def __init__(self, *args, **kwds):
        kwds["style"] = wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER
        wx.Dialog.__init__(self, *args, **kwds)
        
        self.PanelNewInvoice        = wx.Panel(self, -1)
        
        self.panel_heading          = wx.Panel(self, -1)
        self.label_heading          = wx.StaticText(self.panel_heading, -1, "new invoice")
        self.panel_top              = wx.Panel(self, -1)
        self.panel_inv_details      = wx.Panel(self.panel_top, -1)
        self.label_student          = wx.StaticText(  self.panel_inv_details, -1, "Student")
        self.text_ctrl_student_name = wx.TextCtrl(    self.panel_inv_details, -1, style = wx.TE_READONLY)
        self.label_date             = wx.StaticText(  self.panel_inv_details, -1, "Date")
        self.date_picker_ctrl       = PanelDatePicker(self.panel_inv_details, -1)
        self.label_invoice_no       = wx.StaticText(  self.panel_inv_details, -1, "Invoice No.")
        self.text_ctrl_invoice_no   = wx.TextCtrl(    self.panel_inv_details, -1, "",  style = wx.TE_READONLY)
        self.panel_spc1             = wx.Panel(       self.panel_inv_details, -1)
        
        # causing iCCP unknown sRGB profile error
        self.bitmap_button_client = wx.BitmapButton(self.panel_top, -1, wx.Bitmap(".\\images\\64\\teacher 64.png", wx.BITMAP_TYPE_ANY))
        
        self.PanelInvoice    = PanelInvoice(self, -1)
        
        self.__set_properties()
        self.__do_layout()
        self.__do_main()
    
    def __do_layout(self):
        sizer = wx.BoxSizer(wx.VERTICAL)
        
        sizer_main = wx.BoxSizer(wx.VERTICAL)
        sizer_inv_client = wx.BoxSizer(wx.HORIZONTAL)
        grid_sizer_details = wx.FlexGridSizer(4, 2, 10, 10)
        sizer_heading = wx.BoxSizer(wx.HORIZONTAL)
        
        sizer_heading.Add(self.label_heading, 0, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, 10)
        self.panel_heading.SetSizer(sizer_heading)
        
        grid_sizer_details.Add(self.label_student, 0, wx.LEFT | wx.RIGHT | wx.TOP | wx.ALIGN_RIGHT, 5)
        grid_sizer_details.Add(self.text_ctrl_student_name, 1, wx.TOP , 5)
        grid_sizer_details.Add(self.label_date, 0, wx.RIGHT | wx.ALIGN_RIGHT, 5)
        grid_sizer_details.Add(self.date_picker_ctrl, 1, wx.EXPAND, 0)
        grid_sizer_details.Add(self.label_invoice_no, 0, wx.LEFT | wx.ALIGN_RIGHT, 20)
        grid_sizer_details.Add(self.text_ctrl_invoice_no, 0, 0, 0)
        grid_sizer_details.Add(self.panel_spc1, 1, wx.EXPAND, 0)
        
        self.panel_inv_details.SetSizer(grid_sizer_details)
        grid_sizer_details.AddGrowableCol(1)
        
        sizer_inv_client.Add(self.panel_inv_details, 1, wx.EXPAND, 0)
        sizer_inv_client.Add(self.bitmap_button_client, 0, wx.RIGHT, 15)
        self.panel_top.SetSizer(sizer_inv_client)
        
        sizer_main.Add(self.panel_heading, 0, wx.EXPAND, 0)
        sizer_main.Add(self.panel_top, 0, wx.ALL | wx.EXPAND, 5)
        
        self.PanelNewInvoice.SetSizer(sizer_main)

        sizer.Add(self.PanelNewInvoice, 0, wx.EXPAND, 0)
        sizer.Add(self.PanelInvoice, 1, wx.EXPAND, 0)
        self.SetSizer(sizer)
        
        self.Centre()
        
    def __set_properties(self):
        self.SetMinSize((800, 500))
        self.SetSize((800, 500))
        
        self.text_ctrl_student_name.SetMinSize((250,21))
        self.SetBackgroundColour((224, 224, 224))
        self.label_heading.SetForegroundColour((255, 255, 255))
        self.label_heading.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
        self.panel_heading.SetMinSize((-1,30))
        self.panel_heading.SetBackgroundColour((47, 47, 47))

        self.text_ctrl_invoice_no.SetMinSize((250, 25))
        self.bitmap_button_client.SetSize(self.bitmap_button_client.GetBestSize())
    
    def __do_main(self):
        pass
        

    def displayData(self):
        
        self.student_id = student_id = gVar.student_id
        
        
        self.invoice_id = fetch.nextID('acc_invoices"')
        mnth  = 1
        mnth  = str(mnth).zfill(2)
        invNo = str(self.invoice_id).zfill(5)
        
        self.invoice_no = '%d.%s.%s' % (gVar.schYr, mnth, invNo) 
        
        self.text_ctrl_invoice_no.SetValue(self.invoice_no)
        
        
        self.date_picker_ctrl.setDateToday()
        
        name = fetch.studentFullName(student_id)
        self.text_ctrl_student_name.SetValue(str(name))
        self.PanelInvoice.displayData(self.student_id)
        self.PanelInvoice.invoice_id=self.invoice_id
        
  
    def invoiceData(self):
        #rintself.date_picker_ctrl.GetMSDbReadyValue()   
        datestr = self.date_picker_ctrl.GetMSDbReadyValue()
        return (self.student_id, datestr, self.invoice_no)    
        
    def onAdd(self):
        self.Layout()