[ANN] Connectors 2 for 3.8g/3.9a released on SqueakMap

Ned Konz ned at squeakland.org
Wed Dec 29 06:24:56 UTC 2004


On Tuesday 28 December 2004 5:14 pm, Hernan Tylim wrote:

> Maybe I already asked you when you first released Connectors 2, but
> could you please make a very brief description of what I should take
> into account to port Jacaranda to Connectors 2?

I will try. It's been a while since I looked at Connectors 1. Off the top of 
my head (I'm sure I'm missing some things):

Changes between Connectors 1.9 and Connectors 2.2
 installation and packaging
  since 3.8 includes most of the fix changesets, Connectors2 does not include 
these for 3.8
  packages broken up a bit more
 user-level
  appearance improvements
   anti-aliased drawing of all connectors
   curved connectors are now quadratic Bezier splines
  added shape classes
   NCCurveMorph
  new Arrow editor
   can define arrows from TrueType fonts
  more consistent yellow-button menus
  no world-level serialization included
   project saving works OK though
  no dashed lines
   will do someday but haven't yet
   but have bitmap and gradient fills
  connections to same object work much better now
 programmer-level
  different connector class
   NCAAConnectorMorph replaces NCConnectorMorph
   they can't coexist (incompatible changes to NCLineEndConstraintMorph)
  different FSM class
   supports hierarchical state machines
   easier to extend
   event handling has changed significantly
   including event-related callbacks
   allows easy logging of events
  suspension, cloning, and copying fixes
   event handler put to sleep when used as prototype
  API changes
   added hooks for graph model
  geometry changes
  end decorations should now be defined as curves
   addShape: has not been tested, and is usually not the best way to change 
ends
  easier to override menu definitions
 etoy changes
  connection methods
   separated into "connection" and "connections to me" for clarity
  embeddings methods
  addition of user-level embedding support
   PinMorph added: automatically offers to embed when dropped on another Morph

> In Jacaranda I have my 
> own subclass of NCConnectorMorph and NCLabelMorph. I already tried to
> replace NCConnectorMorph with NCAAConnectorMorph but it didn't work, I
> had for example problems with the positioning of the arrow heads and
> other things. Did something change on how you handle the constraints?

I tried to look at your code but the Squeak Swiki was down. Is there another 
place that Jacaranda.20.sar (or your latest code) can be found?

I think that the main problem you're having with positioning arrows is if you 
use addShape: to change the end decorations. This is deprecated, and though 
it may work, it was never tested. Specifically, I don't think I'm moving the 
end vertices of the connector when a submorph is added to an end.

Instead, end decorations (arrows, etc.) should be defined as curves. These can 
be created (as code if you want) from glyphs in TrueType fonts (there is a 
tool provided to do this).

-- 
Ned Konz
http://bike-nomad.com/squeak/



More information about the Squeak-dev mailing list