Mañana te mando los packages con lo que tengo, para que los puedas ver. Igual te comento que algunas cosas de HD o no las entendi, o no me gustaron del todo. Por ejemplo, en VW usan HD para editar FSMs. Entonces crean figuras que representan los estados y las transiciones entre estados de la maquina. Pero lo hacen heredando directamente de otras figuras. Por ejemplo, ToolStateFigure hereda de EllipseFigure. Lo que no me gusta es que ToolStateFigure tiene la responsabilidad de saber dibujarse (que es lo que hereda de EllipseFigure) y ademas va a saber reaccionar a eventos particulares, por ejemplo, que menu mostrar, o como editar el estado cuando le hacen doble click, como actualizar el modelo cuando el usuario lo conecta o desconceta, etc. Pero si yo quisiera reprensentar algunos estados de manera diferente (con un rectangulo en vez de una elipse), pero que se comporten igual, tendria que heredar de RectangleFigure y duplicar todo el codigo del comportamiento. Yo preferiria que las figuras tambien tengan algo parecido a los presenters de dolphin, y de este modo, que sea otro objeto y no la figura el que sabe como reaccionar ante algunos eventos del usuario. No se si se entiende. ¿Alguien tiene ideas, experiencias o links a cosas que haya que leer acerca de como conectar un modelo, su representacion visual y el comportamiento de esa representacion visual en este tipo de "editores"?
saludos martin ----- Original Message ----- From: Francisco A. Lizarralde To: [email protected] Sent: Thursday, August 02, 2007 1:58 PM Subject: [clubSmalltalk] Re: Custom Views Hola Mart�n, Mi primera intenci�n fu� hacer algo parecido a HotDraw o portarlo a Dolphin, pero encontr� demasiada informaci�n sobre diferentes versiones (hasta v� algo de JHotdraw, que funciona muy lindo como applet), y me super�. Por eso intent� algo mas modesto, pero si vos est�s haciendo algo parecido, tal vez podamos unir esfuerzos y lograr algo. Saludos, Francisco El jue, 02-08-2007 a las 13:44 -0300, Martin Rubi escribi�: > Hola Francisco. > > >Yo lo intent� y aparece como view un ContainerView, hice MutateView a > >DrawingView y lo grab�. Es correcto? > > Si, es la manera en que yo suelo hacerlo. > > Creo que lo que te esta pasando es lo siguiente: > Cuando creaste la vista del presenter, todavia no tenias definido el > metodo > de clase > DrawingView class>>defaultView > y por lo tanto el modelo de esa vista era nil. Cuando guardaste la vista, > se > guardo ese modelo nil, y ahora cada vez que se recrea la vista, usa ese > nil > como modelo y trata de conectarlo y falla. Todo esto ocurre antes de que > se > le setee le nuevo modelo. > Si te fijas en el metodo Scribble class>>resource_Default_view fijate que > hay un ListModel guardado. > > Lo que diria que hagas es, ahora que ya tenes definido el metodo de clase > #defaultModel tu DrawingView, borra la view del presenter (usando la > herramienta View Browser), y volver a hacer lo que comentas al principio > de > este mail. > > �A proposito, que tipo de View queres hacer ? Porque justo yo estoy > haciendo > algo parecido al HotDraw de VW (de hecho estoy haciendo un port de algunas > cosas de ese framework) para poder editar visualmente arboles de > dependencias, FSM, etc; y si te interesa podria publicar lo que tengo > hecho > (aunque lo estoy haciendo en mi tiempo libre y todavia esta _muy_ > inmaduro, > y tampoco pretendo tener todas las herramientas que tien HD). > > saludos > martin > > > > --~--~---------~--~----~------------~-------~--~----~ Has recibido este mensaje porque estás suscrito a Grupo "clubSmalltalk" de Grupos de Google. Si quieres publicar en este grupo, envía un mensaje de correo electrónico a [email protected] Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED] Para obtener más opciones, visita este grupo en http://groups.google.com/group/clubSmalltalk?hl=es. -~----------~----~----~----~------~----~------~--~---
