summaryrefslogtreecommitdiff
path: root/wizards
diff options
context:
space:
mode:
authorXisco Fauli <anistenis@gmail.com>2011-09-22 11:36:19 +0200
committerMichael Meeks <michael.meeks@suse.com>2011-12-05 20:53:19 +0000
commitadf772680c7cf0e3d6ae135cab49c847447b5bf1 (patch)
tree35bb986d762aa876db3ef19cc58ae2388c51a4d5 /wizards
parente20b4fe7f98473bef13758070ab33b144c6930ff (diff)
Hello world (python) as a component
Diffstat (limited to 'wizards')
-rw-r--r--wizards/Module_wizards.mk1
-rw-r--r--wizards/com/sun/star/wizards/fax/CallWizard.py43
-rw-r--r--wizards/com/sun/star/wizards/fax/fax.component6
3 files changed, 47 insertions, 3 deletions
diff --git a/wizards/Module_wizards.mk b/wizards/Module_wizards.mk
index 7f08d0f08cfe..45f5c4f68a76 100644
--- a/wizards/Module_wizards.mk
+++ b/wizards/Module_wizards.mk
@@ -36,6 +36,7 @@ $(eval $(call gb_Module_add_targets,wizards,\
AllLangResTarget_tpl \
AllLangResTarget_wwz \
AllLangResTarget_wzi \
+ Pyuno_fax \
Zip_depot \
Zip_euro \
Zip_form \
diff --git a/wizards/com/sun/star/wizards/fax/CallWizard.py b/wizards/com/sun/star/wizards/fax/CallWizard.py
new file mode 100644
index 000000000000..33385a251a31
--- /dev/null
+++ b/wizards/com/sun/star/wizards/fax/CallWizard.py
@@ -0,0 +1,43 @@
+# -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+
+import uno
+import unohelper
+
+from com.sun.star.task import XJobExecutor
+
+# implement a UNO component by deriving from the standard unohelper.Base class
+# and from the interface(s) you want to implement.
+class HelloWorldJob(unohelper.Base, XJobExecutor):
+ def __init__(self, ctx):
+ # store the component context for later use
+ self.ctx = ctx
+
+ def trigger(self, args):
+ # note: args[0] == "HelloWorld", see below config settings
+
+ # retrieve the desktop object
+ desktop = self.ctx.ServiceManager.createInstanceWithContext(
+ "com.sun.star.frame.Desktop", self.ctx)
+
+ # get current document model
+ model = desktop.getCurrentComponent()
+
+ # access the document's text property
+ text = model.Text
+
+ # create a cursor
+ cursor = text.createTextCursor()
+
+ # insert the text into the document
+ text.insertString(cursor, "Hello World", 0)
+
+# pythonloader looks for a static g_ImplementationHelper variable
+g_ImplementationHelper = unohelper.ImplementationHelper()
+
+g_ImplementationHelper.addImplementation( \
+ HelloWorldJob, # UNO object class
+ "com.sun.star.wizards.fax.CallWizard", # implemenation name
+ ("com.sun.star.task.Job",),) # list of implemented services
+ # (the only service)
+
+# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/wizards/com/sun/star/wizards/fax/fax.component b/wizards/com/sun/star/wizards/fax/fax.component
index 462fe2901255..a03d00afc5a6 100644
--- a/wizards/com/sun/star/wizards/fax/fax.component
+++ b/wizards/com/sun/star/wizards/fax/fax.component
@@ -26,10 +26,10 @@
*
**********************************************************************-->
-<component loader="com.sun.star.loader.Java2"
+<component loader="com.sun.star.loader.Python"
xmlns="http://openoffice.org/2010/uno-components">
<implementation
- name="com.sun.star.wizards.fax.CallWizard$WizardImplementation">
- <service name="com.sun.star.wizards.fax.CallWizard"/>
+ name="com.sun.star.wizards.fax.CallWizard">
+ <service name="com.sun.star.task.Job"/>
</implementation>
</component>