CreateUnoListener Function

Vytvorí príklad Listeneru.

Veľa UNO rozhraní vám umožní registrovať listener v špeciálnych rozhraniach. To vám dovolí počúvať špecifických udalostiach a zavolať vhodnú metódu listeneru. Funkcia CreateUnoListener čaká v zodpovedajúcom rozhraní a až potom posunie rozhranie objektu, ktorý toto rozhranie podporuje. Tento objekt bude odovzdaný metóde registrovanej listenerom.

Syntax:

oListener = CreateUnoListener( Prefixname, ListenerInterfaceName )

Príklad:

Nasledujúci príklad je založený na knižnici objektov Basic.

Dim oListener

oListener = CreateUnoListener( "ContListener_","com.sun.star.container.XContainerListener" )

Metóda CreateUnoListener vyžaduje dva parametre. Prvý je prefix a podrobnejšie je vysvetlený nižšie. Druhý parameter je plne kvalifikovaný názvom rozhrania Listener, ktoré chcete použiť.

Listener potom musíte pridať k Broadcaster Object. To urobíte zavolaním vhodnej metódy na pridanie Listeneru. Tieto metódy sa vždy volajú podľa vzoru "addFooListener", kde "Foo" predstavuje typ rozhrania Listeneru bez 'X'. V tomto príklade sa volá metóda addContainerListener na zaregistrovanie XContainerListener:

Dim oLib

oLib = BasicLibraries.Library1 ' Library1 musí  existovať!

oLib.addContainerListener( oListener ) ' Registrovať  listener

Teraz je Listener zaregistrovaný. Keď nastane udalosť, zavolá sa zodpovedajúci Listener správnou metódou z rozhrania com.sun.star.container.XContainerListener Interface.

Prefix volá registrované Listenery z podprogramov Basic. Za behu Basic hľadá procedúry alebo funkcie, ktoré majú meno "PrefixListenerMethode" a pri nájdení ich zavolá. Inak dôjde k chybe.

V tomto prípade používa rozhranie Listener nasledujúce metódy:

V tomto prípade je prefixom 'ContListener_'. V jazyku Basic je preto potrebné implementovať nasledujúce podprogramy:

Pre každý typ Listeneru existuje štruktúra udalosti, obsahujúca informácie o udalosti. Keď je volaná metóda Listeneru, príklad tejto udalosti sa odovzdá metóde ako parameter. Základné metódy Listeneru sa môžu tiež volať ako udalosti objektov, pokiaľ je deklarácii Sub odovzdaný správny parameter.

Sub ContListener_disposing( oEvent )

    MsgBox "disposing"

    MsgBox oEvent.Dbg_Properties

End Sub

 

Sub ContListener_elementInserted( oEvent )

    MsgBox "elementInserted"

    MsgBox oEvent.Dbg_Properties

End Sub

 

Sub ContListener_elementRemoved( oEvent )

    MsgBox "elementRemoved"

    MsgBox oEvent.Dbg_Properties

End Sub

 

Sub ContListener_elementReplaced( oEvent )

    MsgBox "elementReplaced"

    MsgBox oEvent.Dbg_Properties

End Sub

Pokiaľ objekt nepoužívate nemusíte pridávať jeho parameter:

' Minimálna implementácia príkazu Sub

Sub ContListener_disposing

End Sub

Warning Icon

Metódy Listeneru musíte vždy implementovať , aby ste predišli chybám Basic.