forked from amazingfate/loongoffice
linecap: Reintegrating finished LineCap feature
Patch contributed by Regina Henschel
http://svn.apache.org/viewvc?view=revision&revision=1232507
Patches contributed by Sven Jacobi
impress212: #i81610# fixed animation export
http://svn.apache.org/viewvc?view=revision&revision=1167620
impress212: drawinglayer gbuild environment changes
http://svn.apache.org/viewvc?view=revision&revision=1167627
http://svn.apache.org/viewvc?view=revision&revision=1167628
impress212: DffPropSet -> minor code improvements, removing table
http://svn.apache.org/viewvc?view=revision&revision=1167634
impress212: #158494# fixed excel import (text rotation)
http://svn.apache.org/viewvc?view=revision&revision=1167638
Patches contributed by Armin Le Grand
Svg: Reintegrated Svg replacement from /branches/alg/svgreplavement
http://svn.apache.org/viewvc?view=revision&revision=1220836
#118728# changed indentifying definitions for Svg file detection
http://svn.apache.org/viewvc?view=revision&revision=1229961
#118838# LineGeometry creation for complicated cases optimized to
create single Polygons
http://svn.apache.org/viewvc?view=revision&revision=1236232
#119176# corrected file type detection for SVG for svg files
without xml header
http://svn.apache.org/viewvc?view=revision&revision=1309445
#118728# Extended Svg file detection
http://svn.apache.org/viewvc?view=revision&revision=1230531
#118529# solve break converters and convert commands for OLEs and images
http://svn.apache.org/viewvc?view=revision&revision=1186168
svg: added WaE changes from branch svgreplacement to trunc
http://svn.apache.org/viewvc?view=revision&revision=1222974
svg: corrected missing member initialization
http://svn.apache.org/viewvc?view=revision&revision=1226134
fix for #118525#: Using primitives for chart sub-geometry visualisation
http://svn.apache.org/viewvc?view=revision&revision=1226879
#118898# Adapted ImpGraphic::ImplGetBitmap to correctly convert
metafiles to bitmapEx ...
http://svn.apache.org/viewvc?view=revision&revision=1293316
fix for #118525#: removed no longer used variable maOriginalMapMode, one
more exception eliminated
http://svn.apache.org/viewvc?view=revision&revision=1227097
#16758# Added buffering to the VDev usages of the VclProcessor2D derivates...
http://svn.apache.org/viewvc?view=revision&revision=1229521
#116758# Secured VDev buffer device to Vcl deinit
http://svn.apache.org/viewvc?view=revision&revision=1230574
#116758# added remembering allocated VDevs for VDevBuffer to be able to also
delete these when vcl goes down; it should never happen, but You never know
http://svn.apache.org/viewvc?view=revision&revision=1230927
#118730# Changed SvgClipPathNode to use MaskPrimitive2D for primitive
representation instead of TransparencePrimitive2D
http://svn.apache.org/viewvc?view=revision&revision=1231198
#118822# secured 3D geometry creation (slices) by subdividing the 2D
source polyPolygon early
http://svn.apache.org/viewvc?view=revision&revision=1234749
#118829# enhanced Svg gradient quality, obstacles avoided
http://svn.apache.org/viewvc?view=revision&revision=1235361
#118834# Unified usage of TextBreakupHelper as single tooling class
for i18n text primitive breakup
http://svn.apache.org/viewvc?view=revision&revision=1236110
#118853# added square pixel size limit to conversion of
TransparencePrimitive2D to Metafile action
http://svn.apache.org/viewvc?view=revision&revision=1237656
#118824# coreccted mirroring and boundrect when the graphicmanager
is used for bitmap output
http://svn.apache.org/viewvc?view=revision&revision=1240097
#115092# Corrected VclProcessor2D::RenderPolygonStrokePrimitive2D for
various optimization scenarios
http://svn.apache.org/viewvc?view=revision&revision=1241434
#118783# Corrected errors in ID strings, corrected Svg line/fill export,
corrected polygon close state
http://svn.apache.org/viewvc?view=revision&revision=1232006
#118796# corrected null-pointer usage in SVG text exporter
http://svn.apache.org/viewvc?view=revision&revision=1240262
#118729# Use GraphicStreamUrl and GraphicUrl to allow multi image
import with linked graphics, too
http://svn.apache.org/viewvc?view=revision&revision=1229962
#118898# corrected error in GDIMetaFile::GetBoundRect in handling
MetaFloatTransparentAction
http://svn.apache.org/viewvc?view=revision&revision=1293349
#118855# Corrected handling of possibly created empty clipRegions
after PolyPolygon clipping
http://svn.apache.org/viewvc?view=revision&revision=1237725
#115962# Better (but not yet optimal, see comments in task) handling
of MetaFloatTransparentAction in PDF export
http://svn.apache.org/viewvc?view=revision&revision=1241078
IP clearance: #118466# This patch removes librsvg, libcroco, libgsf, ...
http://svn.apache.org/viewvc?view=revision&revision=1200879
118779# Added svg content streaming in/out to ImpGraphic stream operators
http://svn.apache.org/viewvc?view=revision&revision=1231908
linecap: correctons for WaE and mac drawing
http://svn.apache.org/viewvc?view=revision&revision=1232793
svg: uses current system Dpi for Svg replacement image creation
http://svn.apache.org/viewvc?view=revision&revision=1233948
Patches contributed by Mathias Bauer (and others)
gnumake4 work variously
http://svn.apache.org/viewvc?view=revision&revision=1394326
http://svn.apache.org/viewvc?view=revision&revision=1396797
http://svn.apache.org/viewvc?view=revision&revision=1397315
http://svn.apache.org/viewvc?view=revision&revision=1394326
Remove duplicate header includes.
cws mba34issues01: #i117720#: convert assertion into warning
http://svn.apache.org/viewvc?view=revision&revision=1172352
118485 - Styles for OLEs are not saved. Submitted by Armin Le Grand.
http://svn.apache.org/viewvc?view=revision&revision=1182166
cws mba34issues01: #i117714#: remove assertion
http://svn.apache.org/viewvc?view=revision&revision=1172357
Patch contributed by Jurgen Schmidt
add some additional checks to ensure proper reading operations
http://svn.apache.org/viewvc?view=revision&revision=1209022
mostly prefer our stream / bounds checking work.
Patches contributed by Herbert Duerr
#i118816# add clarifying comment regarding Font::*Color*() methods
http://svn.apache.org/viewvc?view=revision&revision=1233833
extend macro->string handling for empty strings
http://svn.apache.org/viewvc?view=revision&revision=1175801
avoid magic constants for SALCOLOR_NONE
http://svn.apache.org/viewvc?view=revision&revision=1177543
initialize slant properly in ImplFontMetricData constructor (author=iorsh)
http://svn.apache.org/viewvc?view=revision&revision=1177551
#i118675# make check for extension updates more stable
http://svn.apache.org/viewvc?view=revision&revision=1214797
#a118617# remove VBasicEventListener.dll binary
There are no known users depending on its CLSID
http://svn.apache.org/viewvc?view=revision&revision=1203697
Patches contributed by Ariel Constenla-Haile
Fix build breaker on Linux/gcc
http://svn.apache.org/viewvc?view=revision&revision=1221104
Fix crash when trying to instantiate css.graphic.GraphicRasterizer_RSVG
http://svn.apache.org/viewvc?view=revision&revision=1215559
Patches contributed by Oliver-Rainer Wittmann
sw34bf06: #i117962# - method <SwFlyFrm::IsPaint(..)> - consider
instances of <SwFlyDrawObj>
http://svn.apache.org/viewvc?view=revision&revision=1172120
sw34bf06: #i117783# - Writer's implementation of XPagePrintable -
apply print settings to new printing routines
http://svn.apache.org/viewvc?view=revision&revision=1172115
gnumake4 work variously from Hans-Joachim Lankenau
http://svn.apache.org/viewvc?view=revision&revision=1397315
http://svn.apache.org/viewvc?view=revision&revision=1396797
http://svn.apache.org/viewvc?view=revision&revision=1396782
http://svn.apache.org/viewvc?view=revision&revision=1394707
plus some amount of re-splitting of legacy headers.
Patch contributed by Pavel Janik
WaE: Remove unused variables.
http://svn.apache.org/viewvc?view=revision&revision=1230697
Patches contributed by Takashi Ono
mingwport35: i#117795: MinGW port fix for vcl2gnumake
http://svn.apache.org/viewvc?view=revision&revision=1172091
mingwport35: i#117795: MinGW port fix for vcl2gnumake
http://svn.apache.org/viewvc?view=revision&revision=1172091
Patch contributed by Christian Lippka
impress212: #i98044# re enable Text menu for outline and title shapes
http://svn.apache.org/viewvc?view=revision&revision=1167639
Patch contributed by Andre Fischer
118674: Made category B code optional and disabled by default.
http://svn.apache.org/viewvc?view=revision&revision=1215131
118881: Ignore empty paragraphs after bullets.
http://svn.apache.org/viewvc?view=revision&revision=1296205
Patches contributed by Philipp Lohmann
ooo340fixes: #i117780# use rtl allocator
http://svn.apache.org/viewvc?view=revision&revision=1172087
ooo34gsl02: #i117807# fix an off by one error (index actually
inside the pfb section header)
http://svn.apache.org/viewvc?view=revision&revision=1167576
various cleanups, related compilation fixes, warning cleanups, re-working
of obsolete stl template pieces to use boost instead, changed string
classes, re-adapt KDE about data, about dialog, fixing warnings,
and other fixes & improvements.
Disable svg import / render for about/ branding code-paths for now.
Restore full icon theme set.
Remove OS/2 conditionals and sources.
Remove conflicting gtk/full-screen monitors support.
Retain existing svg rasterizer files - temporarily disabled.
Standardize stringificaiton and fixup dllpostfix issues.
Rename SvgGradientHelper::== to equalTo to avoid overloading issues.
Use the flat GdiPlus API for LineCaps calls.
553 lines
16 KiB
HTML
553 lines
16 KiB
HTML
<!--
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
* with this work for additional information regarding copyright
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
-->
|
|
<HTML>
|
|
<HEAD>
|
|
<META NAME="GENERATOR" Content="Microsoft Developer Studio">
|
|
<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<TITLE>Document Title</TITLE>
|
|
</HEAD>
|
|
<BODY id=theBody>
|
|
|
|
<script language="JScript">
|
|
function callOleTest( id)
|
|
{
|
|
var factory= new ActiveXObject("com.sun.star.ServiceManager");
|
|
var oletest= factory.createInstance("oletest.OleTest");
|
|
// alert(oletest);
|
|
|
|
switch( id)
|
|
{
|
|
case 1: // Test simple call of JScript object function from UNO
|
|
oletest.testInterface( new XCallback_Impl, 1);
|
|
break;
|
|
|
|
case 2:
|
|
// return value is the parameter object
|
|
oletest.testInterface( new XCallback_Impl, 2);
|
|
break;
|
|
//##################################################
|
|
// OUT parameter
|
|
//##################################################
|
|
case 3: // Test out parameter of type interface
|
|
oletest.testInterface( new XCallback_Impl, 3);
|
|
break;
|
|
case 4: // Test out parameter of type struct
|
|
oletest.testInterface( new XCallback_Impl, 4);
|
|
break;
|
|
case 5: // Test out parameter of type enum
|
|
oletest.testInterface( new XCallback_Impl, 5);
|
|
break;
|
|
case 6: // Test out parameter of type sequence<any>
|
|
oletest.testInterface( new XCallback_Impl, 6);
|
|
break;
|
|
case 7: // Test out parameter of type any
|
|
oletest.testInterface( new XCallback_Impl, 7);
|
|
break;
|
|
case 8: // Test out parameter of type bool
|
|
oletest.testInterface( new XCallback_Impl, 8);
|
|
break;
|
|
case 9: // Test out parameter of type char
|
|
oletest.testInterface( new XCallback_Impl, 9);
|
|
break;
|
|
case 10: // Test out parameter of type string
|
|
oletest.testInterface( new XCallback_Impl, 10);
|
|
break;
|
|
case 11: // Test out parameter of type float
|
|
oletest.testInterface( new XCallback_Impl, 11);
|
|
break;
|
|
case 12: // Test out parameter of type double
|
|
oletest.testInterface( new XCallback_Impl, 12);
|
|
break;
|
|
case 13: // Test out parameter of type byte
|
|
oletest.testInterface( new XCallback_Impl, 13);
|
|
break;
|
|
case 14: // Test out parameter of type short
|
|
oletest.testInterface( new XCallback_Impl, 14);
|
|
break;
|
|
case 15: // Test out parameter of type long
|
|
oletest.testInterface( new XCallback_Impl, 15);
|
|
break;
|
|
case 30: // outValuesMixed
|
|
oletest.testInterface( new XCallback_Impl, 30);
|
|
break;
|
|
case 31: // outValuesAll
|
|
oletest.testInterface( new XCallback_Impl, 31);
|
|
break;
|
|
//##################################################
|
|
// IN/OUT parameter
|
|
//##################################################
|
|
|
|
case 100: // inoutInterface
|
|
oletest.testInterface( new XCallback_Impl, 100);
|
|
break;
|
|
case 101: // inoutStruct
|
|
oletest.testInterface( new XCallback_Impl, 101);
|
|
break;
|
|
case 102: // inoutEnum
|
|
oletest.testInterface( new XCallback_Impl, 102);
|
|
break;
|
|
case 103: // inoutSeqAny
|
|
oletest.testInterface( new XCallback_Impl, 103);
|
|
break;
|
|
case 104: // inoutAny
|
|
oletest.testInterface( new XCallback_Impl, 104);
|
|
break;
|
|
case 105: // inoutBool
|
|
oletest.testInterface( new XCallback_Impl, 105);
|
|
break;
|
|
case 106: // inoutChar
|
|
oletest.testInterface( new XCallback_Impl, 106);
|
|
break;
|
|
case 107: // inoutString
|
|
oletest.testInterface( new XCallback_Impl, 107);
|
|
break;
|
|
case 108: // inoutFloat
|
|
oletest.testInterface( new XCallback_Impl, 108);
|
|
break;
|
|
case 109: // inoutDouble
|
|
oletest.testInterface( new XCallback_Impl, 109);
|
|
break;
|
|
case 110: // inoutByte
|
|
oletest.testInterface( new XCallback_Impl, 110);
|
|
break;
|
|
case 111: // inoutShort
|
|
oletest.testInterface( new XCallback_Impl, 111);
|
|
break;
|
|
case 112: // inoutLong
|
|
oletest.testInterface( new XCallback_Impl, 112);
|
|
break;
|
|
case 120: // inoutValuesAll
|
|
oletest.testInterface( new XCallback_Impl, 120);
|
|
break;
|
|
case 200: // inValues
|
|
oletest.testInterface( new XCallback_Impl, 200);
|
|
break;
|
|
|
|
// Call a COM object that has not been passed as parameter to a UNO component and
|
|
// hence no type information are available in the COM wrapper
|
|
// case 300:
|
|
//##################################################
|
|
// Attributes
|
|
//##################################################
|
|
case 400:
|
|
oletest.testInterface( new XCallback_Impl, 400);
|
|
break;
|
|
|
|
case 1000:
|
|
oletest.testInterface2(new MultiInterface(), 0);
|
|
break;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// The class --------------------------------------------
|
|
|
|
function XCallback_Impl()
|
|
{
|
|
// XCallback
|
|
this._environment= "JScript";
|
|
|
|
this.func1= XCallback_Impl_func1;
|
|
this.returnInterface= XCallback_Impl_returnInterface;
|
|
// #################################################
|
|
// OUT parameter
|
|
//###################################################
|
|
this.outInterface= XCallback_Impl_outInterface;
|
|
this.outStruct= XCallback_Impl_outStruct;
|
|
this.outEnum= XCallback_Impl_outEnum;
|
|
this.outSeqAny= XCallback_Impl_outSeqAny;
|
|
this.outAny= XCallback_Impl_outAny;
|
|
this.outBool= XCallback_Impl_outBool;
|
|
this.outChar= XCallback_Impl_outChar;
|
|
this.outString= XCallback_Impl_outString;
|
|
this.outFloat= XCallback_Impl_outFloat;
|
|
this.outDouble= XCallback_Impl_outDouble;
|
|
this.outByte= XCallback_Impl_outByte;
|
|
this.outShort= XCallback_Impl_outShort;
|
|
this.outLong= XCallback_Impl_outLong;
|
|
this.outValuesMixed= XCallback_Impl_outValuesMixed;
|
|
this.outValuesAll= XCallback_Impl_outValuesAll;
|
|
// #################################################
|
|
// IN/ OUT parameter
|
|
//###################################################
|
|
this.inoutInterface= XCallback_Impl_inoutInterface;
|
|
this.inoutStruct= XCallback_Impl_inoutStruct;
|
|
this.inoutEnum= XCallback_Impl_inoutEnum;
|
|
this.inoutSeqAny= XCallback_Impl_inoutSeqAny;
|
|
this.inoutAny= XCallback_Impl_inoutAny;
|
|
this.inoutBool= XCallback_Impl_inoutBool;
|
|
this.inoutChar= XCallback_Impl_inoutChar;
|
|
this.inoutString= XCallback_Impl_inoutString;
|
|
this.inoutFloat= XCallback_Impl_inoutFloat;
|
|
this.inoutDouble= XCallback_Impl_inoutDouble;
|
|
this.inoutByte= XCallback_Impl_inoutByte;
|
|
this.inoutShort= XCallback_Impl_inoutShort;
|
|
this.inoutLong= XCallback_Impl_inoutLong;
|
|
this.inoutValuesAll= XCallback_Impl_inoutValuesAll;
|
|
// #################################################
|
|
// IN parameter
|
|
//##################################################
|
|
this.inValues= XCallback_Impl_inValues;
|
|
|
|
// #################################################
|
|
// Attributes
|
|
//##################################################
|
|
this.simple= new XSimple_Impl();
|
|
|
|
|
|
}
|
|
|
|
|
|
function XCallback_Impl_func1()
|
|
{
|
|
alert("XCallback_Impl_func1");
|
|
}
|
|
function XCallback_Impl_returnInterface()
|
|
{
|
|
alert("XCallback::returnInterface called");
|
|
return new XSimple_Impl();
|
|
}
|
|
|
|
function XCallback_Impl_outInterface( outVal)
|
|
{
|
|
outVal[0]= new XSimple_Impl();
|
|
}
|
|
|
|
function XCallback_Impl_outLong( outVal)
|
|
{
|
|
alert("outLong");
|
|
}
|
|
function XCallback_Impl_outStruct( outVal)
|
|
{
|
|
var factory= new ActiveXObject("com.sun.star.ServiceManager");
|
|
var starCoreReflection = factory.createInstance("com.sun.star.reflection.CoreReflection");
|
|
var structClass = starCoreReflection.forName("oletest.SimpleStruct");
|
|
var outParam= new Array();
|
|
structClass.createObject(outParam);
|
|
var aStruct= outParam[0];
|
|
aStruct.message= "a Struct created in JScript";
|
|
outVal[0]= aStruct;
|
|
|
|
}
|
|
function XCallback_Impl_outEnum( outVal)
|
|
{
|
|
outVal[0]= 2;
|
|
}
|
|
function XCallback_Impl_outSeqAny( outVal)
|
|
{
|
|
var ar= new Array(1,2,3);
|
|
outVal[0]= ar;
|
|
}
|
|
function XCallback_Impl_outAny( outVal)
|
|
{
|
|
outVal[0]= "this is an Any";
|
|
}
|
|
function XCallback_Impl_outBool( outVal)
|
|
{
|
|
outVal[0]= true;
|
|
}
|
|
function XCallback_Impl_outChar( outVal)
|
|
{
|
|
outVal[0]= "a";
|
|
}
|
|
function XCallback_Impl_outString( outVal)
|
|
{
|
|
outVal[0]= "This string was created in JScript";
|
|
}
|
|
function XCallback_Impl_outFloat( outVal)
|
|
{
|
|
outVal[0]= 3.14;
|
|
}
|
|
function XCallback_Impl_outDouble( outVal)
|
|
{
|
|
outVal[0]= 3.145;
|
|
}
|
|
function XCallback_Impl_outByte( outVal)
|
|
{
|
|
outVal[0]= 100;
|
|
}
|
|
function XCallback_Impl_outShort( outVal)
|
|
{
|
|
outVal[0]= 1000;
|
|
}
|
|
function XCallback_Impl_outLong( outVal)
|
|
{
|
|
outVal[0]= 1000000;
|
|
}
|
|
function XCallback_Impl_outValuesMixed( inLong, outLong, inString)
|
|
{
|
|
alert("inVal long: " + inLong +" inString:" + inString);
|
|
outLong[0]= inLong + 1;
|
|
}
|
|
function XCallback_Impl_outValuesAll( xSimple, aSimpleStruct, aSimpleEnum, seqAny, aAny, aBool,
|
|
aChar, aString, aFloat, aDouble, aByte, aShort, aLong)
|
|
{
|
|
this.outInterface( xSimple);
|
|
this.outStruct( aSimpleStruct);
|
|
this.outEnum( aSimpleEnum);
|
|
this.outSeqAny( seqAny);
|
|
this.outAny( aAny);
|
|
this.outBool( aBool);
|
|
this.outChar( aChar);
|
|
this.outString( aString);
|
|
this.outFloat( aFloat);
|
|
this.outDouble( aDouble);
|
|
this.outByte( aByte);
|
|
this.outShort( aShort);
|
|
this.outLong( aLong);
|
|
}
|
|
|
|
function XCallback_Impl_inoutInterface( val)
|
|
{
|
|
val[0].func("calling on in parameter");
|
|
val[0]= new XSimple_Impl();
|
|
}
|
|
function XCallback_Impl_inoutStruct( val)
|
|
{
|
|
alert( val[0].message);
|
|
val[0].message= "property message changed in JScript";
|
|
}
|
|
function XCallback_Impl_inoutEnum(val)
|
|
{
|
|
alert("enum value +" + val);
|
|
val[0]= 2;
|
|
}
|
|
function XCallback_Impl_inoutSeqAny( val)
|
|
{
|
|
var vbar = new VBArray(val[0]);
|
|
var seq= vbar.toArray();
|
|
alert( seq[0] +" "+seq[1] +" " +seq[2]);
|
|
val[0]= new Array("jscript1", "jscript2","jscript3");
|
|
}
|
|
function XCallback_Impl_inoutAny(val)
|
|
{
|
|
alert( "JScript in any: " + val[0]);
|
|
val[0]= "a string from JScript";
|
|
}
|
|
function XCallback_Impl_inoutBool(val)
|
|
{
|
|
alert( "JScript in bool: " + val[0]);
|
|
val[0]= true;
|
|
}
|
|
function XCallback_Impl_inoutChar(val)
|
|
{
|
|
alert( "JScript in char: " + val[0]);
|
|
val[0]= 'b';
|
|
}
|
|
function XCallback_Impl_inoutString(val)
|
|
{
|
|
alert( "JScript in string: " + val[0]);
|
|
val[0]= " a JScript string";
|
|
}
|
|
function XCallback_Impl_inoutFloat(val)
|
|
{
|
|
alert( "JScript in float: " + val[0]);
|
|
val[0]= 4.14;
|
|
}
|
|
function XCallback_Impl_inoutDouble(val)
|
|
{
|
|
alert( "JScript in double: " + val[0]);
|
|
val[0]= 4.145;
|
|
}
|
|
|
|
function XCallback_Impl_inoutByte(val)
|
|
{
|
|
alert( "JScript in byte: " + val[0]);
|
|
val[0]= 100;
|
|
}
|
|
function XCallback_Impl_inoutShort(val)
|
|
{
|
|
alert( "JScript in short: " + val[0]);
|
|
val[0]= 1000;
|
|
}
|
|
function XCallback_Impl_inoutLong(val)
|
|
{
|
|
alert( "JScript in long: " + val[0]);
|
|
val[0]= 100000;
|
|
}
|
|
function XCallback_Impl_inoutValuesAll(aXSimple, aStruct, aEnum, aSeq,
|
|
aAny, aBool, aChar, aString, aFloat, aDouble,
|
|
aByte, aShort, aLong )
|
|
{
|
|
this.inoutInterface( aXSimple);
|
|
this.inoutStruct( aStruct);
|
|
this.inoutEnum( aEnum);
|
|
this.inoutSeqAny( aSeq);
|
|
this.inoutAny( aAny);
|
|
this.inoutBool( aBool);
|
|
this.inoutChar( aChar);
|
|
this.inoutString( aString);
|
|
this.inoutFloat( aFloat);
|
|
this.inoutDouble( aDouble);
|
|
this.inoutByte( aByte);
|
|
this.inoutShort( aShort);
|
|
this.inoutLong( aLong);
|
|
}
|
|
|
|
function XCallback_Impl_inValues( aChar, aLong, aString)
|
|
{
|
|
alert( "char : " + aChar + " long: " + aLong + " string: " + aString);
|
|
}
|
|
|
|
|
|
//################################################################
|
|
// class MultiInterface implements XSimple, XSimple2, XSimple3
|
|
//################################################################
|
|
function MultiInterface()
|
|
{
|
|
this._environment= "JScript";
|
|
this._implementedInterfaces= new Array( "oletest.XSimple", "oletest.XSimple2", "oletest.XSimple3");
|
|
// XSimple ---------------
|
|
this.getName= MultiInterface_getName;
|
|
this.func= MultiInterface_func;
|
|
this.func2= MultiInterface_func2;
|
|
this.func3= MultiInterface_func3;
|
|
// XSimple2
|
|
this.getName2= MultiInterface_getName2;
|
|
// XSimple3
|
|
this.getName3= MultiInterface_getName3;
|
|
}
|
|
|
|
|
|
function MultiInterface_getName()
|
|
{
|
|
return "JScript XSimple called";
|
|
}
|
|
function MultiInterface_func( message)
|
|
{
|
|
alert("JScript object (XSimple)-- " + message);
|
|
}
|
|
|
|
function MultiInterface_getName2()
|
|
{
|
|
return "JScript XSimple2 called";
|
|
}
|
|
function MultiInterface_func2( message)
|
|
{
|
|
alert("JScript object (XSimple2) -- " + message);
|
|
}
|
|
|
|
function MultiInterface_getName3()
|
|
{
|
|
return "JScript XSimple3 called";
|
|
}
|
|
function MultiInterface_func3( message)
|
|
{
|
|
alert("JScript object (XSimple3) -- " + message);
|
|
}
|
|
|
|
|
|
|
|
|
|
//XCallback_Impl_outValuesMixed( val1, outval, val2)
|
|
//{
|
|
//}
|
|
//XCallback_Impl_outValuesAll( xSimple, aSimpleStruct, aSimpleEnum, seqAny, aAny, aBool,
|
|
// aChar, aString, aFloat, aDouble, aByte, aShort, aLong, aUShort, aULong)
|
|
//{
|
|
//
|
|
//}
|
|
|
|
|
|
|
|
// class XSimple_Impl----------------------------------------------------------------------
|
|
function XSimple_Impl()
|
|
{
|
|
//XSimple
|
|
this.func= XSimple_Impl_func;
|
|
}
|
|
function XSimple_Impl_func( message)
|
|
{
|
|
alert( "XSimple called." + message);
|
|
}
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<h2> Object in JScript</h2>
|
|
|
|
This test passes a XCallback to an UNO function of the UNO test control.
|
|
XCallback is implemented by the JScript class XCallback_Impl. The function
|
|
XCallback::func1 is then called from the UNO test control.
|
|
<br>
|
|
<button onclick='callOleTest( 1)'>go</Button>
|
|
<br>
|
|
On the UNO object the function testInterface is called which takes
|
|
a XCallback as parameter. XCallback is implemented in a JScript object.The function
|
|
returns a XSimple Interface. Then the UNO object calls XSimple::notify. This test shall
|
|
verify the correct conversion of the return value( IDispatch JScript object) to an XSimple object.<br>
|
|
<button onclick='callOleTest( 2)'>go</Button>
|
|
<br>
|
|
<h1> out parameter </h1>
|
|
The a JScript object of class XCallback_Impl is passed to the UNO OleTest Control as parameter.
|
|
According to the buttons the OleTest object calls a function on XCallback_Impl that has appropriate type
|
|
as out parameter.<br>
|
|
<button onclick='callOleTest( 3)'>interface</Button>
|
|
<button onclick='callOleTest( 4)'>struct</Button>
|
|
<button onclick='callOleTest( 5)'>enum</Button>
|
|
<button onclick='callOleTest( 6)'>sequence<any></Button>
|
|
<button onclick='callOleTest( 7)'>any</Button>
|
|
<button onclick='callOleTest( 8)'>bool</Button>
|
|
<button onclick='callOleTest( 9)'>char</Button>
|
|
<button onclick='callOleTest( 10)'>string</Button>
|
|
<button onclick='callOleTest( 11)'>float</Button>
|
|
<button onclick='callOleTest( 12)'>double</Button>
|
|
<button onclick='callOleTest( 13)'>byte</Button>
|
|
<button onclick='callOleTest( 14)'>short</Button>
|
|
<button onclick='callOleTest( 15)'>long</Button>
|
|
<br>
|
|
Other test with out parameters <br>
|
|
<button onclick='callOleTest( 30)'>outValuesMixed</Button>
|
|
<button onclick='callOleTest( 31)'>outValuesAll</Button>
|
|
<h1> in out parameter </h1>
|
|
<button onclick='callOleTest( 100)'>interface</Button>
|
|
<button onclick='callOleTest( 101)'>struct</Button>
|
|
<button onclick='callOleTest( 102)'>enum</Button>
|
|
<button onclick='callOleTest( 103)'>seqence<any></Button>
|
|
<button onclick='callOleTest( 104)'>any</Button>
|
|
<button onclick='callOleTest( 105)'>bool</Button>
|
|
<button onclick='callOleTest( 106)'>char</Button>
|
|
<button onclick='callOleTest( 107)'>string</Button>
|
|
<button onclick='callOleTest( 108)'>float</Button>
|
|
<button onclick='callOleTest( 109)'>double</Button>
|
|
<button onclick='callOleTest( 110)'>byte</Button>
|
|
<button onclick='callOleTest( 111)'>short</Button>
|
|
<button onclick='callOleTest( 112)'>long</Button>
|
|
<br>
|
|
<h1> Attributes </h1>
|
|
<button onclick='callOleTest( 400)'>getting XSimple</Button>
|
|
<br>
|
|
|
|
Other tests with inout parameters <br>
|
|
<button onclick='callOleTest( 120)'>inoutValuesAll</Button>
|
|
<h1>in parameters </h1>
|
|
<button onclick='callOleTest( 200)'>inValues</Button>
|
|
|
|
<h1> JScript object implements several interfaces </h1>
|
|
<button onclick='callOleTest( 1000)'>go</Button>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|