summaryrefslogtreecommitdiff
path: root/scripting/examples
diff options
context:
space:
mode:
authorRĂ¼diger Timm <rt@openoffice.org>2004-10-22 12:53:46 +0000
committerRĂ¼diger Timm <rt@openoffice.org>2004-10-22 12:53:46 +0000
commit5c31e43d0eb0564a06f256fb2f0b59bf16746e8b (patch)
tree0680017a58a46a7e140472d95013b92f7dbd51cb /scripting/examples
parent4af0fb2c66a1119398ee347208a1b643338f9859 (diff)
INTEGRATION: CWS scriptingf6 (1.2.22); FILE MERGED
2004/10/13 09:51:55 toconnor 1.2.22.4: #i30252# ensure highlight example works 2004/09/14 15:27:52 dfoster 1.2.22.3: #i30252# Fix the Highlight examples so that (a) they try to load the library if they can't get the dialog on first attempt, (b) the dialog contains bindings to the BeanShell handler code. 2004/08/03 16:12:52 dfoster 1.2.22.2: #i32502# 2004/07/23 09:55:23 dfoster 1.2.22.1: #i30606# Add descriptions to code in examples.
Diffstat (limited to 'scripting/examples')
-rw-r--r--scripting/examples/javascript/Highlight/ShowDialog.js76
1 files changed, 73 insertions, 3 deletions
diff --git a/scripting/examples/javascript/Highlight/ShowDialog.js b/scripting/examples/javascript/Highlight/ShowDialog.js
index 2f3984274f..fa111e17e4 100644
--- a/scripting/examples/javascript/Highlight/ShowDialog.js
+++ b/scripting/examples/javascript/Highlight/ShowDialog.js
@@ -3,19 +3,66 @@ importClass(Packages.com.sun.star.lang.XMultiComponentFactory);
importClass(Packages.com.sun.star.awt.XDialogProvider);
importClass(Packages.com.sun.star.awt.XDialog);
importClass(Packages.com.sun.star.uno.Exception);
-importClass(Packages.drafts.com.sun.star.script.provider.XScriptContext);
+importClass(Packages.com.sun.star.script.provider.XScriptContext);
importClass(java.lang.Thread);
importClass(java.lang.System);
+function tryLoadingLibrary( xmcf, context, name )
+{
+ try
+ {
+ obj = xmcf.createInstanceWithContext(
+ "com.sun.star.script.Application" + name + "LibraryContainer",
+ context.getComponentContext());
+
+ xLibraryContainer = UnoRuntime.queryInterface(XLibraryContainer, obj);
+
+ System.err.println("Got XLibraryContainer");
+
+ serviceObj = context.getComponentContext().getValueByName(
+ "/singletons/com.sun.star.util.theMacroExpander");
+
+ xme = AnyConverter.toObject(new Type(XMacroExpander), serviceObj);
+
+ bootstrapName = "bootstraprc";
+ if (System.getProperty("os.name").startsWith("Windows"))
+ {
+ bootstrapName = "bootstrap.ini";
+ }
+
+ libURL = xme.expandMacros(
+ "${$SYSBINDIR/" + bootstrapName + "::BaseInstallation}" +
+ "/share/basic/ScriptBindingLibrary/" +
+ name.toLowerCase() + ".xlb/");
+
+ System.err.println("libURL is: " + libURL);
+
+ xLibraryContainer.createLibraryLink(
+ "ScriptBindingLibrary", libURL, false);
+
+ System.err.println("liblink created");
+
+ }
+ catch (e)
+ {
+ System.err.println("Got an exception loading lib: " + e.getMessage());
+ return false;
+ }
+ return true;
+}
+
function getDialogProvider()
{
// UNO awt components of the Highlight dialog
+ //get the XMultiServiceFactory
xmcf = XSCRIPTCONTEXT.getComponentContext().getServiceManager();
args = new Array;
+ //get the XDocument from the context
args[0] = XSCRIPTCONTEXT.getDocument();
+ //try to create the DialogProvider
try {
obj = xmcf.createInstanceWithArgumentsAndContext(
"com.sun.star.awt.DialogProvider", args,
@@ -29,14 +76,37 @@ function getDialogProvider()
return UnoRuntime.queryInterface(XDialogProvider, obj);
}
+//get the DialogProvider
xDialogProvider = getDialogProvider();
if (xDialogProvider != null)
{
- try {
+ //try to create the Highlight dialog (found in the ScriptBinding library)
+ try
+ {
findDialog = xDialogProvider.createDialog("vnd.sun.star.script:" +
"ScriptBindingLibrary.Highlight?location=application");
- findDialog.execute();
+ if( findDialog == null )
+ {
+ if (tryLoadingLibrary(xmcf, XSCRIPTCONTEXT, "Dialog") == false ||
+ tryLoadingLibrary(xmcf, XSCRIPTCONTEXT, "Script") == false)
+ {
+ System.err.println("Error loading ScriptBindingLibrary");
+ }
+ else
+ {
+ // try to create the Highlight dialog (found in the
+ // ScriptBindingLibrary)
+ findDialog = xDialogProvider.createDialog("vnd.sun.star.script:" +
+ "ScriptBindingLibrary.Highlight?location=application");
+ }
+ }
+
+ //launch the dialog
+ if ( findDialog != null )
+ {
+ findDialog.execute();
+ }
}
catch (e) {
System.err.println("Got exception on first creating dialog: " +