Top > OOoPython > Job

Job Edit

org.openoffice.Office.Job にある構成で特定のイベント発生時に com.sun.star.task.XJob インターフェースの execute メソッドを呼び出させることができます。

以下のコードは最小構成のタスクです。OnNew イベント (ドキュメントが作成されたとき) に execute メソッドが実行されます。

詳細は以下参照。

構成 Edit

  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
<?xml version="1.0"?>
<oor:component-data xmlns:oor="http://openoffice.org/2001/registry" 
xmlns:xs="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:install="http://openoffice.org/2004/installation" oor:name="Jobs" 
oor:package="org.openoffice.Office">
<node oor:name="Jobs">
	<node oor:name="StartIA" oor:op="replace">
		<prop oor:name="Service">
			<value>mytools.basicide.IATest</value>
		</prop>
 
	</node>
</node>
<node oor:name="Events">
	<node oor:name="OnNew" oor:op="fuse">
		<node oor:name="JobList">
			<node oor:name="StartIA" oor:op="replace"/>
		</node>
	</node>
</node>
</oor:component-data>

コンポーネント Edit

  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
#!
# -*- coding: utf-8 -*-
import unohelper
 
# interfaces
from com.sun.star.task import XJob
from com.sun.star.lang import XServiceInfo
 
ImplName = "mytools.basicide.IATest"
ServiceNames = ("com.sun.star.task.Job",)
 
class IATest(unohelper.Base, XJob, XServiceInfo):
    
    def __init__(self,ctx):
        self.ctx = ctx
        print("initialized")
    
    # XJob
    def execute(self, args):
        print("job executed.")
    
    # XServiceInfo
    def getImplementationName(self):
        return ImplName
    
    def supportsService(self, name):
        return name in ServiceNames
    
    def getSupportedServiceNames(self):
        return ServiceNames
 
 
g_ImplementationHelper = unohelper.ImplementationHelper()
g_ImplementationHelper.addImplementation(
    IATest, ImplName, ServiceNames)

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes