4D Write Pro: Ovládněte sekce a podsekce s novými funkcemi!

Automaticky přeloženo z Deepl

Oddíly a pododdíly jsou základním stavebním kamenem každého dobře strukturovaného dokumentu. Pravděpodobně jste je použili nesčetněkrát, možná aniž byste si to uvědomovali, protože každý dokument obsahuje standardně alespoň jeden oddíl!

Ať už jste zkušený profesionál, nebo teprve začínáte, tento příspěvek vás seznámí se základy oddílů a pododdílů.

Prozkoumáme také zajímavé nové funkce aplikace 4D Write Pro v 4D 20 R7, díky nimž je správa těchto prvků jednodušší a výkonnější než kdy dříve.

HDI Správa podsekcí

Seznámení s dokumenty, oddíly a podsekcemi

Pokud jste se s těmito pojmy již seznámili, pak neváhejte přeskočit. Všem ostatním probereme základy.

Jak jsme si řekli v úvodu, dokument obsahuje alespoň jednu sekci. Pokud jich obsahuje více, oddělují se pomocí zlomů sekcí (k tomu se vrátíme později).

dokument

Začněme samotným dokumentem. Lze jej konfigurovat pomocí celé řady atributů, jako je výplň, velikost papíru, barva pozadí, okraje atd.

Oddíly

Sekce jsou segmenty uvnitř dokumentu, které mohou dědit jeho vlastnosti, například barvu pozadí a okraje. Ve výchozím nastavení sekce zrcadlí atributy dokumentu, pokud nezadáte jinak. Každá sekce může mít také vlastní záhlaví a zápatí.

Podsekce

Na rozdíl od sekcí existují podsekce pouze tehdy, pokud je vytvoříte. Co přesně ale pododdíl je?

Existují dva typy: Různé první stránky a Různé levé a pravé stránky. Stejně jako sekce dědí atributy od dokumentu, podsekce dědí atributy od své nadřazené sekce – dokud se nerozhodnete provést změny.

Vizualizace sekcí a podsekcí

Výše uvedený dokument obsahuje 4 různé sekce:

  • První sekce: Zelené pozadí se záhlavím.
  • Sekce dvě: „Jiná první stránka“ s tmavě modrým pozadím a bez záhlaví.
  • Section Three: „Odlišná první stránka“ bez záhlaví a „Odlišná levá a pravá stránka“ se záhlavím.
  • Čtvrtý oddíl: „První strana“: Dva sloupce se zápatím a identickou první, levou a pravou stránkou (bez podsekcí).

A konečně, první tři oddíly mají na konci oddílu zlom (znázorněný červenými pomlčkami), zatímco čtvrtý oddíl nikoli (tj. neexistuje pátý oddíl).

Všechny tyto vlastnosti, ať už pro sekce nebo podsekce, jsou uloženy v interním úložišti, ať už jsou definovány prostřednictvím rozhraní nebo programově.

Vše výše popsané je k dispozici v mnoha verzích programu 4D Write Pro. Nyní přejděme k novým funkcím!

Představení nových funkcí v 4D 20 R7

Odstraňování sekcí

Až dosud se správa sekcí mohla zdát jednoduchá, ale byla složitější.

Sekce v aplikaci 4D Write Pro nemají jedinečné interní identifikátory; jsou indexovány na základě své pozice v dokumentu. Když sekci odstraníte, indexy všech následujících sekcí se odpovídajícím způsobem posunou. Pokud odstraníte pouze zlom sekce, sekce se sloučí, což často vede k neočekávaným změnám formátování. Tento problém se netýká pouze aplikace 4D Write Pro – je běžný v mnoha textových procesorech, včetně aplikací Word a Pages.

Nový příkaz

Odstranění oddílu je nyní hračkou, protože nový příkaz WP DELETE SECTION umožňuje odstraňovat oddíly, aniž by docházelo k těmto problémům. Tento příkaz zajistí úplné odstranění obsahu a vlastností oddílu a zabrání tak nechtěnému sloučení.

Nezapomeňte však, že dokument vždy obsahuje alespoň jednu sekci. Aby byl tento příkaz použitelný, musí dokument obsahovat alespoň dvě sekce.

Ukázky:

Odstranění oddílu 4 dokumentu (za předpokladu, že oddíl 4 existuje, jinak dojde k chybě)

WP DELETE SECTION ($document;4)

Možná budete chtít odstranit více než jednu sekci… pak přidejte počet sekcí, které mají být odstraněny.

WP DELETE SECTION ($document;4;3)

Nová standardní akce

Tato funkce je k dispozici také jako standardní akce odstranění oddílu/odstranění. Můžete ji použít ve svém rozhraní jako tlačítko nebo položku nabídky. Jediným rozdílem oproti příkazu jsou:

  • Po jeho použití bude následovat potvrzení odstranění (nezapomeňte: sekce může být velká a objemná).
  • Najednou lze odstranit pouze jeden úsek (první, který protíná výběr uživatele).

Jak již bylo řečeno, i po neúmyslném smazání lze předchozí stav obnovit díky příkazu „undo“. To je kouzlo.

Co se tedy děje v hloubce?

Když odstraníte sekci, zde je vše, co se odstraní:

  • Část těla dokumentu obsažená v sekci
  • Záhlaví a zápatí oddílu a případné pododdíly
  • Obrázky a textová pole ukotvená k sekci

Vezměte prosím na vědomí, že indexy následujících sekcí se snižují, takže se automaticky snižují i čísla kotev obrázků a textových polí, kterých se toto odstranění týká. Nemusíte se tedy o to starat – 4D Write Pro to udělá za vás!

Stránky zmizí, ale obrázky mohou zůstat V DOKUMENTU

Existuje však jedna výjimka, se kterou je třeba počítat: pokud je obrázek nebo textové pole ukotveno na stránce (řekněme na stránce 20) a tato stránka po smazání oddílu již neexistuje, obrázek (nebo textové pole) v dokumentu zůstane… a znovu se objeví na stránce 20, pokud tato stránka bude někdy později znovu existovat.

Odstranění pododdílu

Od verze 4D 17 R3 můžete pododdíl odstranit pomocí příkazu WP DELETE SUBSECTION. Jak napovídá jeho název, odstraní buď „samostatnou první stránku“, nebo „samostatnou pravou a levou“ stránku. Tentokrát je to, co se maže, jiné a bylo to vylepšeno.

Stejně jako dříve se nikdy neodstraní obsah (tělo), ale odstraní se záhlaví, zápatí a všechny možnosti stylování (rámečky, okraje, barva pozadí atd.).

Co je tedy nového?

Obrázky a textová pole ukotvená v těchto podsekcích jsou také odstraněny, takže neočekávejte, že se znovu objeví, pokud je znovu vytvoříte. Budete muset znovu vytvořit záhlaví, zápatí, obrázky a textová pole, která jsou v nich ukotvena. Původní stav obnovíte pouze pomocí „undo“ (kouzlo!), které provedete ihned po odstranění.

Vše výše popsané platí bez ohledu na to, zda pracujete s programováním, nebo používáte rozhraní. Zrušení zaškrtnutí volby „Jiná první strana“ nebo „Jiná levá a pravá strana“ vede k naprosto stejnému výsledku jako odstranění pododdílu pomocí programování!

blank

WP DELETE SUBSECTION($section; wk first page)
WP DELETE SUBSECTION($section; wk left page)

Obnovení atributů

Nyní se dostáváme k nejzajímavější části nových funkcí.

Pro rychlou připomínku: atributy sekcí a podsekcí, pokud nejsou definovány, se dědí od svých rodičů. V případě sekce se jedná o atributy dokumentu, v případě podsekce o atributy samotné sekce.

Příkaz WP RESET ATTRIBUTES byl upraven tak , aby umožňoval současné odstranění všech atributů sekce nebo podsekce. V takovém případě stačí příkazu zadat parametr sekce nebo podsekce, ale nezadávat žádný název atributu, a všechny budou odstraněny!

WP RESET ATTRIBUTES ($section) // all attributes of the section shall be reset!
WP RESET ATTRIBUTES ($subSection) // all attributes of the subsection shall be reset! 

blank

PRAKTICKÉ PŘÍKLADY

Jistě si vzpomínáte, že první sekce měla zásadní vlastnost – zelené pozadí…

Pokud odstraníme atributy této sekce, pozadí se vrátí na bílou barvu, což je barva pozadí dokumentu. Nezapomeňte, že v tomto případě se jedná o tzv: Atribut sekce již neexistuje! Všechno je to o dědičnosti. Pokud se pozadí dokumentu následně změní na šedé, bude i sekce šedá!

blank

před resetováním atributů ➼ po resetování atributů

Druhá sekce měla jinou podsekci první stránky. Co to obnáší?

Pokud zrušíme atributy druhé sekce, světle modré pozadí se také vrátí na bílé, s výjimkou odlišné první stránky, jejíž pozadí bylo explicitně definováno jako tmavě modré.

blank

před obnovením atributů ➼ po obnovení atributů

Pokud naopak chcete, aby první (odlišná) stránka měla stejnou barvu pozadí (světle modrou) jako zbytek sekce, musíte resetovat atribut barvy pozadí podsekce „odlišná první stránka“.

WP RESET ATTRIBUTES ($subsection;wk backgroundColor)

Stejně tak je možné z této podsekce odstranit všechna přepsání, takže zdědí atributy sekce, na které je závislá…

// no attributes = all attributes !
WP RESET ATTRIBUTES ($subsection)

Třetí sekce, která májinou první stránku a jinou levou a pravou stránku, neztratí žádnou ze svých barev pozadí, když na ni bude aplikován WP RESET ATTRIBUTES.

Je to proto, že podsekce mají specificky definované barvy pozadí. Zůstanou tedy žluté, protože nedědí od sekce (alespoň pro tento atribut backgroundColor).

blank

před resetováním atributů ➼ po resetování atributů

Při této příležitosti bych rád upozornil (nebo připomněl), že ačkoli pravé/levé podsekce nemohou (samozřejmě) existovat jedna bez druhé, jsou přesto nezávislé. Mohou mít samostatné atributy, a proto je lze resetovat nezávisle na sobě!

$subSection:=WP Get subsection(WP Get section($document; 3); wk right page)
WP RESET ATTRIBUTES($subSection)

$subSection:=WP Get subsection(WP Get section($document; 3); wk left page)
WP RESET ATTRIBUTES($subSection) 

blank

před resetováním atributů ➼ po resetování atributů

Konečně stejný příkaz aplikovaný na čtvrtou sekci resetuje její formát na výšku s jedním sloupcem (jako v původním dokumentu).

blank

před resetováním atributů ➼ po resetování atributů

Nová položka rozhraní

blank

blank

Nejnovější aktualizace panelu nástrojů a postranního panelu obsahují nové tlačítko s přidruženou nabídkou pro odstranění sekcí nebo resetování jejich atributů. Tyto nástroje poskytují kontextově specifické akce na základě polohy kurzoru v dokumentu.

Závěr

Doufáme, že tento příspěvek prohloubil vaše znalosti o sekcích a podsekcích v aplikaci 4D Write Pro. Díky novým příkazům a vylepšením rozhraní nyní můžete své dokumenty doladit s větší přesností a stylem. Jako vždy vás vyzýváme, abyste se podělili o své názory a zkušenosti na fóru!

Roland Lannuzel
- Product Owner & 4D Expert - Po studiu elektroniky se Roland věnoval průmyslovým IT jako vývojář a konzultant, který vytvářel řešení pro zákazníky s různými databázemi a technologiemi. Koncem 80. let se zamiloval do 4D a používal jej při psaní podnikových aplikací, které zahrnovaly účetní, fakturační a e-mailové systémy. nakonec se připojil ke společnosti v roce 1997 a Rolandův cenný přínos zahrnuje návrh specifikací, testovacích nástrojů, demoverzí a také školení a přednášky pro komunitu 4D na mnoha konferencích. Nadále aktivně utváří budoucnost 4D definováním nových funkcí a nástrojů pro vývoj databází.