GCViews or Homegrown?

  • I'm looking for a bit of advice on which way to go for a graphical
    layout implementation.  I believe the choices are either a custom
    NSView or a QCView.  Here's what I've got going on:

    Imagine a graphical editor for layout out a PERT-like chart for
    project management.  The editor looks like a mix of the Quartz
    Composer editor and OmniGraffle, where icons are linked together in a
    graph.  The icons can have zero or more links to other icons.  And
    it's the icons for which I'm loking for the advice, because they're
    kind of special.

    Here's a simple illustration that I've been working from:


    The icons need to support the following:

    - rotation of icons
    - icon showing a highlight when the cursor is hovering over it
    - connection point showing a highlight when the cursor is hovering
    over it
    - probably both of the above
    - throbbing highlight colors for the above
    - the icons will probably be a complex object with an image and
    collection of connection points
    - in 'run' mode the icons can show something happening such as network
    activity that is reflected in the graph (see the green bar graph for
    an example) not simple animation, though
    - an icon's live presentation can be fairly complex, such as showing a
    clock with hands representing the time with a sweep second hand.
    - any one presentation could have a hundred of these icons, but I
    don't imagine there would be one with thousands.

    So I'm thinking because of the real-time presentation of data combined
    with a desire to allow these icons to be rotated (among other things)
    I should use QCView with a custom QC consumer plug-in.  It sure would
    be a lot easier to implement, I'm thinking. But perhaps there are
    other reasons why I should implement a custom NSView where I do my own
    rotation, animated presentation, highlighting, etc.

    Any advice one way or the other?

previous month december 2007 next month
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Go to today