Archív Inet.sk Pôvodný autor: Július Pastierik
14. 09. 2006 o 00:00 2929x

Makrá v OpenOffice.org 5/II. – Rozdeľujeme dialóg na stránky

V dnešnom dieli seriálu o programovaní makier v OpenOffice.org si ukážeme praktickú ukážku dvojstránkového dialógu pre nastavovanie parametrov pri vkladaní nezalomiteľných medzier za jednoznakové predložky a spojky.
Makrá v OpenOffice.org 5/II. – Rozdeľujeme dialóg na stránky

Ako sme si už naznačili v minulom dieli, dnes si ukážeme, ako sa prakticky programujú podprogramy pre prepínanie medzi jednotlivými oknami viacstránkových dialógov. Aby sme nemuseli vymýšľať nový príklad, rozdelíme si dialóg, ktorý sme si vytvorili pre nastavovanie parametrov pri vkladaní nezalomiteľných medzier za jednoznakové predložky a spojky.

Ako si určite dobre pamätáte, tento dialóg sa skladal z dvoch zaškrtávacích okienok (či sa má má vkladanie nezalomiteľných medzier spúšťať automaticky pri spustení OpenOffice.org a či sa má nezalomiteľná medzera vkladať aj za spojku „a“) a dvoch prepínacích políčok, pomocou ktorých sme určovali, aký znak sa má za spojky vkladať („Non Break Space“ alebo „Word Joiner“).

Prvá stránka dialógu

Teraz si ukážeme postup, ako tento dialóg rozdelíme do dvoch stránok. Ako prvé, čo urobíme, bude to, že si v návrhovej časti dialógov označíme celý dialóg a zmeníme jeho číslo stránky (krok) na 1. Teraz vo vnútri dialógu označíme postupne zaškrtávacie okienka a tak isto zmeníme túto položku u nich na číslo stránky na hodnotu jedna.

V druhom kroku znovu označíme celý dialóg a zmeníme číslo stránky na 2. Teraz vo vnútri dialógu označíme postupne prepínacie políčka a zmeníme aj ich čísla stránok na hodnotu dva. Keď teraz budeme prepínať medzi jednotlivými stránkami uvidíme, že nám tam zostali iba príslušné políčka a tlačidlá „OK“ a „Cancel“. Aby sme však mohli medzi nimi prepínať aj po spustení dialógu, musíme si pridať aspoň jedno tlačidlo, pomocou ktorého to budeme realizovať. Nazveme ho „zmena_strany“, musíme mu priradiť číslo strany 0 a ako zobrazovaný text zadáme šípku „->“. Nakoniec si ešte upravíme vzhľad jednotlivých stránok tak, aby nám viac vyhovoval – napr. tým, že namiesto toho, aby sme mali políčka pod sebou, umiestnime ich vedľa seba.

Priradenie makra k tlačidlu

V tomto kroku sme dospeli k najdôležitejšej časti – tlačidlu „zmena_strany“ musíme priradiť makro, pomocou ktorého vlastne budeme jednotlivé stránky prepínať. Pretože máme iba dve stránky, bude nám stačiť pomerne jednoduchá procedúra, kde stačí tieto stránky vymieňať. Zároveň však bude vhodné, ak budeme meniť aj zobrazovanú šípku (text) v tlačidle „zmena_strany“ z „->“ na „<-“ a naopak. Príslušná procedúra môže potom vyzerať napr. takto:

rem Prepínanie medzi dvoma stranami dialógu
sub zmena_strany_Initiated
 if dlg.model.step=1 then
  ' Ak sme na strane 1, prepneme sa na stranu 2
  dlg.model.step=2 ' týmto priradením sa automaticky zobrazila 2 strana dialógu
  dlg.model.zmena_strany.enabled=true ' povolíme platnosť tlačidla „zmena_strany“
  dlg.model.zmena_strany.label="<-" ' a zmeníme jeho popis
 else
  ' Ak sme na strane 2, prepneme sa na stranu 1
  dlg.model.step=1
  dlg.model.zmena_strany.enabled=true
  dlg.model.zmena_strany.label="->"
 end if
end sub


Priradené makro k inicializácii tlačidla

Teraz túto procedúru priradíme ku tlačidlu „zmena_strany“. V návrhu dialógu sa v zobrazených vlastnostiach tohto tlačidla prepneme do druhej záložky „Udalosti“, kde stlačením prvého tlačidla „…“ vyberieme položku „Pri inicializácii“. Tam následne pomocou tlačidla „Priradiť“ vyhľadáme a priradíme túto procedúru k označenému tlačidlu.

Prvá strana spusteného dialógu

Teraz nám ešte zostáva trochu upraviť ostatné funkcie, ktoré sme používali pri práci s týmto dialógom. Ako prvé je nutné, aby sme premennú dlg definovali ako globálnu, pretože inak ju nebude pred chvíľou definovaná procedúra poznať a pri priraďovaní makier k tlačidlám nemáme možnosť definovať parametre funkcie.

Druhá strana spusteného dialógu

Okrem toho je potrebné, aby sme pri inicializácii dialógu nastavili aj stranu dialógu, ktorá sa má zobraziť ako prvá a pretože nevieme, aký sme mali posledne zobrazovaný text tlačidla „zmena_strany“, tak aj túto položku. Ostatné časti sa nemusia meniť, pretože umiestnením nejakej položky na inú stranu dialógu sa nemenia jej ostatné vlastnosti. Vlastné makrá potom môžu vyzerať nasledovne (uvádzame iba zmenené procedúry):

global dlg as object

sub init_dialog_predlozky(oDialog as object)
 Citaj_nastavenie_predlozky
 oDialog.model.Automaticky.State=Priznaky_nezalomitelne_medzery(1)
 oDialog.model.Za_spojku_a.State=Priznaky_nezalomitelne_medzery(2)
 oDialog.model.TabIndex=3
 oDialog.model.TabIndex=4
 select case Priznaky_nezalomitelne_medzery(3)
  case 2
   oDialog.model.Volba1.State=0
   oDialog.model.Volba2.State=1
  case else
   oDialog.model.Volba1.State=1
   oDialog.model.Volba2.State=0
 end select
 oDialog.model.step=1 ' Ako prvú zobrazíme stranu 1
 oDialog.model.zmena_strany.enabled=true ' Povolíme prepínanie na stranu 2
 oDialog.model.zmena_strany.label="->" ' A zobrazíme text – šípku – naznačujúcu smer dopredu na ďalšiu stranu
end sub

sub NastavPriznakyNezalomitelnePredlozky

 DialogLibraries.LoadLibrary("Vlastne_makra")

 dlg=CreateUnoDialog(DialogLibraries.Vlastne_makra.Dialog_Nezalomitelne_Predlozky)
 init_dialog_predlozky(dlg)

 if dlg.Execute()=1 then
  zapis_dialog_predlozky(dlg)
 endif
 dlg.dispose()
end sub


Na budúce: Ďalšie možnosti dialógov, alebo nie všetko sa dá riešiť zaškrtávacími a prepínacími políčkami.


Novinky a inšpirácie

Z nášho blogu

Prečítajte si novinky, inšpirácie a dôležité informácie zo sveta webhostingu a technológií.

Gmail končí s funkciou „Odoslať ako“ pre cudzie e-mailové adresy. Čo to znamená pre vás? Oznamy
01. 10. 2026

Gmail končí s funkciou „Odoslať ako“ pre cudzie e-mailové adresy. Čo to znamená pre vás?

Google oznámil, že v januári 2027 zruší v Gmaile funkciu „Odoslať ako“ (Send as) pre e-mailové adresy od iných poskytovateľov. Ak ste si ...

Čítať viac
Večerná „prestávka“ pre server VIP033 Oznamy
25. 09. 2026

Večerná „prestávka“ pre server VIP033

Neustále pracujeme na tom, aby vaše weby bežali hladko, rýchlo a bezpečne. Technológie idú míľovými krokmi vpred a my v Inet.sk s nimi dr...

Čítať viac
Novinky na Inet.sk (09 / 2026) Novinky
09. 09. 2026

Novinky na Inet.sk (09 / 2026)

Posledné mesiace sme v Inet.sk nevenovali len stabilite serverov, ale najmä počúvaniu vašich reálnych skúseností z každodennej praxe. Výs...

Čítať viac
Plánovaná údržba v datacentre (20.09.2026) Oznamy
07. 09. 2026

Plánovaná údržba v datacentre (20.09.2026)

Stabilita a nepretržitá dostupnosť vašich webov je pre nás kľúčová. Aby sme tento štandard nielen udržali, ale neustále zvyšovali, naši p...

Čítať viac

Podpora klientom

Máte ďalšie otázky?

Nezúfajte, pripravili sme pre Vás jednoduché odpovede na najdôležitejšie otázky, ktoré od našich klientov dostávame.

Zistiť viac

Naše výhody

Prečo si nás vybrať?

Našim klientom ponúkame až 30-dňovú záruku vrátenia peňazí.

Sme skutočný slovenský webhosting

Slovenská
firma

Nepatríme pod žiadnu nadnárodnú spoločnosť, sme malá rodinná firma.

Na nás sa môžete kedykoľvek spoľahnúť

Dlhoročné
skúsenosti

Na slovenskom trhu pôsobíme už viac ako 20 rokov, sme overená značka.

Naši prví zákazníci sú stále s nami

Spokojní
zákazníci

Naši zákazníci sú ako naša rodina, preto nám verí už viac ako 1250 klientov.

Maximálna bezpečnosť

Maximálna
bezpečnosť

Chránime Vás pred útokmi i SPAMom. U nás sú Vaše dáta v bezpečí.

Prozákaznícka podpora

Ochotná
podpora

Zakladáme si na individuálnom prístupe, preto Vám vždy radi pomôžeme.

Kvalita a dobrá cena

Férová
cena

Cena pri obnove je rovnaká ako pri objednávke. Nezdražujeme po prvom roku a bez skrytých poplatkov.

U nás sa Vám nič nestratí

Pravidelné
zálohovanie

Vaše dáta zálohujeme každý deň, dostupné sú aj zálohy z pred niekoľkých mesiacov.

Svižný Admin Panel nájdete len u nás

Prehľadný
Admin Panel

Máme rýchly a prehľadný Admin Panel, ktorý zvládne používať naozaj každý.

Správa používateľov

Správa
používateľov

Spravujte svoje projekty bez akýchkoľvek obáv s kolegami alebo externými partnermi.

Máme zľavy pre verných klientov

Vernostné
zľavy

Verní klienti u nás automaticky získavajú 15 % zľavu na každú ďalšiu objednávku.

My Vás nebudeme obmedzovať

Bez
obmedzení

Neobmedzujeme počet databáz, e-mailov, ftp a ani prenos dát.

Hosting pre WordPress

WordPress
na 1 klik

Nainštalujte si obľúbené redakčné systémy rýchlo a jednoducho.

Referencie

Spokojní zákazníci

Pozrite sa, čo o nás povedali naši klienti. Neváhajte a pridajte sa k nám ešte dnes.

Auto 100
Bystricoviny
eCall Slovakia
Filip Jančík
Frost
Merkury Broker
Mi:Su Design
Mesto Nitra
Pro Clienta
Schneider Lekáreň
Vego Marketing
Mesto Zlaté Moravce

Všetky ceny sú uvádzané bez DPH
© 2006 - 2026, Inet.sk, s. r. o., Všetky práva vyhradené

Na našej stránke používame "cookies". Vďaka nim sledujeme návštevnosť, prispôsobujeme reklamu a používateľské nastavenia, čo zlepšuje Váš zážitok z našej stránky. Súhlasíte s ich spracovaním?
Vlastné nastavenia cookies