K vašim službám... - 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:

Seriály

Více seriálů



Software

K vašim službám...

23. října 2001, 00.00 | Vzhledem k tomu, že nová verse Mac OS X 10.1 konečně podporuje integraci aplikačních služeb — tzv. Services — i v kamenouhelných aplikacích, nastal čas, abychom se na tento geniálně navržený systém podívali blíž.

Vzhledem k tomu, že nová verze Mac OS X 10.1 konečně podporuje integraci aplikačních služeb — tzv. Services — i v kamenouhelných aplikacích, nastal čas, abychom se na tento geniálně navržený systém podívali blíž.

O co vlastně jde?

Nejprve malou ukázku: spusťte si TextEdit, a představte si, že píšete nějaký článek o Mac OS X. Dříve nebo později nastane chvíle, kdy by bylo vhodné vložit do textu nějaký snímek obrazovky — díky systému Services je to snadné, aniž bychom vlastně opustili TextEdit: prostě otevřeme menu Services / Grab, a vybereme třeba Selection:

To nám umožní označit požadovaný obdélník na obrazovce, a jakmile s označováním skončíme, jeho obsah se vloží na místo kursoru do textu, který právě píšeme.

Jistě, oproti Classickému stisknutí některé z bláznivých kombinací Alt-Shift-Cmd-3 (nebo jak to přesně bylo) a pak Cmd-v pro vložení obrázku ze schránky do textu jsou výhody zanedbatelné — zde jde jen o to, že ke službě přistupujeme standardním způsobem prostřednictvím menu a nemusíme si pamatovat prstolamné kombinace, a možná i o to, že schránka zůstane beze změny. Systém Services však toho umí mnohem víc; my jsme zvolili tento jednoduchý příklad jako ukázku, na které si vysvětlíme základy systému Services:

Samozřejmě, že se nejedná o novou, až dosud utajenou službu aplikace TextEdit: označování a snímání obrazovky ve skutečnosti zajistila aplikace Grab, jejíž službu jsme si — prostřednictvím TextEditu a systému Services — vyžádali. Co se tedy vlastně dělo?

  1. hned při loginu systém zjistil, že (mj.) aplikace Grab nabízí (mj.) službu "Selection", a to komukoli, kdo je schopen zpracovávat obrázky;
  2. při běhu aplikace TextEdit dala systému na vědomí, že na místo kursoru lze (mj.) vložit obrázek;
  3. na základě toho systém zajistil, že v menu Services aplikace TextEdit je k dispozici položka Grab/Selection;
  4. pokud tuto položku vybereme, systém předá požadavek "Selection" aplikaci Grab (pokud aplikace neběží, systém ji automaticky spustí na pozadí);
  5. aplikace Grab zpracuje požadavek (tím, že nám umožní označit obdélník na obrazovce, a sejmutím jeho obsahu), a výsledná data předá systému;
  6. ten data (tj. obrázek) předá aplikaci TextEdit, která službu vyvolala; aplikace obrázek vloží na místo kursoru.

Podstatné je to, že jde o naprosto obecný systém, který není nijak vázán na speciální systémové triky (jako Classické snímání obrazovky): přesně stejným způsobem může libovolná aplikace nabízet libovolnou službu libovolné jiné aplikaci.

Představme si třeba jednoduchou aplikaci, která nabízí "citát pro dnešní den" jako text (my si na konci tohoto seriálku předvedeme zdrojový kód právě takové aplikace jako ukázku, jak Services programovat). V libovolné aplikaci, jež dokáže přijímat text — TextEdit, ProjectBuilder, Mail,... — pak budeme mít k dispozici položku menu Services, která prostě na místo kursoru vloží náhodně vybraný citát...

Jde to i na druhou stranu

Services ovšem nejsou omezeny jen na přebírání dat z jiných aplikací; stejně dobře můžeme naopak data do jiných aplikací odesílat. Označíme-li např. v TextEditu (nebo kdekoli jinde) nějaký text, můžeme použít službu Services / Make Sticky: ta označený text předá aplikaci Stickies, a ta s ním vytvoří novou "nálepku". Postup je v tomto případě jen nepatrně odlišný:

  1. hned při loginu systém zjistil, že (mj.) aplikace Stickies nabízí službu "MakeSticky", a to komukoli, kdo je schopen nabídnout text;
  2. při běhu aplikace TextEdit dala po označení bloku systému na vědomí, že právě teď má k dispozici pro ostatní nějaký text;
  3. na základě toho systém zajistil, že v menu Services aplikace TextEdit je k dispozici položka Make Sticky;
  4. pokud tuto položku vybereme, systém předá požadavek "Make Sticky" aplikaci Stickies (pokud aplikace neběží, systém ji automaticky spustí na pozadí);
  5. aplikace Stickies zpracuje požadavek -- tím, že vytvoří novou "nálepku" s daným obsahem, aktivuje se, a zobrazí ji.

Obě cesty je možné i kombinovat: aplikace, která nabízí nějakou službu, může nejprve přijmout data, nějak je zpracovat, a výsledek pak předat aplikaci, jež službu vyvolala. Tak třeba OCR aplikace bude jistě schopna přijmout obrázek a vrátit text; my si na konci ukážeme podobnou službu naší triviální citátové aplikace, jež bude schopna najít citát k označenému slovu.

Příště...

...se podíváme na služby standardních aplikací, jež nalezneme v instalaci OS X 10.1.

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

Tématické zařazení:

 » Rubriky  » Informace  

 » Rubriky  » Agregator  

 » Rubriky  » Software  

 

 

 

Nejčtenější články
Nejlépe hodnocené články
Apple kurzy

 

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

Uživatelské jméno:

Heslo: