On Thu, Oct 24, 2002 at 09:23:48AM -0500, Lars Clausen wrote: > The right place to add a checking call would be in > layer_find_closest_connectionpoint() in app/diagramdata.c. Problem is, > that loop goes over all objects in a layer, so we can't afford to spend a > lot of time there. Well, we can keep it within the if, that'll cut out > most of it. And instead of adding code to DrawFunc, a new object func > should be defined for it.
OK, I try to resume: 1. A restriction on possible connections seems to be a good idea. Think of network diagrams, not to speak of UML/Database/SDL/... code generation. 2. Of course, this must be an option to the user. Maybe a diagram specific or a global option? 3. The method to check has to be a new object function. Something like: typedef gboolean (*AllowConnectFunc) (Object* obj_me, Object* obj_other, ... /* ? */ ); 4. This function will be called twice (once for the connecting object, once for the connected one) from layer_find_closest_connectionpoint(). I don't see performance hits, if functions will be called after the "if (dist<mindist)" and only if the option is set. Can somebody help with point 3? Cheers! _______________________________________________ Dia-list mailing list [EMAIL PROTECTED] http://mail.gnome.org/mailman/listinfo/dia-list FAQ at http://www.lysator.liu.se/~alla/dia/faq.html Main page at http://www.lysator.liu.se/~alla/dia