#!/usr/bin/python
# -*- coding: utf-8 -*-
import sqlite3 as lite
import sys
import wx
global usuarioactivonumeronuevo
def LeoUsuarios():
# Necesario para asignar valores
global listausuarios
global usuarioactivo, usuarioactivonumero
con = lite.connect('db.usuarios')
listausuarios = []
with con:
cur = con.cursor()
cur.execute("SELECT * FROM Usuarios")
while True:
row = cur.fetchone()
if row == None:
break
#Tomo el valor del usuario activo
if row[2] == "S":
print "El usuario activo es :", row[1]
usuarioactivo = row[1]
usuarioactivonumero = row[0]
#print "IMPRIMO LOS TRES CAMPOS PARA VERIFICAR QUE FUERON LEIDOS"
#print row[0], row[1], row[2]
#agrego a la lista el nombre del usuario
listausuarios.append(row[1])
print "LISTA DE USUARIOS"
print listausuarios
#retorno los datos de usuarios leídos
return (listausuarios)
def GuardoUsuarios():
wx.MessageBox('ACEPTAR entonces guardo los cambios', 'Info', wx.OK | wx.ICON_INFORMATION)
#Asigno nuevo usuario activo y los nuevos nombres de Usuarios a guardar
print "==========="
print "VERIFICANDO"
print "==========="
print "U S U A R I O A C T I V O - "
print usuarioactivonumeronuevo
print "EL PRIMER USUARIO ES ", text1.GetValue()
print "EL SEGUNDO USUARIO ES ", text2.GetValue()
print "EL TERCER USUARIO ES ", text3.GetValue()
print "EL CUARTO USUARIO ES ", text4.GetValue()
print "EL QUINTO USUARIO ES ", text5.GetValue()
class RadioButtonFrame(wx.Frame):
def __init__(self):
#print "ESTOY DENTRO DE LA SEGUNDA FUNCION Y USUARIO 1 ES"
#print usuario1
print "YA DENTRO DE LA FUNCION TENGO LO SIGUIENTE"
print usuarioactivo
print usuarioactivonumero
wx.Frame.__init__(self, None, -1, 'Radio Example',
size=(200, 200))
self.Bind(wx.EVT_CLOSE, self.OnClose)
panel = wx.Panel(self, -1)
radio1 = wx.RadioButton(panel, -1, label="1", pos=(20, 50), style=wx.RB_GROUP)
radio2 = wx.RadioButton(panel, -1, label="2", pos=(20, 80))
radio3 = wx.RadioButton(panel, -1, label="3", pos=(20, 110))
radio4 = wx.RadioButton(panel, -1, label="4", pos=(20, 140))
radio5 = wx.RadioButton(panel, -1, label="5", pos=(20, 170))
#Selecciono el Radio Button activo de acuerdo al Usuario activo leído previamente
if usuarioactivonumero == 1 : radio1.SetValue(1)
if usuarioactivonumero == 2 : radio2.SetValue(1)
if usuarioactivonumero == 3 : radio3.SetValue(1)
if usuarioactivonumero == 4 : radio4.SetValue(1)
if usuarioactivonumero == 5 : radio5.SetValue(1)
#radio3.SetValue(1)
global text1, text2, text3, text4, text5
text1 = wx.TextCtrl(panel, -1, listausuarios[0], pos=(80, 50))
text2 = wx.TextCtrl(panel, -1, listausuarios[1], pos=(80, 80))
text3 = wx.TextCtrl(panel, -1, listausuarios[2], pos=(80, 110))
text4 = wx.TextCtrl(panel, -1, listausuarios[3], pos=(80, 140))
text5 = wx.TextCtrl(panel, -1, listausuarios[4], pos=(80, 170))
self.texts = {"1": text1, "2": text2, "3": text3, "4": text4, "5": text5}
for eachText in [text1, text2, text3, text4, text5]:
eachText.Enable(False)
for eachRadio in [radio1, radio2, radio3, radio4, radio5]:
self.Bind(wx.EVT_RADIOBUTTON, self.OnRadio, eachRadio)
#Selecciono el Text activo de acuerdo al Usuario activo leído previamente
self.selectedText = text1
#print "Estoy verificando y el usuario activo es -->", usuarioactivonumero
if usuarioactivonumero == 1 : text1.Enable(True)
if usuarioactivonumero == 2 : text2.Enable(True)
if usuarioactivonumero == 3 : text3.Enable(True)
if usuarioactivonumero == 4 : text4.Enable(True)
if usuarioactivonumero == 5 : text5.Enable(True)
def OnRadio(self, event):
for eachtext in [text1, text2, text3, text4, text5]:
eachtext.Enable(False)
if self.selectedText:
self.selectedText.Enable(False)
radioSelected = event.GetEventObject()
text = self.texts[radioSelected.GetLabel()]
text.Enable(True)
self.selectedText = text
btn = event.GetEventObject()
usuarioactivonumeronuevo = btn.GetLabel()
print "EL BOTON ACTIVO ES", usuarioactivonumeronuevo
return usuarioactivonumeronuevo
def OnClose(self, event):
dlg = wx.MessageDialog(self,
"Guardar los cambios realizados?",
"Confirm Exit", wx.OK|wx.CANCEL|wx.ICON_QUESTION)
result = dlg.ShowModal()
dlg.Destroy()
if result == wx.ID_OK:
GuardoUsuarios()
self.Destroy()
else:
wx.MessageBox('CANCELAR entonces NO guardo los cambios', 'Info', wx.OK | wx.ICON_INFORMATION)
self.Destroy()
if __name__ == '__main__':
app = wx.PySimpleApp()
LeoUsuarios()
#print "PERO APENAS SALGO EL VALOR DE USUARIO1 ES"
#print usuario1
frm = RadioButtonFrame()
frm.Show()
#RadioButtonFrame().Show()
app.MainLoop()