Linux E X P R E S

Facebook

Glade: grafické prostředí snadno a rychle

Člověk je tvor vynalézavý, a pokud si může ušetřit práci nějakým zlepšovákem, vemte jed na to, že jej stvoří hned, jak to bude jen trochu možné. Jedním z takových zlepšováků je zcela nepochybně i Glade – aplikace pro návrh grafických uživatelských rozhraní využívajících rozhraní GTK+.


Ruční návrh GUI je otrocká činnost bez ohledu na to, které rozhraní (toolkit) si zvolíte. Hlavní část vašeho skvělého kódu je už dávno funkční a vy si ji vesele spouštíte v terminálu s celou hromadou parametrů, jako by se nechumelilo. Přesto všechno musíte napsat další hromadu kódu, který váš software zabalí do úhledného balíčku s mašličkou, protože ti zmlsaní uživatelé by váš program bez všech těch okýnek a čudlíčků prohlásili za naprosto nepoužitelný.

A právě tady se naskýtá prostor pro „automatický generátor“ GUI – software, který otrockou práci udělá za vás, zatímco vy jen naklikáte v jakési formě WYSIWYG editoru svou představu grafického rozhraní. Většina toolkitů nějaký „svůj“ generátor GUI má (Boa constructor pro wxWidgets, QtDesigner pro toolkit Qt atd.). Pokud pracujete s toolkitem GTK+, neměl by vaší pozornosti uniknout software s názvem Glade.

GTK+ (zkráceno z GIMP Toolkit) je jedna ze dvou nejpopulárnějších open-source knihoven pro vytváření grafických uživatelských rozhraní. Původně vznikla pro potřeby rastrového grafického editoru GIMP. Společně s knihovnami Qt nahradila dříve velmi užívané knihovny Motif. Knihovna GTK+ byla původně vytvořena v roce 1997 členy eXperimental Computing Facility (XCF) Kalifornské university v Berkeley Spencerem Kimballem, Peterem Mattisem a Joshem MacDonaldem. Je šířena pod licencí LGPL jako open-source software. Je součástí projektu GNU. Podle Wikipedie.

Glade patří do kategorie tzv. RAD nástrojů neboli softwaru pro rychlý vývoj aplikací. Jeho první verze spatřila světlo světa v roce 1998 a při srovnání s aktuální verzí 3.2.2 učinil Glade obrovský skok vstříc uživatelské přítulnosti, dostupné paletě nástrojů apod. Z původního omezeného nástroje pro základní návrh GUI se dnes stal komplexní nástroj, který generuje XML soubor s popisem grafického rozhraní. Díky této schopnosti je užitná hodnota Glade velmi vysoká, neboť v každém současném mainstreamovém programovacím jazyku (C/C++, Java, PERL, Python, Ruby atd.) najdete pro práci s XML popisem GUI příslušnou knihovnu (libglade) nebo alespoň modul s touto knihovnou spolupracující.

RAD (Rapid application development čili zhruba „rychlé vyvíjení aplikací“) je souhrn metod a postupů, které ulehčují vytvoření kódu počítačového programu. V kontextu tohoto článku se jedná o rychlý návrh uživatelského rozhraní, kdy je programátor ušetřen namáhavého psaní rutinního kódu – návrh provede vizuálně, kód se posléze vygeneruje. Pozn. šéfred.

XML (eXtensible Markup Language, česky rozšiřitelný značkovací jazyk) je obecný značkovací jazyk, který umožňuje snadné vytváření konkrétních značkovacích jazyků pro různé účely a široké spektrum různých typů dat. Jazyk je určen především pro výměnu dat mezi aplikacemi a pro publikování dokumentů. Umožňuje popsat strukturu dokumentu z hlediska věcného obsahu jednotlivých částí, nezabývá se sám o sobě vzhledem dokumentu nebo jeho částí. Prezentace dokumentu (vzhled) se potom definuje připojeným stylem. Další možností je pomocí různých stylů provést transformaci do jiného typu dokumentu, nebo do jiné struktury XML. Zdroj: Wikipedia.

Ve většině linuxových distribucí najdete již připravený balíček, pomocí kterého si Glade můžete do svého systému doinstalovat. V případě, že součástí vaší distribuce balík Glade není, nebo zatoužíte po nejnovější verzi, stačí se poohlédnout na oficiálních stránkách Glade, případně na SVN projektu GNOME, odkud si můžete stáhnout zdrojové kódy. Po úspěšné instalaci nezbývá než Glade spustit a vrhnout se na tvorbu grafických rozhraní k vašim programům.

Obrázek:  1.jpg

Prostředí programu Glade – nezávislé panely

Glade lze spustit buď z menu, kam se automaticky po instalaci přidá příslušná položka (např. v prostředí GNOME: Aplikace-Programování-Návrhář uživatelského rozhraní Glade) nebo v terminálu příkazem glade-číslo verze (např. glade-2). Po spuštění se vám v zobrazí základní nabídka nástrojů buď v uspořádání do několika několika nezávislých panelů, řípadně jako homogenní aplikace s panely rozmístěnými v rámci jednoho otevřeného okna.

Obrázek:  2.jpg

Prostředí programu Glade – panely uvnitř okna, zdroj: http://glade.gnome.org/graphics/integrated.png

Práce s Glade je velice intuitivní a neměla by vám dělat větší potíže. Vše je pěkně po ruce, a pokud si zvyknete na způsob práce s objekty toolkitu GTK+, neměla by na vás číhat žádná záludnost. Základní rozhraní se skládá ze tří panelů (provedení „vše v jednom okně“ zachovává rozdělení totožné s provedením s oddělenými panely) – panelu projektu, panelu nástrojů (paleta) a panelu vlastností.

Při zakládání nového projektu máte na výběr, zda chcete tvořit projekt GNOME, nebo projekt GTK+. Pokud nehodláte ve svém programu využívat některých specifických objektů prostředí GNOME, pravděpodobně budete vytvářet především projekty GTK+ (vzhledem k menším závislostem a lepší přenositelnosti výsledného kódu např. i na platformu MS Windows).

Na jeden z významných rozdílů mezi verzemi 2.x.x a 3.x.x projektu Glade narazíte již zde při definici vlastností vašeho projektu. Zatímco Glade ve verzi 2.x.x generoval na základě vaší „výtvarné tvorby“ i kód v jazyce C/C++ (popř. Ada), u verze 3.x.x došlo k výrazné změně a v současné době Glade generuje pouze XML popis grafického rozhraní a do vašich aplikací jej dynamicky importujete pomocí knihovny libglade. Pokud byste přesto toužili po generování kódu přímo z Glade, lze tuto funkci do Glade doplnit jako plug-in.

Obrázek:  3.jpg

Vlastnosti projektu

Projekt máte založený, vlastnosti jste si nadefinovali, můžete tedy začít tvořit. K dispozici máte širokou paletu nástrojů, která vám nabízí rozsáhlou škálu objektů, na něž jste zvyklí například z prostředí GNOME či aplikací postavených právě na GTK+ rozhraní. Základem každého grafického rozhraní je jeho hlavní okno. To se pro vás stává jakýmsi „malířským plátnem“, nad kterým si posléze budete pohrávat se svými „štětci“ ve formě menu, tlačítek, šoupátek, záložek a jiných hejblátek.

Pro některé uživatele (např. pro ty, kteří byli zvyklí na tvorbu GUI v systému Windows) bude zpočátku možná matoucí preferovaný způsob umisťování objektů do základního okna. Objekty lze sice umisťovat i do pevně stanovených souřadnic, nicméně preferovaným způsobem (který najdete i ve většině tutoriálů jak v literatuře, tak na internetu) je definice rozložení pomocí boxů a tabulek. V základním okně své aplikace si tedy nejprve vytvoříte jakousi kostru rozmístění a teprve do ní posléze umisťujete jednotlivé objekty.

Obrázek:  4.jpg

Kostra rozmístění prvků

U každého objektu můžete nastavovat jeho vlastnosti, jako jsou okraje, vyplnění přiděleného prostoru, události při kliknutí na objekt apod. Tato nastavení upravujete v panelu vlastností, který je rozdělen záložkami na podskupiny voleb v závislosti na upravovaných hodnotách, případně událostech. Jednotlivá nastavení jsou opět velmi intuitivní a přehledná. Navíc díky tomu, že je projekt Glade velmi dobře lokalizován, neměly by vám úpravy jednoduššího projektu trvat déle než několik málo minut.

Obrázek:  5.jpg

Výsledný vzhled aplikace

Když se dostatečně vyřádíte a váš tvůrčí duch je spokojen se vzhledem rozhraní k aplikaci, je ta pravá chvíle projekt uložit a užívat si výhod, které díky tvorbě s Glade máte k dispozici. V závislosti na verzi vám Glade po uložení projektu vytvoří ve zvoleném adresáři strukturu obsahující soubory s vygenerovaným popisem rozhraní a projektu ve formátu XML spolu s kódem v jazyce C a příslušnými hlavičkovými soubory (verze 2.x.x), popř. pouze strukturu rozhraní a projektu ve formátu XML (verze 3.x.x).

Obrázek:  6.jpg

Ukázka kódu také ke stažení

Grafické rozhraní ke své aplikaci máte hotové, nezbývá tedy nic jiného než vzít vytvořené XML popisy struktury a propojit je pomocí nástrojů programovacího jazyka se zbytkem vašeho kódu. Pokud jste v tomto oboru nováčky, najdete spoustu tutoriálů nejen na stránkách projektu Glade, ale i v literatuře a elektronických zdrojích, kterých na internetu najdete bezpočet.

Jako všechny nástroje určené pro vývoj, ani Glade není samospasitelný a neudělá veškerou práci za vás. Nicméně pokud tvoříte aplikace pro uživatele preferující grafické rozhraní, může vám Glade ušetřit spoustu monotónních činností spojených s tvorbou GUI. Pokud tedy mezi vaše používaná rozhraní patří GTK+ nebo s ním chcete začít pracovat, Glade by mezi vašimi programátorskými nástroji zcela určitě neměl chybět.

Diskuze (12) Nahoru