Quartz Composer pro programátory - MujMAC.cz - Apple, Mac OS X, Apple iPod

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Soutěž

Sponzorem soutěže je:

IDIF

 

Kde se narodil známý fotograf František Drtikol?

V dnešní soutěži hrajeme o:

Seriály

Více seriálů



Software

Quartz Composer pro programátory

6. září 2005, 00.00 | Dnes se zaměříme na programátory, využívající objektový vývojový systém Cocoa, a ukážeme si, jak lze tyto komposice přímo využívat pro grafické prvky programů.

Minule jsme si v našem volném seriálku, věnovaném systému Quartz Composer, ukázali, že – a jak – lze komposice z této aplikace přímo používat jako spořiče obrazovky nebo videoklipy ve formátu QuickTime. Dnes se zaměříme na programátory, využívající objektový vývojový systém Cocoa, a ukážeme si, jak lze tyto komposice přímo využívat pro grafické prvky programů.

Jak uvidíme, je to velmi, skutečně velmi pohodlné a takřka bez zvláštní práce – můžeme tak snadno využívat komposice i na "vedlejší" úlohy, dejme tomu pro oživení panelu "o aplikaci"...

Komposice

Nejprve si připravíme samotnou komposici – tím jsme se zabývali v minulých dílech našeho seriálku. Komposice může mít "publikované" vstupní a výstupní porty; jak za chvíli uvidíme, tyto porty lze snadno později v prostředí Cocoa spojit s proměnnými či s metodami naší aplikace.

My pro jednoduchost použijeme základní vzorovou komposici; jen zobrazovaný text publikujeme jako vstupní port, pojmenovaný "text":

Chceme-li, můžeme samozřejmě komposici jakkoli upravit, nebo přidat další publikované vstupní či výstupní porty.

Projekt

Komposice můžeme používat kdekoli v jakékoli aplikaci Cocoa, jež využívá standardní objekty grafického uživatelského rozhraní. V našem jednoduchém příkladu sestavíme triviální aplikaci, jež kromě výše připravené komposice nebude obsahovat téměř nic jiného (jen ještě textové pole pro nastavení hodnoty vstupního portu "text") – spustíme tedy vývojové prostředí Xcode a vyžádáme si vytvoření nového projektu "Cocoa Application", a otevřeme soubor "MainMenu.nib" (prostředí Xcode nám jej připravilo automaticky na základě projektového vzoru) – ten se otevře v aplikace InterfaceBuilder:

První malinký "podraz" spočívá v tom, že InterfaceBuilder z jakéhosi podivného důvodu standardně nenabízí paletu, jež obsahuje objekt "view", odpovídající komposicím Quartz Composeru (ohledně toho, co to znamená "view objekt", můžete nahlédnout do seriálu, věnovaného programování v Cocoa). Musíme tedy tuto paletu nejprve otevřít (stačí to udělat jednou, InterfaceBuilder již si ji pak bude pamatovat): použijeme příkaz "Tools / Palettes / Palette Preferences", v okně palet klepneme na tlačítko "Add...", a zvolíme paletu "QuartzComposer.palette" ve složce "/Developer/Extras/Palettes".

V nové paletě jsou dva objekty: QCView a QCPatchController. První z nich umístíme v InterfaceBuilderu do okna; druhý přímo do NIBu. Pro druhý z nich (Patch Controller) v Inspektoru v režimu "Attributes" klepneme na tlačítko "Load from composition file...", a vybereme soubor s komposicí, který jsme vytvořili v prvém odstavci. U objektu "view" přepneme inspektor do režimu "bindings" a navážeme jeho atribut "patch" na Patch Controller, key "patch":

Již nyní můžeme aplikaci vyzkoušet – základní komposice se bude v okně korektně zobrazovat. My ovšem chceme ještě přidat možnost nastavení zobrazovaného textu; k tomu je třeba ještě přidat pár objektů:

  • do okna přidáme textové pole;
  • navážeme je v inspektoru v režimu "Bindings" na "patch" s hodnotu "text.value" pro "Model Key Path". Nezapomeneme označit přepínač "Continuously Updates Value".

Nic víc není zapotřebí – není nutné dokonce ani aplikaci buildovat (protože jsme nepsali žádný kód v Objective C a využili jsme pouze standardní objekty z knihoven, a protože InterfaceBuilder sestavuje síť ze skutečných objektů, můžeme vše spustit přímo v něm): jakýkoli text, který zapíšeme do textového pole, se okamžitě zobrazí v komposici (na obrázku vidíme zároveň nastavení v InterfaceBuilderu a v pozadí i běžící, zbuildovanou aplikaci – zde je druhý malinký podraz; podobně, jako jsme přidali paletu v InterfaceBuilderu, musíme v Xcode do projektu přidat framework "Quartz.framework" ze standardní složky "/System/Library/Frameworks"):

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » Zábava  

 » Rubriky  » Informace  

 » Rubriky  » Agregator  

 » Rubriky  » Multimedia  

 » Rubriky  » Software  

Poslat článek

Nyní máte možnost poslat odkaz článku svým přátelům:

Váš e-mail:

(Není povinný)

E-mail adresáta:

Odkaz článku:

Vzkaz:

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: