create a new page, using OOoSDK/addinFunction/API as a template.
Front page
Search
掲示板
Reload
Help
Browse Log
掲示板の使い方
OOo 掲示板3
OOo 掲示板2
OOo 掲示板
掲示板
雑談掲示板
New
List of pages
Recent changes
Backup
簡単ヘルプ
整形ルール
Start:
* API としてのアドイン関数 [#c2610bb4]
OpenOffice.org の API は IDL で定義されており、シート関数...
ここでは、アドイン関数を拡張機能として作成する点を念頭に...
#contents
** IDL による関数の定義 [#o32b8a28]
まず、アドイン関数として作成したい関数をメンバーとして持...
一例として、mytools.sheet.addin.XCellBackgroudColorRef イ...
#code(idl){{
#ifndef __mytools_sheet_addin_XCellBackgroudColorRef_idl__
#define __mytools_sheet_addin_XCellBackgroudColorRef_idl__
#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif
#ifndef __com_sun_star_table_XCellRange_idl__
#include <com/sun/star/table/XCellRange.idl>
#endif
module mytools { module sheet { module addin {
interface XCellBackgroudColorRef : ::com::sun::star::uno...
{
any bgColorRef( [in] ::com::sun::star::table::XCellRang...
[in] ::com::sun::star::table::XCellRange xSourceCellRa...
any bgColorRef2( [in] ::com::sun::star::table::XCellRan...
[in] ::com::sun::star::table::XCellRange xSourceCellRa...
};
}; }; };
#endif
}}
** 関数の引数 [#y7401e60]
IDL で関数を定義するときには &idlref(com.sun.star.sheet.A...
|型|説明|h
|long|long に変換されて渡される (浮動小数点の値でも)|
|double|double に変換されて渡される|
|string|テキスト|
|long[][]|long での二次元配列|
|double[][]|double での二次元配列|
|string[][]|string での二次元配列|
|any[][]|場合に応じて double または string での二次元配列|
|any|double または string|
|&idlref(com.sun.star.table.XCellRange);|セル範囲への参照|
|&idlref(com.sun.star.beans.XPropertySet);|ドキュメントオ...
|any[]|関数の最後の引数の型に指定すると、残りの全ての引数...
any 型のときのみ特殊で、与えられた引数に応じて double ま...
上記以外の引数に変換できない場合、その関数は利用できませ...
** 関数の返り値 [#ia8b8cac]
|型|説明|h
|long|整数値|
|double|浮動小数点値|
|string|テキスト|
|long[][]|long での二次元配列|
|double[][]|double での二次元配列|
|string[][]|string での二次元配列|
|&idlref(com.sun.star.sheet.XVolatileResult);|タイマー等...
|any|long、double、string のどれか|
セルへの参照を返すことはできません。
返り値に利用できるものは次のものです。以下に挙げているも...
- any、enum、boolean、char、string、数値型
- &idlref(com.sun.star.sheet.XVolatileResult);
- long[][]、double[][]、string[][]、any[][]
*** IDL ファイルのコンパイル [#f536a20a]
SDK 付属の idlc を利用して IDL ファイルを URD (Uno Regist...
~/opt/openoffice.org/basis3.3/sdk/bin/idlc \
-I/hoge/opt/openoffice.org/basis3.3/sdk/idl XCellBack...
作成された XCellBackgroudColorRef.urd ファイルを URE 付属...
~/opt/openoffice.org/ure/bin/regmerge reg.rdb /UCR XCel...
各ツールの利用方法については SDK のツールに関するページ参...
** コンポーネントの定義 [#vb01a1ab]
上記で定義したインターフェースを備えた UNO コンポーネント...
このとき、UNO コンポーネントは &idlref(com.sun.star.sheet...
- &idlref(com.sun.star.lang.XServiceName); コンポーネント...
- &idlref(com.sun.star.sheet.XAddIn); アドイン関数の名前...
-- &idlref(com.sun.star.lang.XLocalizable); 関数の情報の...
- &idlref(com.sun.star.sheet.XCompatibilityNames); ローカ...
関数を定義する際に、その関数がどのセルに入力されたかどう...
関数の引数を参照にしたときに、その引数に与えられたセルが...
*** Python [#tf9b61f1]
一般的なコンポーネント実装と同じように行います。
以下の例ではローカライズに対応していません。
#code(python){{
# -*- coding: utf-8 -*-
import unohelper
from mytools.sheet.addin import XCellBackgroudColorRef
from com.sun.star.sheet import XAddIn
from com.sun.star.lang import XLocalizable, XServiceName,...
from com.sun.star.lang import Locale
class AddInBase(unohelper.Base, XAddIn, XLocalizable, XSe...
Imple_Name = ''
Service_Names = ('com.sun.star.sheet.AddIn', Imple_Name)
functions = {}
def __init__(self, ctx):
self.locale = Locale()
# XLocalizable
def setLocale(self, locale):
self.locale = locale
def getLocale(self):
return self.locale
# XAddIn
def getProgrammaticFuntionName(self, name):
for k, v in self.functions:
if name == v['DisplayName']:
return k
return 'unknown'
def getDisplayFunctionName(self, name):
return self.functions[name]['DisplayName']
def getFunctionDescription(self, name):
return self.functions[name]['Description']
def getDisplayArgumentName(self, name, index):
return self.functions[name]['Arguments'][index]
def getArgumentDescription(self, name, index):
return self.functions[name]['ArgumentDescriptions'][ind...
def getProgrammaticCategoryName(self, name):
return self.functions[name]['Category']
def getDisplayCategoryName(self, name):
return self.functions[name]['Category']
# XServiceInfo
def getImplementationName(self):
return self.Imple_Name
def supportsService(self, name):
return name in self.Service_Names
def getSupportedServiceNames(self):
return self.Service_Names
# XServiceName
def getServiceName(self):
return self.Imple_Name
class SheetAddInFn(AddInBase, XCellBackgroudColorRef):
Imple_Name = 'mytools.sheet.addin.CellPropertyAddInFn'
functions = {
'bgColorRef': {'DisplayName': 'BGColorRef',
'Arguments': ['Dest Cell', 'Source Cell'],
'Description': 'To get cell property value.',
'ArgumentDescriptions': ['The cell to set its backg...
'The base cell to get background color'],
'Category': 'Add-in'}
}
def __init__(self, ctx, *args):
AddInBase.__init__(self, ctx)
# XCellBackgroudColorRef
def bgColorRef(self, dest, source):
if source and dest:
dest.setPropertyValue('CellBackColor', source.getPrope...
return ''
g_ImplementationHelper = unohelper.ImplementationHelper()
g_ImplementationHelper.addImplementation(
SheetAddInFn, SheetAddInFn.Imple_Name,
('com.sun.star.sheet.AddIn',))
}}
*** Java [#h7935bb0]
Java ではまず、IDL で定義したインターフェースから abstrac...
~/opt/openoffice.org/basis3.3/sdk/bin/javamaker \
-BUCR -nD -Tmytools.sheet.addin.XCellBackgroudColorRe...
~/opt/openoffice.org/basis3.3/program/offapi.rdb reg....
ここでの例では mytools.sheet.addin.XCellBackgroudColorRef...
#code(java){{
package mytools.sheet.addin;
import com.sun.star.beans.XPropertySet;
import com.sun.star.lang.IndexOutOfBoundsException;
import com.sun.star.sheet.XCellRangeAddressable;
import com.sun.star.table.CellContentType;
import com.sun.star.table.CellRangeAddress;
import com.sun.star.table.XCell;
import com.sun.star.table.XCellRange;
import com.sun.star.text.XTextRange;
import com.sun.star.uno.AnyConverter;
import com.sun.star.uno.Exception;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
public class CellBackgroudColorRef {
public static class _CellBackgroudColorRef extends Addin...
{
XComponentContext m_xContext;
public _CellBackgroudColorRef (XComponentContext xConte...
{
super(__implName);
m_xContext = xContext;
FunctionDescriptions desc = new FunctionDescriptions(
"BGColorRef",
new String[]{"Dest Cell", "Source Cell"},
"To get cell property value.",
new String[]{"The cell to set its background color",
"The base cell to get background color"},
"Add-in");
Descriptions.put("bgColorRef", desc);
FunctionDescriptions desc2 = new FunctionDescriptions(
"BGColorRef2",
new String[]{"Dest Cell", "Source Cell"},
"To get cell property value.",
new String[]{"The cell to set its background color",
"The base cell to get background color"},
"Add-in");
Descriptions.put("bgColorRef2", desc2);
}
@Override
public Object bgColorRef(XCellRange xDestCellRange, XCe...
{
Object ret = null;
return ret;
}
@Override
public Object bgColorRef2(XCellRange xDestCellRange,
XCellRange xSourceCellRange, Object value)
{
if (xDestCellRange != null && xSourceCellRange != null)
{
XPropertySet xDestProps = UnoRuntime.queryInterface(
XPropertySet.class, xDestCellRange);
XPropertySet xSourceProps = UnoRuntime.queryInterface(
XPropertySet.class, xSourceCellRange);
try {
xDestProps.setPropertyValue("CellBackColor",
(int) AnyConverter.toInt(xSourceProps.getPropertyVal...
} catch (Exception e) {
//e.printStackTrace();
}
}
System.out.println(value);
return value;
}
}
// registration
private static final String __implName = "mytools.sheet....
public static com.sun.star.lang.XSingleComponentFactory ...
String sImplName) {
com.sun.star.lang.XSingleComponentFactory xSingleCompon...
if (sImplName.equals(__implName)) {
xSingleComponentFactory = com.sun.star.lib.uno.helper....
.createComponentFactory(CellBackgroudColorRef._CellB...
new String[] { __implName });
}
return xSingleComponentFactory;
}
public static boolean __writeRegistryServiceInfo(
com.sun.star.registry.XRegistryKey regKey) {
return com.sun.star.lib.uno.helper.Factory.writeRegistr...
__implName,
new String[]{"com.sun.star.sheet.AddIn"},
regKey);
}
}
}}
#code(java){{
package mytools.sheet.addin;
import java.util.HashMap;
import java.util.Map;
import com.sun.star.lang.Locale;
import com.sun.star.lang.XLocalizable;
import com.sun.star.lang.XServiceInfo;
import com.sun.star.lang.XServiceName;
import com.sun.star.lib.uno.helper.ComponentBase;
import com.sun.star.sheet.XAddIn;
abstract class AddinBase extends ComponentBase implements...
{
protected String sImplName;
protected final String[] sServiceNames;
protected Locale m_Locale = null;
protected Map<String, FunctionDescriptions> Descriptions;
public AddinBase(String implName)
{
sImplName = implName;
sServiceNames = new String[]{"com.sun.star.sheet.AddIn"...
Descriptions = new HashMap<String, FunctionDescriptions...
}
@Override
public Locale getLocale() {
return m_Locale;
}
@Override
public void setLocale(Locale aLocale) {
m_Locale = aLocale;
}
@Override
public String getServiceName() {
return sImplName;
}
@Override
public String getImplementationName() {
return sImplName;
}
@Override
public String[] getSupportedServiceNames() {
return sServiceNames;
}
@Override
public boolean supportsService(String name) {
for (String service : sServiceNames)
{
if (service.equals(name))
{
return true;
}
}
return false;
}
@Override
public String getArgumentDescription(String name, int in...
return Descriptions.get(name).ArgumentDescriptions[inde...
}
@Override
public String getDisplayArgumentName(String name, int in...
return Descriptions.get(name).Arguments[index];
}
@Override
public String getDisplayCategoryName(String name) {
return Descriptions.get(name).Category;
}
@Override
public String getDisplayFunctionName(String name) {
return Descriptions.get(name).DisplayName;
}
@Override
public String getFunctionDescription(String name) {
return Descriptions.get(name).Description;
}
@Override
public String getProgrammaticCategoryName(String name) {
return Descriptions.get(name).Category;
}
@Override
public String getProgrammaticFuntionName(String name) {
if (Descriptions.containsKey(name))
return name;
return "unknown";
}
}
}}
#code(java){{
package mytools.sheet.addin;
public class FunctionDescriptions {
public String DisplayName;
public String[] Arguments;
public String Description;
public String[] ArgumentDescriptions;
public String Category;
public FunctionDescriptions(String sDisplayName, String[...
String sDescription, String[] sArgumentDescriptions, S...
{
DisplayName = sDisplayName;
Arguments = sArguments;
Description = sDescription;
ArgumentDescriptions = sArgumentDescriptions;
Category = sCategory;
}
}
}}
** 拡張機能パッケージ [#m9af677d]
拡張機能パッケージ作成方法の詳細は別ページなどを参照して...
META-INF/manifest.xml ファイル中では RDB ファイルおよび U...
<?xml version="1.0" encoding="UTF-8"?>
<manifest:manifest>
<manifest:file-entry manifest:full-path="reg.rdb"
manifest:media-type="application/vnd.sun.star.uno-type...
<manifest:file-entry manifest:full-path="lib.jar"
manifest:media-type="application/vnd.sun.star.uno-comp...
</manifest:manifest>
などとします。
End:
* API としてのアドイン関数 [#c2610bb4]
OpenOffice.org の API は IDL で定義されており、シート関数...
ここでは、アドイン関数を拡張機能として作成する点を念頭に...
#contents
** IDL による関数の定義 [#o32b8a28]
まず、アドイン関数として作成したい関数をメンバーとして持...
一例として、mytools.sheet.addin.XCellBackgroudColorRef イ...
#code(idl){{
#ifndef __mytools_sheet_addin_XCellBackgroudColorRef_idl__
#define __mytools_sheet_addin_XCellBackgroudColorRef_idl__
#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif
#ifndef __com_sun_star_table_XCellRange_idl__
#include <com/sun/star/table/XCellRange.idl>
#endif
module mytools { module sheet { module addin {
interface XCellBackgroudColorRef : ::com::sun::star::uno...
{
any bgColorRef( [in] ::com::sun::star::table::XCellRang...
[in] ::com::sun::star::table::XCellRange xSourceCellRa...
any bgColorRef2( [in] ::com::sun::star::table::XCellRan...
[in] ::com::sun::star::table::XCellRange xSourceCellRa...
};
}; }; };
#endif
}}
** 関数の引数 [#y7401e60]
IDL で関数を定義するときには &idlref(com.sun.star.sheet.A...
|型|説明|h
|long|long に変換されて渡される (浮動小数点の値でも)|
|double|double に変換されて渡される|
|string|テキスト|
|long[][]|long での二次元配列|
|double[][]|double での二次元配列|
|string[][]|string での二次元配列|
|any[][]|場合に応じて double または string での二次元配列|
|any|double または string|
|&idlref(com.sun.star.table.XCellRange);|セル範囲への参照|
|&idlref(com.sun.star.beans.XPropertySet);|ドキュメントオ...
|any[]|関数の最後の引数の型に指定すると、残りの全ての引数...
any 型のときのみ特殊で、与えられた引数に応じて double ま...
上記以外の引数に変換できない場合、その関数は利用できませ...
** 関数の返り値 [#ia8b8cac]
|型|説明|h
|long|整数値|
|double|浮動小数点値|
|string|テキスト|
|long[][]|long での二次元配列|
|double[][]|double での二次元配列|
|string[][]|string での二次元配列|
|&idlref(com.sun.star.sheet.XVolatileResult);|タイマー等...
|any|long、double、string のどれか|
セルへの参照を返すことはできません。
返り値に利用できるものは次のものです。以下に挙げているも...
- any、enum、boolean、char、string、数値型
- &idlref(com.sun.star.sheet.XVolatileResult);
- long[][]、double[][]、string[][]、any[][]
*** IDL ファイルのコンパイル [#f536a20a]
SDK 付属の idlc を利用して IDL ファイルを URD (Uno Regist...
~/opt/openoffice.org/basis3.3/sdk/bin/idlc \
-I/hoge/opt/openoffice.org/basis3.3/sdk/idl XCellBack...
作成された XCellBackgroudColorRef.urd ファイルを URE 付属...
~/opt/openoffice.org/ure/bin/regmerge reg.rdb /UCR XCel...
各ツールの利用方法については SDK のツールに関するページ参...
** コンポーネントの定義 [#vb01a1ab]
上記で定義したインターフェースを備えた UNO コンポーネント...
このとき、UNO コンポーネントは &idlref(com.sun.star.sheet...
- &idlref(com.sun.star.lang.XServiceName); コンポーネント...
- &idlref(com.sun.star.sheet.XAddIn); アドイン関数の名前...
-- &idlref(com.sun.star.lang.XLocalizable); 関数の情報の...
- &idlref(com.sun.star.sheet.XCompatibilityNames); ローカ...
関数を定義する際に、その関数がどのセルに入力されたかどう...
関数の引数を参照にしたときに、その引数に与えられたセルが...
*** Python [#tf9b61f1]
一般的なコンポーネント実装と同じように行います。
以下の例ではローカライズに対応していません。
#code(python){{
# -*- coding: utf-8 -*-
import unohelper
from mytools.sheet.addin import XCellBackgroudColorRef
from com.sun.star.sheet import XAddIn
from com.sun.star.lang import XLocalizable, XServiceName,...
from com.sun.star.lang import Locale
class AddInBase(unohelper.Base, XAddIn, XLocalizable, XSe...
Imple_Name = ''
Service_Names = ('com.sun.star.sheet.AddIn', Imple_Name)
functions = {}
def __init__(self, ctx):
self.locale = Locale()
# XLocalizable
def setLocale(self, locale):
self.locale = locale
def getLocale(self):
return self.locale
# XAddIn
def getProgrammaticFuntionName(self, name):
for k, v in self.functions:
if name == v['DisplayName']:
return k
return 'unknown'
def getDisplayFunctionName(self, name):
return self.functions[name]['DisplayName']
def getFunctionDescription(self, name):
return self.functions[name]['Description']
def getDisplayArgumentName(self, name, index):
return self.functions[name]['Arguments'][index]
def getArgumentDescription(self, name, index):
return self.functions[name]['ArgumentDescriptions'][ind...
def getProgrammaticCategoryName(self, name):
return self.functions[name]['Category']
def getDisplayCategoryName(self, name):
return self.functions[name]['Category']
# XServiceInfo
def getImplementationName(self):
return self.Imple_Name
def supportsService(self, name):
return name in self.Service_Names
def getSupportedServiceNames(self):
return self.Service_Names
# XServiceName
def getServiceName(self):
return self.Imple_Name
class SheetAddInFn(AddInBase, XCellBackgroudColorRef):
Imple_Name = 'mytools.sheet.addin.CellPropertyAddInFn'
functions = {
'bgColorRef': {'DisplayName': 'BGColorRef',
'Arguments': ['Dest Cell', 'Source Cell'],
'Description': 'To get cell property value.',
'ArgumentDescriptions': ['The cell to set its backg...
'The base cell to get background color'],
'Category': 'Add-in'}
}
def __init__(self, ctx, *args):
AddInBase.__init__(self, ctx)
# XCellBackgroudColorRef
def bgColorRef(self, dest, source):
if source and dest:
dest.setPropertyValue('CellBackColor', source.getPrope...
return ''
g_ImplementationHelper = unohelper.ImplementationHelper()
g_ImplementationHelper.addImplementation(
SheetAddInFn, SheetAddInFn.Imple_Name,
('com.sun.star.sheet.AddIn',))
}}
*** Java [#h7935bb0]
Java ではまず、IDL で定義したインターフェースから abstrac...
~/opt/openoffice.org/basis3.3/sdk/bin/javamaker \
-BUCR -nD -Tmytools.sheet.addin.XCellBackgroudColorRe...
~/opt/openoffice.org/basis3.3/program/offapi.rdb reg....
ここでの例では mytools.sheet.addin.XCellBackgroudColorRef...
#code(java){{
package mytools.sheet.addin;
import com.sun.star.beans.XPropertySet;
import com.sun.star.lang.IndexOutOfBoundsException;
import com.sun.star.sheet.XCellRangeAddressable;
import com.sun.star.table.CellContentType;
import com.sun.star.table.CellRangeAddress;
import com.sun.star.table.XCell;
import com.sun.star.table.XCellRange;
import com.sun.star.text.XTextRange;
import com.sun.star.uno.AnyConverter;
import com.sun.star.uno.Exception;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
public class CellBackgroudColorRef {
public static class _CellBackgroudColorRef extends Addin...
{
XComponentContext m_xContext;
public _CellBackgroudColorRef (XComponentContext xConte...
{
super(__implName);
m_xContext = xContext;
FunctionDescriptions desc = new FunctionDescriptions(
"BGColorRef",
new String[]{"Dest Cell", "Source Cell"},
"To get cell property value.",
new String[]{"The cell to set its background color",
"The base cell to get background color"},
"Add-in");
Descriptions.put("bgColorRef", desc);
FunctionDescriptions desc2 = new FunctionDescriptions(
"BGColorRef2",
new String[]{"Dest Cell", "Source Cell"},
"To get cell property value.",
new String[]{"The cell to set its background color",
"The base cell to get background color"},
"Add-in");
Descriptions.put("bgColorRef2", desc2);
}
@Override
public Object bgColorRef(XCellRange xDestCellRange, XCe...
{
Object ret = null;
return ret;
}
@Override
public Object bgColorRef2(XCellRange xDestCellRange,
XCellRange xSourceCellRange, Object value)
{
if (xDestCellRange != null && xSourceCellRange != null)
{
XPropertySet xDestProps = UnoRuntime.queryInterface(
XPropertySet.class, xDestCellRange);
XPropertySet xSourceProps = UnoRuntime.queryInterface(
XPropertySet.class, xSourceCellRange);
try {
xDestProps.setPropertyValue("CellBackColor",
(int) AnyConverter.toInt(xSourceProps.getPropertyVal...
} catch (Exception e) {
//e.printStackTrace();
}
}
System.out.println(value);
return value;
}
}
// registration
private static final String __implName = "mytools.sheet....
public static com.sun.star.lang.XSingleComponentFactory ...
String sImplName) {
com.sun.star.lang.XSingleComponentFactory xSingleCompon...
if (sImplName.equals(__implName)) {
xSingleComponentFactory = com.sun.star.lib.uno.helper....
.createComponentFactory(CellBackgroudColorRef._CellB...
new String[] { __implName });
}
return xSingleComponentFactory;
}
public static boolean __writeRegistryServiceInfo(
com.sun.star.registry.XRegistryKey regKey) {
return com.sun.star.lib.uno.helper.Factory.writeRegistr...
__implName,
new String[]{"com.sun.star.sheet.AddIn"},
regKey);
}
}
}}
#code(java){{
package mytools.sheet.addin;
import java.util.HashMap;
import java.util.Map;
import com.sun.star.lang.Locale;
import com.sun.star.lang.XLocalizable;
import com.sun.star.lang.XServiceInfo;
import com.sun.star.lang.XServiceName;
import com.sun.star.lib.uno.helper.ComponentBase;
import com.sun.star.sheet.XAddIn;
abstract class AddinBase extends ComponentBase implements...
{
protected String sImplName;
protected final String[] sServiceNames;
protected Locale m_Locale = null;
protected Map<String, FunctionDescriptions> Descriptions;
public AddinBase(String implName)
{
sImplName = implName;
sServiceNames = new String[]{"com.sun.star.sheet.AddIn"...
Descriptions = new HashMap<String, FunctionDescriptions...
}
@Override
public Locale getLocale() {
return m_Locale;
}
@Override
public void setLocale(Locale aLocale) {
m_Locale = aLocale;
}
@Override
public String getServiceName() {
return sImplName;
}
@Override
public String getImplementationName() {
return sImplName;
}
@Override
public String[] getSupportedServiceNames() {
return sServiceNames;
}
@Override
public boolean supportsService(String name) {
for (String service : sServiceNames)
{
if (service.equals(name))
{
return true;
}
}
return false;
}
@Override
public String getArgumentDescription(String name, int in...
return Descriptions.get(name).ArgumentDescriptions[inde...
}
@Override
public String getDisplayArgumentName(String name, int in...
return Descriptions.get(name).Arguments[index];
}
@Override
public String getDisplayCategoryName(String name) {
return Descriptions.get(name).Category;
}
@Override
public String getDisplayFunctionName(String name) {
return Descriptions.get(name).DisplayName;
}
@Override
public String getFunctionDescription(String name) {
return Descriptions.get(name).Description;
}
@Override
public String getProgrammaticCategoryName(String name) {
return Descriptions.get(name).Category;
}
@Override
public String getProgrammaticFuntionName(String name) {
if (Descriptions.containsKey(name))
return name;
return "unknown";
}
}
}}
#code(java){{
package mytools.sheet.addin;
public class FunctionDescriptions {
public String DisplayName;
public String[] Arguments;
public String Description;
public String[] ArgumentDescriptions;
public String Category;
public FunctionDescriptions(String sDisplayName, String[...
String sDescription, String[] sArgumentDescriptions, S...
{
DisplayName = sDisplayName;
Arguments = sArguments;
Description = sDescription;
ArgumentDescriptions = sArgumentDescriptions;
Category = sCategory;
}
}
}}
** 拡張機能パッケージ [#m9af677d]
拡張機能パッケージ作成方法の詳細は別ページなどを参照して...
META-INF/manifest.xml ファイル中では RDB ファイルおよび U...
<?xml version="1.0" encoding="UTF-8"?>
<manifest:manifest>
<manifest:file-entry manifest:full-path="reg.rdb"
manifest:media-type="application/vnd.sun.star.uno-type...
<manifest:file-entry manifest:full-path="lib.jar"
manifest:media-type="application/vnd.sun.star.uno-comp...
</manifest:manifest>
などとします。
Page: