Biblioteki dla systemu X Window
Bogdan Kreczmer
ZPCiR ICT PWR pokój 307 budynek C3
kreczmer@ict.pwr.wroc.pl
Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego. Jest on udost ˛epiony pod warunkiem wykorzystania wył ˛acznie do własnych prywatnych potrzeb i mo˙ze on by ´c kopiowany wył ˛acznie w cało ´sci, razem z ninijesz ˛a stron ˛a tytułow ˛a.
X Window
Biblioteka X Biblioteka X Biblioteka X
Klawiatura Klawiatura
Mysz
Ekran Ekran
Ekran
Mysz Urzadzen
Biblioteka Obslugi Biblioteka obslugi
Urzadzen
X Serwer X Serwer
Window
Manager X Toolkit
PocztowegoProgramu Aplikacja
Emulator Terminala Aplikacja Pseudo TTY
Sieciowy protokol X
Rysunek 1: Przykład struktury systemu
X Window
.Wa˙zniejsze zalecenia projektowe twórców X
Nie dodawaj nowej własno ´sci dopóki aplikacja nie mo˙ze by ´c bez niej zrealizowana.
Wa˙zniejszym jest okre ´slenie czym system nie jest ni˙z czym on jest. Nie staraj si ˛e wychodzi´c na przeciw wszystkim potrzebom ´swiata, raczej twórz system jako roz- szerzalny poprzez dodawanie wy˙zszych warst w sposób zgodny z warstwami ni˙z- szymi.
Jedyn ˛a rzecz ˛a gorsz ˛a od generalizacji na podstawie jednego przykładu jest genera- lizacja bez ˙zadnego przykładu.
Je˙zeli problem nie jest całkowicie zrozumiały prawdopodone jest, ˙ze najlepszym rozwi ˛azaniem jest nie dostarczenie ˙zadnego rozwi ˛azania.
Je˙zeli mo˙zna otrzyma ´c 90% po˙z ˛adanych efektów wykonuj ˛ac 10% pracy, któr ˛a nale-
˙załoby wyknona ´c, aby uzyska ´c 100%, to wybierz rozwi ˛azanie mniej pracochłonne.
Izoluj zło˙zon ´s´c problemów, tak dalece jak to jest tylko mo˙zliwe.
Dostarczaj raczej mechanizmów ni˙z reguły. W szczególno ´sci reguły tworzenia inter- fejsu u˙zytkownika pozostaw w r ˛ekach klienta.
Pakiety narz ˛edziowe (toolkits)
Xt Intrinsics — jest cz ˛e ´sci ˛a systemu
X Window
.OpenLook — bezpłatny pakiet stworzony przez firm ˛e Sun. Zbudowany zo- stał w oparciu o bibliotek˛e
XView
, która jest zbli˙zona doXt
. Firma Sun wraz z innymi firmami komercyjnymi zaadaptowała´srodowisko CDE (Common Desktop Environment) korzystaj ˛a- cego z pakietu Motif. Oznacza to powolne zanikanie pakietu OpenLook.
Motif — implementuje standard OSF (Open Software Foundation) za- projektowany w celu zapewnienia jednolitego stylu i wygl ˛adu pulpitu w ´srodwisku UNIX.
Inne pakiety:
Xft — przeznaczony jest do konfigurowania, selekcji i renderowania ró˙znego typu czcionek przy zastosowaniu protokołu X.
Pongo — wykorzystuje Xft. Umo˙zliwia renderowanie tekstu (ró˙zne czcionki i powi ˛ekszenia).
Biblioteki wieloplatformowe
wxWindows — (od 1992) pierwsze jej wersje napisane zostały przez Juliana Smarta (Artificial Intelligence Applications Institute, University of Edinburgh). Inspiracj ˛a do stworzenia tej biblioteki były jego prace nad narz ˛edziem typu meta-CASE nazwanym Hardy.
Ciekaw ˛a cech ˛a tego pakietu jest to, ˙ze mo˙ze on pracowa ´c z ró˙znymi bibliotekami:
wxWindows dla X11 (wxX11) wxWindows dla GTK+ (wxGTK)
wxWindows dla Nano-X (wxNano-X)
wxWindows dla Microwindows (wxMicrowindows) wxWindows dla SciTech MGL (wxMGL)
wxWindows dla MS Windows CE (wxWinCE)
Strona projektu:
http://www.wxWindows.org
Biblioteki wieloplatformowe
GTK+ — nazwa pakietu jest zwi ˛azana z tym, ˙ze biblioteka ta wykorzy- stywana była w programie GIMP (Gnu Image Manipulation Project). Pakiet napisany jest w j ˛ezyku C, jednak mimo to jest zorientowany obiektowo.
Wykorzystuje on bibliteki: GLib, Pango (rendering tekstu) oraz ATK (dostarcza zbiór interfejsów).
Obecnie biblioteka ta jest wykorzystywana w projekcie GNOME.
Strona projektu:
http://www.gtk.org
Biblioteki wieloplatformowe
Qt — ma charakter komercyjny. Pierwsza komercyjna wersja uka- zała si ˛e w 1996. Darmowa wersja tej biblioteki wykorzystana została w projekcie KDE. Z tego te˙z powodu podobnie jak
GTK+
stała si ˛e standardowym komponentem dystrybucji Linuk- sowych.Oferuje wsparcie dla bardzo wielu platform:
MS/Windows - 95, 98, NT 4.0, ME, and 2000
Unix/X11 - Linux, Sun Solaris, HP-UX, Compaq Tru64 UNIX, IBM AIX, SGI IRIX i wiele innych.
Macintosh - Mac OS X.
Strona projektu: