2009/9/29 Nicolas Guzzo <[email protected]> > 2009/9/29 Luis Lavena <[email protected]> > >> 2009/9/30 Nicolas Guzzo <[email protected]>: >> > Hola gente, después de revisar las opciones en materia de frameworks >> para >> > aplicaciones de escritorio en ruby, Shoes, Bowline, Anvil me puse a >> hacer >> > uno propio con wxruby, siguiendo el patrón MVC a la rails, Anvil hace >> esto >> > también pero esta medio verde todavía y como se abstrae del toolkit se >> > pierden algunas cosas características del toolkit, de momento lo bauticé >> > como Ybur jeje a falta de imaginación para pensar un nombre.... >> > lo he probado con ruby 1.9.1 y wxruby 2.0.1 en windows, en debian o >> ubuntu >> > hay que usar la gema wxruby-ruby19 2.0.0 >> > >> > un ejemplito ilustrativo: http://pastebin.com/f4552903e >> > >> > Que opinan? Sugerncias? Criticas? (no me enojo si me dicen que le prenda >> > fuego o que el codigo apesta jejeje) >> > >> > Hola Nicolas, muy buena tu exploración y tus comentarios sobre varios >> frameworks para aplicaciones de escritorio. >> >> Aqui van mis comentarios y espero que sean bien recibidos. >> >> Más allá de un detalle de código, considero que el patrón MVC necesita >> ser adaptado para aplicaciones de escritorio. >> >> Por ejemplo, vos mencionás: >> >> "def index # el index se ejecuta al instanciar el controller (similar >> a un constructor), no debe renderizar nada" >> >> Creo esto esta diciendote que "index" de por si es inutil. >> > > si en realidad lo pense mas como algo para inicializar alguna variable... > > >> Uno de los grandes dilemas es que uno no crea "vistas" sino >> "ventanas", paneles o "fieldsets". >> > Otro tema es ejecutar acciones versus responder a eventos. Por >> ejemplo, vos definis acciones, que definen que habrá un click sobre >> ellas. >> >> Este approach parece practico, pero si necesitaras definir doble >> click, scroll, drag and drop... como lo harias? >> > > algo asi?? esto es una action de un editor que me puse a hacer como > ejemplo.... te lo paso si te interesa > Ybur::View.new.create do > @editors=Wx::AuiNotebook.new(self) > s.add(@editors,1,Wx::EXPAND) > evt_auinotebook_page_close(Wx::ID_ANY) { | e | > p "page closed" > p STCEditor.current.file > } > evt_auinotebook_page_changed(Wx::ID_ANY) { | e | > [email protected]_page(e.get_selection) > } > end > > adentro del evento podria haber un link_to que llame a una action Nico > > todavia quedan muchas cosas por definir... >
adjunto el editor a modo de ejemplo mas concreto -- Nico
editor.rar
Description: application/rar-compressed
_______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
