GNOME Bugzilla – Bug 408408
Fix the relationship overview dialog code to work with goocanvas HEAD
Last modified: 2007-03-16 14:15:24 UTC
This fixes the dialog relationship overview dialog code to work with the new goocanvas API, a much simpler API i might add, great work by Damon and friends.
Someone still needs to call updateModel() on the dialog after it has been added as a view (so it can get the Document_Glom object), i'm not sure it can be placed anywhere other than in the void Frame_Glom::on_menu_developer_relationships_overview() method after the add_view call.
Created attachment 82636 [details] [review]
Fix relationship overview code to work with new goocanvas API.
Created attachment 82677 [details] [review]
By the way, this is the patch to enable that feature.
> Someone still needs to call updateModel() on the dialog after it has been added
> as a view (so it can get the Document_Glom object), i'm not sure it can be
> placed anywhere other than in the void
> Frame_Glom::on_menu_developer_relationships_overview() method after the
> add_view call.
I added an override of the virtual View::load_from_document() method to do that, so now I see the tables and lines.
I also fixed the music collection example's relationships in the Publishers table. That was the cause of the unexpected lines in the relationships overview for that example. There was nothing wrong with your code.
Created attachment 82678 [details]
I notice that we will want to save the window size for the duration of the file being open, though probably not in the document. Otherwise it's annoying to resize it every time you open it.
Also, the code needs to be formatted like the rest of the code. I can tolerate strangeness in the C code, but the C++ code needs to match the other source code, which is consistent.
You should email me your bank details so I can send you my part of the bounty money.
Created attachment 82695 [details] [review]
Glomify the relationship overview code.
Good to know that the code was working properly, it is so simple that it was hard for me understand that there could be a bug somewhere.
This patch fixes the code to follow the Glom standard (as i see it): gbooleans are now bool, indentation size is two spaces, braces on separate line.
Patch is for SVN trunk, revision 1029
I'll do a more detailed review of the code later, though if you plan to port it to C++, I might wait until then.
Created attachment 82696 [details] [review]
Remember the window size between instantiations.
Patch also includes the previous code "beautification".
I haven't got any plans for porting to libgoocanvasmm yet, although, i think it should be quite simple.
- Remember to patch the ChangeLog
- Put new patches in new bugzilla reports, or at least reopen them, so I don't lose them.
I have enabled this code in trunk, after branching for glom 1.4.