přejít na obsah přejít na navigaci

Linux E X P R E S, Glade: grafické prostředí snadno a rychle

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.

Nahoru

Odkazy

Příspěvky

Glade: grafické prostředí snadno a rychle
lzap 12. 02. 2008, 22:51:10
Odpovědět  Odkaz 
Velmi pěkné, navíc screenshot z Vimu :-)
Vlastimil Ott Re:Glade: grafické prostředí snadno a rychle
Vlastimil Ott 12. 02. 2008, 23:16:48
Odpovědět  Odkaz 
Zklamu tě, milý Watsone. Quanta.
Miroslav Hrončok Glade: grafické prostředí snadno a rychle
churchyard 13. 02. 2008, 00:01:39
Odpovědět  Odkaz 
Něco ala QtDesigner pro GTK? Vědět o tomhle dřív :) Děkuju, určitě užiju.
Re:Glade: grafické prostředí snadno a rychle
Michal Grňa 13. 02. 2008, 08:55:04
Odpovědět  Odkaz 
Ano, dá se to tak říct. Dle mého čistě subjektivního názoru (pravděpodobně pramenícího z toho, že preferuji prostředí GNOME) je ovšem Glade oproti QtDesigneru jednodušší na pochopení i pro úplného začátečníka. Nehledě na to, že podpora Qt a GTK+ není ve všech programovacích jazycích srovnatelná (např. Qt v PERLu je na opravdu dlooouhé lokte).
Miroslav Hrončok Re:Re:Glade: grafické prostředí snadno a rychle
churchyard 13. 02. 2008, 18:04:23
Odpovědět  Odkaz 
Tak já taky radši GTK, jakožto Xfceista, stáhnututo, jen koukám, že stejně jako na Tvých screenech mám aplikaci anglicky (balíček ze zdrojů Ubuntu), což je dost v rozporu s větičkou:
> Navíc díky tomu, že je projekt Glade velmi dobře lokalizován...
Mám někde hledat po soubor (svn etc.), nebo to není až zas tak pravda?
Michal Grňa Re:Re:Re:Glade: grafické prostředí snadno a rychle
Michal Grňa 13. 02. 2008, 18:30:21
Odpovědět  Odkaz 
No, co se týče obrázků típnutých do tohoto článku, tak z mého desktopu jsou všechny kromě screenshotu se samotným kódem a pak právě toho nelokalizovaného (v tom případě se jedná o Glade3, který jsem v době psaní toho článku neměl zrovna po ruce, tak jsem ho pořídil někde na webu GNOME - proto ta angličtina). Jinak by Glade měl být skutečně plně lokalizovaný (alespoň v Ubuntu, ze kterého pocházejí moje screenshoty, tomu tak je). Zkusím se doma podívat, co všechno mám nainstalováno.
Jiří Eischmann Re:Re:Re:Re:Glade: grafické prostředí snadno a rychle
Jiří Eischmann 6. 03. 2008, 02:34:33
Odpovědět  Odkaz 
Glade3 není lokalizovaný a to dokonce tak, že v něm není přeložen jediný řětězec. Nikdo na něm nepracuje a vzhledem k tomu, že je za 4 dny zmrazení GNOME, tak to nebude přeložené ani v GNOME 2.22. Díval jsem se, jestli nemá Ubuntu nějaký svůj vlastní překlad, ale nemá. V Ubuntu 8.04 je Glade3 také anglicky.
Glade: grafické prostředí snadno a rychle
viper 28. 09. 2008, 08:54:05
Odpovědět  Odkaz 
Přízpěvky jsou zastaralé, ale pro úplné nováčky se zájmem pro Glade...sw je lokalizován do češtiny, takže ani pro neangličtináře, nebo věčné začátečníky "ke kterým se hrdě hlásím" nebude problém programovat pod tímto úžásným projektem.
Jiří Eischmann Re:Glade: grafické prostředí snadno a rychle
Jiří Eischmann 28. 09. 2008, 10:10:11
Odpovědět  Odkaz 
Glade lokalizován není, tedy aspoň jeho verze 3 ne, vizte: http://l10n.gnome.org/languages/cs/gnome-2-24. Kde to máte přeložené? Možná, že to nějaký projekt přeložil, ale překlad není v upstreamu, v tomto případě by se hodilo poslat to tam, ať z toho těží všichni, ale spíš si myslím, že máte na mysli verzi 2.
Glade: grafické prostředí snadno a rychle
Saruman 11. 11. 2008, 08:31:30
Odpovědět  Odkaz 
S knihovnou wxWidgets si to asi nerozumi, co?
Re:Glade: grafické prostředí snadno a rychle
Michal Grňa 11. 11. 2008, 20:14:43
Odpovědět  Odkaz 
Pro knihovnu wxWidgets je tuším obdobný projekt s názvem Boa Constructor.
Glade: grafické prostředí snadno a rychle
sarimak 14. 07. 2009, 11:55:40
Odpovědět  Odkaz 
Update: Glade 3 konecne podporuje format gtkbuilder (misto libglade) a (jiz behem verze 2) opustil puvodni myslenku generovani sablon C-ckoveho kodu.

Vyhody: clovek dostane jedno XML a jakmile pouzije knihovnu gtk (bindings pro dany jazyk), ma k dispozici jednoduchou funkci/tridu, ktera umi nacist XML, odkazovat se na jednotlive widgety podle jmena a propojit callbacky k signalum definovanym v Glade.

Vice viz. http://library.gnome.org/devel/gtk/unstable/GtkBuilder.html, http://www.micahcarrick.com/05-30-2008/gtk-builder-libglade-faq.html a http://www.pygtk.org/docs/pygtk/class-gtkbuilder.html

Odpovědět

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz