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 )

Example:

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.


Please support us!