1*5b501c92SAndrew Rist<!--*********************************************************** 2*5b501c92SAndrew Rist * 3*5b501c92SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*5b501c92SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*5b501c92SAndrew Rist * distributed with this work for additional information 6*5b501c92SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*5b501c92SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*5b501c92SAndrew Rist * "License"); you may not use this file except in compliance 9*5b501c92SAndrew Rist * with the License. You may obtain a copy of the License at 10*5b501c92SAndrew Rist * 11*5b501c92SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*5b501c92SAndrew Rist * 13*5b501c92SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*5b501c92SAndrew Rist * software distributed under the License is distributed on an 15*5b501c92SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*5b501c92SAndrew Rist * KIND, either express or implied. See the License for the 17*5b501c92SAndrew Rist * specific language governing permissions and limitations 18*5b501c92SAndrew Rist * under the License. 19*5b501c92SAndrew Rist * 20*5b501c92SAndrew Rist ***********************************************************--> 21cdf0e10cSrcweir<HTML> 22cdf0e10cSrcweir<HEAD> 23cdf0e10cSrcweir<META NAME="GENERATOR" Content="Microsoft Developer Studio"> 24cdf0e10cSrcweir<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1"> 25cdf0e10cSrcweir<TITLE>Document Title</TITLE> 26cdf0e10cSrcweir</HEAD> 27cdf0e10cSrcweir<BODY id=theBody> 28cdf0e10cSrcweir 29cdf0e10cSrcweir<script language="JScript"> 30cdf0e10cSrcweirfunction Main( id) 31cdf0e10cSrcweir{ 32cdf0e10cSrcweirvar objServiceManager= new ActiveXObject("com.sun.star.ServiceManager"); 33cdf0e10cSrcweir 34cdf0e10cSrcweirvar objDesktop= objServiceManager.createInstance("com.sun.star.frame.Desktop"); 35cdf0e10cSrcweir 36cdf0e10cSrcweirvar args= new Array(); 37cdf0e10cSrcweir 38cdf0e10cSrcweirvar objDocument= objDesktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, args); 39cdf0e10cSrcweir 40cdf0e10cSrcweirvar listener; 41cdf0e10cSrcweirif( id == 0) 42cdf0e10cSrcweir listener= new XEventListener_Impl(); 43cdf0e10cSrcweirelse if(id == 1) 44cdf0e10cSrcweir listener= new ActiveXObject("EventListener.EvtListener"); 45cdf0e10cSrcweirobjDocument.addEventListener( listener); 46cdf0e10cSrcweir} 47cdf0e10cSrcweir 48cdf0e10cSrcweir 49cdf0e10cSrcweirfunction XEventListener_Impl() 50cdf0e10cSrcweir{ 51cdf0e10cSrcweir this._environment= "JScript"; 52cdf0e10cSrcweir this._implementedInterfaces= new Array( "com.sun.star.lang.XEventListener"); 53cdf0e10cSrcweir 54cdf0e10cSrcweir //XEventListener 55cdf0e10cSrcweir this.disposing= XEventListener_disposing; 56cdf0e10cSrcweir} 57cdf0e10cSrcweir 58cdf0e10cSrcweirfunction XEventListener_disposing( source) 59cdf0e10cSrcweir{ 60cdf0e10cSrcweir alert("JScript Event Listener \n The document was closed"); 61cdf0e10cSrcweir} 62cdf0e10cSrcweir</script> 63cdf0e10cSrcweir 64cdf0e10cSrcweir<script language="VBScript"> 65cdf0e10cSrcweirSUB MainVB( id) 66cdf0e10cSrcweirSet objServiceManager= CreateObject("com.sun.star.ServiceManager") 67cdf0e10cSrcweir 68cdf0e10cSrcweirSet objCoreReflection= objServiceManager.createInstance("com.sun.star.reflection.CoreReflection") 69cdf0e10cSrcweir 70cdf0e10cSrcweirSet objDesktop= objServiceManager.createInstance("com.sun.star.frame.Desktop") 71cdf0e10cSrcweir 72cdf0e10cSrcweir'Open a new empty writer document 73cdf0e10cSrcweirDim args() 74cdf0e10cSrcweirSet objDocument= objDesktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, args) 75cdf0e10cSrcweir 76cdf0e10cSrcweirDim eventListener 77cdf0e10cSrcweirselect case id 78cdf0e10cSrcweir case 0 79cdf0e10cSrcweir Set eventListener= CreateObject("EventListener.EvtListener") 80cdf0e10cSrcweir case 1 81cdf0e10cSrcweir Set eventListener= CreateObject("VBasicEventListener.VBEventListener") 82cdf0e10cSrcweirend select 83cdf0e10cSrcweir 84cdf0e10cSrcweirobjDocument.addEventListener eventlistener 85cdf0e10cSrcweirEND SUB 86cdf0e10cSrcweir 87cdf0e10cSrcweir</script> 88cdf0e10cSrcweir<p> 89cdf0e10cSrcweirThe script on this page creates a new StarOffice document and connects an event listener 90cdf0e10cSrcweirto it. When the document is closed then the XEventListener::disposing method is called on the 91cdf0e10cSrcweirlistener object. How the listener is set up depends on the button being clicked. 92cdf0e10cSrcweir</p> 93cdf0e10cSrcweir<p> 94cdf0e10cSrcweirThe button will run JScript code that and adds an JScript event listener to the document. 95cdf0e10cSrcweirThe listener is also implemented in JScript an is on this page.. 96cdf0e10cSrcweir</p> 97cdf0e10cSrcweir<button onclick='Main(0)'>JScript go</Button> 98cdf0e10cSrcweir<p> 99cdf0e10cSrcweir 100cdf0e10cSrcweirThe button runs JScript code that creates the ActiveX component EventListener.EvtListener that 101cdf0e10cSrcweiris written in C++ and housed in a dll. Then the event listener is added to the document. 102cdf0e10cSrcweir</p> 103cdf0e10cSrcweir<button onclick='Main( 1)'>JScript go</Button> 104cdf0e10cSrcweir<p> 105cdf0e10cSrcweirThe button runs VBScript code that creates the components EventListener.EvtListener and adds it 106cdf0e10cSrcweirto the document. 107cdf0e10cSrcweir</p> 108cdf0e10cSrcweir<button onclick='MainVB(0)'>VBScript</Button> 109cdf0e10cSrcweir<p> 110cdf0e10cSrcweirRuns VBScript code that creates VBasicEventListener.VBEventListener ActiveX component which was 111cdf0e10cSrcweirwritten with VB 112cdf0e10cSrcweir</p> 113cdf0e10cSrcweir<button onclick='MainVB(1)'>VBScript</Button> 114cdf0e10cSrcweir 115cdf0e10cSrcweir</body> 116cdf0e10cSrcweir</html> 117cdf0e10cSrcweir 118cdf0e10cSrcweir 119