Nowości dla programistów
Poniższe zmiany są ważne dla osób korzystających z platformy programistycznej GNOME 2.26. Niezainteresowani czytelnicy mogą przejść dalej, do części Rozdział 5 ― Internacjonalizacja.
GNOME 2.26 to, obok środowiska GNOME, także wydanie platformy programistycznej GNOME ― zestawu bibliotek o stabilnych interfejsach programistycznych (API) oraz binarnych (ABI). Biblioteki te umożliwiają tworzenie oprogramowania dla wielu platform i są dostępne na licencji GNU LGPL.
W wydaniu GNOME 3.0 usunięte będą różne przestarzałe części platformy GNOME. Są to między innymi biblioteki GNOME takie jak libgnome, libgnomeui, libgnomeprint, libgnomeprintui, libglade oraz libgnomevfs. Dla programów środowiska GNOME przygotowano listę zadań mających na celu usunięcie odwołań do przestarzałego kodu. Pozwoli to zapewnić łagodne przejście na platformę GNOME 3.0.
Zachęcamy programistów do wykonania tego kroku także w ich własnych programach. Dla wszystkich programistów (także potencjalnych) na stronie wiki GNOME goals przygotowaliśmy listę zadań do wykonania.
4.1. GTK+ 2.16
GTK+ 2.16 to najnowsze wydanie biblioteki GTK+, która stanowi serce platformy GNOME. Wersja GTK+ 2.16 zawiera nowe funkcje dla programistów oraz wiele poprawek błędów. W kodzie źródłowym rozpoczęto także przygotowania do nadchodzącej wersji GTK+ 3.0.
Kontrolki GtkEntry mogą wyświetlać ikony na początku lub końcu pola wprowadzania tekstu (w zależności od kierunku wprowadzania tekstu w danym języku). Ikony te mogą być podświetlane i klikane.
Kontrolki GtkEntry mogą także wyświetlać pasek postępu.
Dla kontrolek, które mogą być łączone z GtkAction, dodano nowy interfejs GtkActivatable.
4.2. Dostęp do interfejsów programistycznych do nagrywania płyt
Biblioteka libbrasero-media udostępnia interfejs API do dostępu do infrastruktury nagrywania płyt w środowisku GNOME. Przykład użycia można znaleźć w odtwarzaczu mediów GNOME, który zawiera wtyczkę do nagrywania płyt DVD i VCD z filmami.
4.3. Dostęp do interfejsów programistycznych programu Evince
W celu umożliwienia dostępu do kontrolki EvView używanej w programie Evince utworzono nową bibliotekę libevview. Pozwala ona na osadzanie komponentu przeglądania dokumentów w innych programach.
Biblioteka libevdocument umożliwia tworzenie mechanizmów wyświetlania dokumentów dla programu Evince bez konieczności dodawania ich do drzewa kodu źródłowego programu Evince.
Obie biblioteki posiadają wiązania do języka Python. Znajdują się one w module gnome-python-desktop.
4.4. Anjuta
W zintegrowanym środowisku programowania Anjuta także dokonano wielu ulepszeń. Jednym z ważniejszych jest zupełnie nowy mechanizm zarządzania symbolami, który wraz z nowym systemem zakładek pozwala na znacznie szybsze poruszanie się po kodzie źródłowym. Za pomocą programu pkg-config możliwe jest automatyczne wykrywanie bibliotek dla funkcji automatycznego uzupełniania i podpowiedzi w kodzie źródłowym.
Dodatkowo poczyniono duże postępy w integracji systemów kontroli wersji oraz programu Glade (projektowanie interfejsu użytkownika). Drzewo plików zawiera ikony stanu dla wszystkich plików przechowywanych w systemie kontroli wersji (Subversion lub Git). Możliwe jest automatyczne generowanie wywołań zwrotnych z Glade. Obsługiwane są też pliki GtkBuilder.
Dla lepszej obsługi platformy GNOME Mobile dodano możliwość debugowania za pomocą programu gdbserver oraz obsługę programu Scratchbox (w wersji 2).