Programování pro X Window System

Z ωικι.matfyz.cz
Přejít na: navigace, hledání
Programování pro X Window System
Kód předmětu: NSWI079
Přednáší: Tomáš Bílý

Programování pro X Window System zahrnuje popis fungování X a Xlib a výuku programování pod GTK+ a Qt.

Zápočet je za referát nebo za program.

Zkouška je v UNIXové laboratoři a trvá něco přes dvě hodiny, během kterých je třeba poprat se s praktickými příklady na GTK a Qt a pak krátce pohovořit o X/Xlib.

Příklady byly 15. června 2006 tyto:

  1. Máme okno s hromadou ukazatelů s posouvátkem z Qt tutorialu [1], do ukazatele/posouvátka máme sliderům doplnit sloty a signály a nastavit to celé tak, aby nastavení hodnoty na slideru zároveň nastavilo všechny předcházející.
  2. Máme GTK hello world, máme ho předělat tak, aby po kliku na tlačítko "hello world" program skončil, a naopak při pokusu o normální zavření klikem na křížek neskončil a stěžoval si na stdout.
  3. Máme v GTK udělat aplikaci s daným počtem checkboxů (check button v terminologii GTK) pod sebou, které budou simulovat radio button. Tj. v daný okamžik bude aktivovaný vždy přívě jeden. Při aktivaci jednoho checkboxu se o tom zároveŇ vypíše hláška na stdout.
  4. Máme v Qt udělat něco na způsob okénka z tutorialu [2], až na to že tam bude jen tlačítko "Quit" a pole, v němž bude puntík v průměrem 10px a náhodně se měnící barvou. Puntík se pohybuje, při nárazu do kraje se odrazí pod stejným úhlem jako dopadl. Při přemalování widgetu netřeba mazat starou stopu, takže je za puntíkem vidět trajektorie.

Zkouška 26.5.2008:

  • Úloha z Gtk+:

Program má jako parametr číslo (buď na příkazové řádce, nebo někde v kódu, ale tak, aby se to dalo změnit) N. Zobrazit okno, kde bude N check buttonů, a pod nimi slider. Check buttony se mají chovat jako radio buttony (může být najednou zaškrtnutý maximálně jeden). Slajdr má mít rozmezí 1 až N, pohybem slajdru do polohy X se má zaškrtnou X-tý check button (a ostatní odškrtnout), naopak zaškrtnutím X-tého check buttonu se má slajdr nastavit na polohu X.

  • Úloha z Qt:

V okně má být LCDSlider (taková ta komponenta, která obsahuje slajdr a LCD panel, které jsou provázané, z Qt tutoriálu), s rozmezím 0-180. Vedle ní má být plocha, na které je vykreslený úzký obdélník. Tento obdélník má být vždy otočený kolem svého středu o úhel nastavený na LCDSlideru.

  • Teorie:

Obecně popovídat o architektuře X Window, klient-server, posílání zpráv, eventů, bufferování na serveru a na klientovi, ...

Odkazy