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