gnome2 graphing status

Josh Sled jsled at asynchronous.org
Thu Aug 12 11:37:07 EDT 2004


A small update on the status of graphing in the gnome2-branch...

So, I've been looking into the gnome-office-graphing [GOG] stuff, and
noticed that it doesn't have a feature of guppi we were using, which is
the ability to bind the graphical region associated with a data-series
element to an action ... in the case of gnucash ... with the appropriate
register being opened in response to a bar-section or pie-wedge being
clicked on.

Warlord and I had breifly talked about "just porting guppi to gtk2", but
I'm not sure how feasible that is in the long term.


I just had an irc-conversation with Jody Goldberg, where the following
became clearer:

* some of the lingering gnumeric dependencies that prevent libgoffice 
  from being seperated out are actively being addressed.

* he's targeting having a seperate libgoffice for the Gnumeric-1.4 
  release, in September.

* gog doesn't yet have interactivity... there are a couple of 
  stabs at supporting the identification of plotted elements based on 
  x,y coordinates w/in the view, but they're neither ideal [at least, 
  Jody's not happy with them] nor finished.

* gnumeric wants GOG to have some measure of interactivity; other apps 
  do, too, so it will eventually get written...

* he wants to eventually get to something like guppi's toolkit 
  interface.  This feels like overkill to me for GnuCash.  He's 
  anticipating handling a large set of the integration issues after 
  that's progressed forward some more.


In any case, it sounds like being a consumer of gog is going to help
shape it's evolution... 

I'm really looking for something on the order of:

    setupGraph (...)
    {
        GogDataSeries dataElts = gnc_data_series_from_accounts(...)
        GogGraph graph = GogGraph( dataElts )
        gog_register_callback( graph, "activated", cb_activated )
        add( window, graph )
    }

    cb_activated ( GogGraph graph, GogDataSeriesElement elt )
    {
        GncAccount *act = (GncAccount*)get_user_data( elt )
        gnc_open_register_for_acct( act )
    }

Depending on having a better handle on the time frame in the future, I
might try to simply extend the existing [though incomplete] mechanisms
that GOG has in order to allow the above pattern, even though they can
safely be considered deprecated right now.   It'll depend on when we can
get momentum to get a future release out the door, of course.

...jsled

-- 
http://asynchronous.org/ - `a=jsled; b=asynchronous.org; echo ${a}@${b}`


More information about the gnucash-devel mailing list