papo-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Papo-hackers] Re: Fallas al actualizar la nueva version de cimarron con


From: maram
Subject: [Papo-hackers] Re: Fallas al actualizar la nueva version de cimarron con Pantalla de ABM
Date: Mon, 13 Dec 2004 17:41:01 -0300

Continuando con el cambio de version de cimarron a la de cvs, no puedo
hacer andar las pantallas que tenia funcionando...

On Wed, 8 Dec 2004 10:14:26 -0300, maram <address@hidden> wrote:
> 041207-1035
> 
> Al tratar de actualizar la version de cimarron recientemente subida a
> cvs, me surgen los siguientes errores, respecto a la version sobre la
> que veniamos trabajando.
> 
> esquema:
> 1) mainRecep.py se encarga de lanzar la aplicacion y mostrar un window
> con un boton.
> 
> 2) la accion de dicho boton se enlaza con ReceptionABM, que es un
> ConsistencyController que maneja el modelo Reception.
> 
> 3) ReceptionABM, coordina objetos relacionados, entre ellos
> ReceptionData, quien en definitiva muestra los datos como fecha,
> nombre, etc... dentro de una pagina del notebook que posee
> ReceptionABM.
> 

Reescribi un poco los scripts, copiandolos al pie de este mail.
al correr mainRecep.py obtengo el siguiente error al tratar de agragar
ReceptionData
a una pagina del notebook que contiene ReceptionABM.

...   File "mainRecep.py", line 55, in reception
...     w= ReceptionABM (
...   File "/home/marceloa/src/agro-new/MyControllers/ReceptionABM.py", line 34,
 in __init__
...     self.buildView ()
...   File "/home/marceloa/src/agro-new/MyControllers/ReceptionABM.py", line 42,
 in buildView
...     label=u"Datos de Recepcion"
...   File "/home/marceloa/src/cimarron/src/Controllers/ConsistencyController.py
", line 50, in addChild
...     self.tabbook.appendPage (child, label)
...   File "/home/marceloa/src/cimarron/src/Generic/Notebook.py", line 37, in ap
pendPage
...     return self.insertPage(-1, child, label, menu)
...   File "/home/marceloa/src/cimarron/src/Generic/Notebook.py", line 67, in in
sertPage
...     raise NotebookError, _("Unable to insert page")
... NotebookError: No pude agregar la página:
... ... Traceback (most recent call last):
... ...   File "/home/marceloa/src/cimarron/src/Generic/Notebook.py", line 63, i
n insertPage
... ...     self._doInsertPage(pos, child, label, menu)
... ...   File "/home/marceloa/src/cimarron/src/Gtk2/Gtk2Notebook.py", line 43, 
in _doInsertPage
... ...     self._obj.insert_page_menu(child._obj, label, menu, pos)
... ... AttributeError: 'ReceptionData' object has no attribute '_obj'

ReceptionABM es un ConsistencyController, ReceptionData es un
ViewController que se carga en una pagina del ReceptionABM.

Esta bien que ReceptionData sea del tipo ViewController?


===============================================
copia de los scripts utilizados (Resumidos, tal vez el numero de linea
en los errores no coincida.... )
un poco largo... pero no hay otra... o prefieren que los adjunte?

==== script mainRecep.py ====
#! /usr/bin/python2.3

import cimarron,sys
from MyControllers.ReceptionABM import ReceptionABM

def main ():
    eng=None
    if len(sys.argv) > 1:
        eng = sys.argv[1]
    #cimarron.setEngine(eng)
    ui = cimarron.getEngine()
    
    app = ui.Application()
    win = ui.Window(parent=app,
                    title=u'Laboratorio Agro-Test',
                    sizeRequest=(630,350)
                    )

    tabbook= ui.Notebook (parent=win,borderWidth=5)

    # Pagina Inicial
    page= ui.VBox (spacing=10,borderWidth=10,homogeneous=False)

    ui.Button (
        parent= page,
        label=u'Recepciones',
        action=reception
        )
    tabbook.appendPage(page, u'Principal')

    win.pushStatus('Listo.')
    win.show ()
    app.run ()


def reception(self):
        w= ReceptionABM (
                         windowTitle=u"Reception"
                         )
        w.show ()

if __name__=='__main__':
    main ()

==== script ReceptionABM.py ====
#! /usr/bin/python2.3
# -*- python -*- coding: ISO-8859-1 -*-
from Controllers.ConsistencyController import ConsistencyController

from MyControllers.ReceptionData import ReceptionData

class ReceptionABM (ConsistencyController):
    __obligs= {'_model': lambda: None,
               'modelClass':lambda:'Reception',
               'sizeRequest':lambda:(640,400),               
               }
    
    def __init__ (self, *args, **kwargs):
        self._processArgs(ReceptionABM, kwargs)
        self.buildView ()                
    
    def buildView (self):
        super (ReceptionABM, self).buildView ()
              
        self.dataPage= ReceptionData (
             )        
        self.addChild (self.dataPage,
                        label=u"Datos de Recepcion"
                        )

==== script ReceptionData.py ====
from SIGALv1.Reception import Reception
from Controllers.ViewController import ViewController

import cimarron
ui= cimarron.getEngine () 

class ReceptionData (ViewController):
    __obligs= {'modelClass': lambda : 'Reception'}
    def __init__ (self, **kwargs):
        self._processArgs (ReceptionData, kwargs)
        self.buildView ()
        
    def buildView (self):
        self.view=ui.VBox (spacing=5,borderWidth=2)        
        frame=ui.Frame(parent=self.view)
        boxNom= ui.HBox (
            parent= frame,
            spacing=3,
            homogeneous=False
            )        
               
        boxDate=ui.VBox(parent=boxNom,spacing=3)        
        lb=ui.Label(parent=boxDate,
                    label='Fecha Recepcion',align=(0,1)
                    )
        
        newButton= ui.Button (parent=boxDate,
                              label=u'Cargar Nue_va Recepcion'
                              )
==== fin de scripts ================================       


-- 
Marcelo Ametller
----------------------------------------------------------------------------------------------
Maram Sistemas - Debian Sarge - Linux User: 354777
www.maramsis.com.ar www.aeroenlace.com.ar www.grulic.org.ar




reply via email to

[Prev in Thread] Current Thread [Next in Thread]