Highlights of GTK+ 2.10

Highlights of GTK+ 2.10

HHiigghhlliigghhttss ooff GGTTKK++ 22..1100 KKrriissttiiaann RRiieettvveelldd TTiimm JJaanniikk kkrriiss@@iimmeennddiioo..ccoomm ttiimmjj@@iimmeennddiioo..ccoomm Hiighlliights of GTK+ 2.10 Agenda ● Upcoming release ● Improvements ● After 2.10 ● Summary 2/36 Hiighlliights of GTK+ 2.10 Upcoming Release ● GTK+ 2.10 expected next week – Longer release cycle than usual – Project Ridley – Performance ● Comes with GLib 2.12, Pango 1.14 3/36 Hiighlliights of GTK+ 2.10 Improvements ● Glib and Pango ● GTK+ 4/36 Hiighlliights of GTK+ 2.10 GLib and Pango ● GLib Memory Management ● GLib Type System Changes ● Other Improvements ● GLib Round Up ● Pango 5/36 Hiighlliights of GTK+ 2.10 GLib Memory Management ● New memory management API: GSlice ● Got rid of: – GMemChunk – GAllocator 6/36 Hiighlliights of GTK+ 2.10 GLib Memory Management (cont.) ● Allocating and freeing: yourmem = g_slice_new (StructureType); g_slice_free (StructureType, yourmem); ● Debugging: G_SLICE=always-malloc G_DEBUG=gc-friendly 7/36 Hiighlliights of GTK+ 2.10 GLib Type System Changes ● G_TYPE_HASH_TABLE (reference counted hash tables) ● G_TYPE_GTYPE to store types in GValues and properties ● GInitiallyUnowned: moved initial floating reference from GtkObject 8/36 Hiighlliights of GTK+ 2.10 Other Improvements ● GBookmarkFile: a parser for files containing bookmarks stored using the Desktop Bookmark specification ● Priority sorting in GAsyncQueue ● Reaping of idle threads from GThreadPool 9/36 Hiighlliights of GTK+ 2.10 GLib Round Up ● Some significant core changes (MainLoop, etc.) ● Many misc improvements, optimizations and bugfixes ● Lots of good improvements to the documentation ● Many translation updates as always 10/36 Hiighlliights of GTK+ 2.10 Pango ● Many different optimizations ● Updates to Unicode 4.1 ● ATSUI support (OS X backend) 11/36 Hiighlliights of GTK+ 2.10 Pango (Cont.) ● Documentation improvements ● Support for conditional compilation ● Usual load of bugfixes (50+) ● Some code cleanups 12/36 Hiighlliights of GTK+ 2.10 GTK+ ● Image File Loading ● Win32 Backend ● Theming ● File Chooser ● GtkTreeView ● Other Improvements ● New Additions 13/36 Hiighlliights of GTK+ 2.10 Image File Loading ● GdkPixbuf – Save TIFF – Load 16 bit PNM – Partial loading of animated GIFs 14/36 Hiighlliights of GTK+ 2.10 Win32 Backend ● Windows support – Win32 backend updates – WIMP updates 15/36 Hiighlliights of GTK+ 2.10 Theming Enhancements ● Symbolic colors color[“my-red”] = { 1.0, 0.0, 0.0 } bg[NORMAL] = lighter(@my-red) ● Notebook tabulators ● Spacing and padding ● Customized expanders and resize grips 16/36 Hiighlliights of GTK+ 2.10 Theming Example ● GtkRange style properties 17/36 Hiighlliights of GTK+ 2.10 File Chooser ● Performance ● Now fully asynchronous ● Location entry always visible 18/36 Hiighlliights of GTK+ 2.10 Location Entry 19/36 Hiighlliights of GTK+ 2.10 GtkTreeView ● Filter/sort model ● Theming ● Search popup improvements ● Rubber banding (demo!) 20/36 Hiighlliights of GTK+ 2.10 Other Improvements ● Rich text copy and paste in GtkTextView ● Display closing / migration ● Notebook DnD (demo!) 21/36 Hiighlliights of GTK+ 2.10 New Additions ● Backends ● GtkAssistant ● GtkStatusIcon ● Cell renderers ● Recent files ● Printing ● Other Additions 22/36 Hiighlliights of GTK+ 2.10 Backends ● Two new backends – Mac OS X (Quartz / CoreGraphics) – DirectFB ● Both are functional, but not 100% finished 23/36 Hiighlliights of GTK+ 2.10 OS X backend 24/36 Hiighlliights of GTK+ 2.10 GtkAssistant ● Replaces GnomeDruid ● Single class ● More flexible ● Demo! 25/36 Hiighlliights of GTK+ 2.10 GtkStatusIcon ● Already in wide use due to libegg ● Also support for Win32 tray icons 26/36 Hiighlliights of GTK+ 2.10 Cell Renderers ● GtkCellRendererSpin ● GtkCellRendererAccel 27/36 Hiighlliights of GTK+ 2.10 Recent Files ● Widgetry for selecting recently used files ● Infrastructure for maintaining the list of recent files ● Slides of Sunday's talk are at http://o-hand.com/~ebassi/2006-guadec-recent-files/ 28/36 Hiighlliights of GTK+ 2.10 Printing ● Cross-platform printing support ● GtkPrintOperation, for setting up the job ● Page setup and print dialogs ● Talk yesterday 29/36 Hiighlliights of GTK+ 2.10 Other Additions ● GtkLinkButton – Replaces GnomeHRef ● Touchscreen mode 30/36 Hiighlliights of GTK+ 2.10 After 2.10 ● GTK+ 2.12 release during January 2007 ● Don't expect 3.0 anytime soon – Want to avoid breaking API for a while 31/36 Hiighlliights of GTK+ 2.10 GTK+ 2.12 ● GtkBuilder ● Canvas ● New tooltips API ● Introspection ● GtkEntry (libsexy, multi-line) ● International calendar support 32/36 Hiighlliights of GTK+ 2.10 Summary ● GTK+ 2.10 out next week – Printing – Recent files – New widgets – Lots of improvements ● GTK+ 2.12 during January 2007 – Will be really awesome too! 33/36 Hiighlliights of GTK+ 2.10 Thanks ● The GTK+ and GLib Team ● The Pango Maintainers ● All translation teams 34/36 Hiighlliights of GTK+ 2.10 More information ● http://www.gtk.org/ ● http://o-hand.com/~ebassi/2006-guadec-recent- files/ ● [email protected] ● Blog entries on Planet GNOME 35/36 Hiighlliights of GTK+ 2.10 Questions? Was anybody down at the beach when the sun came up on Saturday? 36/36.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    36 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us