Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRodrigo Pérez Fulloni <rodripf@gmail.com>2011-07-22 13:21:41 (GMT)
committer Rodrigo Pérez Fulloni <rodripf@gmail.com>2011-07-22 13:21:41 (GMT)
commit890de5b89fe7fdec9de837499b5640db38e79f40 (patch)
treec92ecfe223475312a5ad24753d7b5de340127a8b
parentef3742472f0746611365ba8de968427612845b9a (diff)
Finished Open and Save for PCPC-Win
-rw-r--r--Control.py43
-rw-r--r--data/ListaArchivos.py16
-rw-r--r--data/Manager.py1
-rw-r--r--objects/ListDialog.py33
4 files changed, 70 insertions, 23 deletions
diff --git a/Control.py b/Control.py
index 3efd473..66dcc68 100644
--- a/Control.py
+++ b/Control.py
@@ -22,6 +22,9 @@ from Suceso import Suceso
from Manager import Manager
from EstadoOperacion import EstadoOperacion
from InputDialog import InputDialog
+from ListDialog import ListDialog
+from ListaArchivos import ListaArchivos
+
class Control:
def deleteEvent(self, widget, event, data=None):
@@ -35,6 +38,7 @@ class Control:
self.hist = Historia()
self.cuenta = None
self.zoom = 2
+ self.lis = ListaArchivos()
#Contiene todo
self.todo = gtk.HBox(False, 0)
@@ -59,6 +63,8 @@ class Control:
self.menu = Menu()
self.menus.add(self.menu.agregar)
+
+ #registro listeners
self.menu.setDeshacerListeners((self.__deshacer,))
self.menu.setHistListeners((self.__moverHistoria,))
self.menu.setSumaListeners((self.__suma,))
@@ -68,16 +74,17 @@ class Control:
self.menu.setZoomListeners((self.__moverZoom, self.cuenta.actualizarLineHor))
self.menu.setBorrarListeners((self.__agregarAHistCV, self.__numClic, self.__actualizarAdj))
- self.menu.setGuardarListeners((self.__mostrarGuardar,))
+
-
- #registro listeners
self.num.setListener((self.__agregarAHistCV, self.__numClic, self.__actualizarAdj))
self.mngr = Manager((self.__digClic,))
- self.menu.setGuardarListeners((self.mantener,))
- self.menu.setAbrirListeners((self.cargar,))
+ #self.menu.setGuardarListeners((self.mantener,)) #comment for PC
+ self.menu.setGuardarListeners((self.__mostrarGuardar,)) #uncomment for PC
+ #self.menu.setAbrirListeners((self.cargar,)) #comment for PC
+ self.menu.setAbrirListeners((self.__mostrarAbrir,))
+
# Create a new window
@@ -213,18 +220,22 @@ class Control:
pass
self.cuenta.setZoom(self.zoom)
-
+ #<uncomment for PC>
def __mostrarGuardar(self, obj, data):
- #<uncomment for PC>
+
d = InputDialog()
d.setListener((self.__guardarCB,))
d.show("Elije el nombre con el que deseas guardar esta operación:", "", "Nombre:")
- #</uncomment for PC>
+
pass
def __guardarCB(self, texto):
- self.mantener(nombre=texto) #uncomment for PC
- pass
+ self.lis.addToList(texto)
+ self.lis.guardar()
+ self.mantener(nombre=texto)
+
+ #</uncomment for PC>
+
def mantener(self, obj=None, data=None, nombre=""):
if (nombre != ""):
@@ -238,6 +249,18 @@ class Control:
self.mngr.setEstadoOperacion(estado)
self.mngr.guardar()
+ #<uncomment for PC>
+ def __mostrarAbrir(self, obj, data):
+ self.lis.abrir()
+ dialog = ListDialog(self.lis.getList())
+ dialog.setListener((self.__abrirCB,))
+ dialog.show("Selecciona la operación para abrir", "", "Nombre", self.lis.getList())
+
+ def __abrirCB(self, nombre):
+ self.cargar(nombre=nombre)
+ #</uncomment for PC>
+
+
def cargar(self, obj=None, data=None, nombre=""):
if (nombre != ""):
self.mngr.setArchivo(nombre)
diff --git a/data/ListaArchivos.py b/data/ListaArchivos.py
index 8df9f3a..256574d 100644
--- a/data/ListaArchivos.py
+++ b/data/ListaArchivos.py
@@ -3,9 +3,12 @@
__author__="rodripf"
__date__ ="$20/07/2011 09:50:02 AM$"
+import pickle
+
class ListaArchivos:
def __init__(self):
- self.lista = ["hola", "prueba1"]
+ self.lista = []
+ self.abrir()
def guardar(self):
file1 = open("./data/saves/filelist.lst", "wb")
@@ -17,9 +20,16 @@ class ListaArchivos:
pikH = pickle.Unpickler(file1)
self.lista = pikH.load()
- def mostrar(self):
+ def addToList(self, element):
+ self.lista.append(element)
+ def getList(self):
+ return self.lista
if __name__ == "__main__":
- print "Hello World"
+ l = ListaArchivos()
+ l.guardar()
+ l.lista = ""
+ l.abrir()
+ print l.getList()
diff --git a/data/Manager.py b/data/Manager.py
index 4a6d9a1..4c88886 100644
--- a/data/Manager.py
+++ b/data/Manager.py
@@ -27,6 +27,7 @@ class Manager:
pikO = pickle.Pickler(file2)
pikO.dump(self.operacion)
+
def abrir(self):
file1 = open("./data/saves/" + self.archivo + ".hst", "rb")
pikH = pickle.Unpickler(file1)
diff --git a/objects/ListDialog.py b/objects/ListDialog.py
index 0d448e7..2c4abab 100644
--- a/objects/ListDialog.py
+++ b/objects/ListDialog.py
@@ -2,11 +2,16 @@
import gtk
-class InputDialog:
- def responseToDialog(self, list, dialog, response):
- dialog.response(response)
- for f in self.__listeners:
- f(entry.get_text())
+class ListDialog:
+ def __init__(self, lista):
+ self.__listeners = []
+ self.lista = lista
+ self.selected = ""
+
+ def responseToChange(self, otra, treesel):
+ (model, iter) = treesel.get_selected()
+ self.selected = model.get_value(iter, 0)
+
def show(self, texto, texto2, columna, lista):
#base this on a message dialog
@@ -21,7 +26,7 @@ class InputDialog:
self.treestore = gtk.TreeStore(str)
# we'll add some data now - 4 rows with 3 child rows each
- for el in lista:
+ for el in self.lista:
p = self.treestore.append(None, [el])
# create the TreeView using treestore
@@ -60,15 +65,23 @@ class InputDialog:
#add it and show it
dialog.vbox.pack_end(hbox, True, True, 0)
dialog.show_all()
- #go go go
-
+ #go go go
+ treeselection = self.treeview.get_selection()
+ treeselection.set_mode(gtk.SELECTION_SINGLE)
+
+ self.treeview.connect("cursor-changed", self.responseToChange, treeselection)
+ dialog.connect("response", self.responseToClose)
dialog.run()
dialog.destroy()
+ def responseToClose(self, par1, par2):
+ for f in self.__listeners:
+ f(self.selected)
+
def setListener(self, functions):
- self.__listeners = functions
+ self.__listeners.extend(functions)
def m (text):
@@ -78,5 +91,5 @@ def m (text):
if __name__ == '__main__':
d = InputDialog()
d.setListener((m,))
- print d.show("Esta es una prueba", "prueba2", "cosas", ["nombre", "nombre2"])
+ d.show("Esta es una prueba", "prueba2", "cosas", ["nombre", "nombre2"])
gtk.main() \ No newline at end of file