create a new page, using OOobbs3/99 as a template.
Front page
Search
掲示板
Reload
Help
Browse Log
掲示板の使い方
OOo 掲示板3
OOo 掲示板2
OOo 掲示板
掲示板
雑談掲示板
New
List of pages
Recent changes
Backup
簡単ヘルプ
整形ルール
Start:
** [[OOobbs3/99]] [#w4ac8ca2]
-''サマリ'': AOO 4.0 における API の変更点
-''環境'': General
-''状態'': 解決
-''投稿者'': [[はにゃ?]]
-''投稿日'': 2013-01-10 (Thu) 00:49:58
*** 質問 [#ka4f61f0]
Apache OpenOffice 4.0 で既存の API に変更が加えられる予定...
- 初期化に引数を伴うサービスのコンストラクタ導入
- インターフェースの統合 (publish されて変更できなかった...
- 不要な引数の削除
- 非推奨だったインターフェース削除
以下に変更点をまとめます。
#contents
** コントロール関連 [#mf504f37]
&oooissue(121514);
- css.awt.UnoControlSimpleAnimation, UnoControlSimpleAnim...
-- 非推奨サービス削除。css.awt.AnimatedImagesControl 使用...
- css.awt.XSimpleAnimation
-- 上記サービス削除に従い削除。
&oooissue(121513);
- css.awt.UnoControlThrobber, UnoControlThrobberModel
-- 非推奨サービス削除。css.awt.SpinningProgressControlMod...
- css.awt.XThrobber
-- 上記サービス削除に従い削除。
** ウィンドウ関連 [#abc797fc]
&oooissue(121442);
- css.awt.XGraphics
-- get/set メソッドが属性に変更。
-- drawImage メソッドが追加。
** メッセージボックス関連 [#f13edc44]
&oooissue(121544);
- css.awt.XMessageBoxFactory::createMessageBox
-- 二番目引数 css.awt.Rectangle 削除
-- (元) 三番目引数の指定が string から css.awt.MessageBox...
- css.awt.MessageBoxType 追加
-- createMessageBox メソッドでメッセージボックスの形式を...
- css.awt.MessageBoxResults 追加
-- メッセージボックスの結果
- css.awt.XMessageBox
-- get/setCaptionText メソッドが CaptionText 属性に変更
-- get/setMessageText メソッドが MessageText 属性に変更
-- execute メソッドの返り値が css.awt.MessageBoxResults ...
-- deprecated フラグが削除された
- css.awt.MessageBoxCommand
-- deprecated モジュール削除
** メニュー関連 [#i664dcdf]
&oooissue(121542);
- css.awt.XMenuExtended, XMenuExtended2, XMenuBarExtended...
-- 削除されて css.awt.XMenu および css.awt.XPopupMenu に...
- css.awt.MenuLogo 削除
-- XPopupMenuExtended::get/setLogo メソッド削除
- css.awt.XPopupMenuExtended
-- 以下のメソッドが削除
-- get/setItemImageAngle, setItemImageMirrorMode, isItemI...
- css.awt.XMenuListener
-- 全メソッド名が変更に。item-ed
- %%css.awt.XPopupMenu::execute%%
-- %%css.awt.Rectangle の代わりに css.awt.Point を受け取...
- css.awt.XMenu
-- set/getHelpText、set/getTipHelpText、enableAutoMnemoni...
** システム関連 [#y2755623]
&oooissue(121578);
- css.system.SystemShellExecute
-- create コンストラクタ追加
&oooissue(121579);
- css.system.SimpleCommandMail, SimpleSystemMail
-- Windows 用および UNIX 用だったため、統合して css.syste...
- css.system.XSimpleMailClientSupplier
-- css.system.XSystemMailProvider に変更
- css.system.XSimpleMailClient, XSimpleMailMessage, Simpl...
-- 名前から Simple が削除
- css.system.XMailMessage
-- 元の XSimpleMailMessage のメソッドは属性に変更
&oooissue(121548);
- プロキシ API 定義
-- 長らく使用されていなかった、非推奨のプロキシ関連 IDL ...
** Writer 関連 [#y150ab7e]
&oooissue(25945);
- css.text.ViewSettings
-- ShowContentTips, ShowScrollBarTips 追加。
** Calc 関連 [#jb3c6e80]
&oooissue(120478);
- css.sheet.RangeScopeName
-- 追加。
- css.sheet.XNamedRange2
-- 追加。
- css.sheet.XNamedRanges2
-- 追加。
** UI 関連 [#be17c5d0]
サイドバー関連の IDL が追加されています。
-- 以下追加
-- css.ui.ContextChangeEventMultiplexer
-- css.ui.ContextChangeEventObject
-- css.ui.LayoutSize
-- css.ui.XContextChangeEventListener
-- css.ui.XContextChangeEventMultiplexer
-- css.ui.XContextChangeListener
-- css.ui.XSidebar
-- css.ui.XSidebarPanel
-- 以下変更
-- css.util.EventMultiplexer
** UCB 関連 [#ka2fa1e9]
&oooissue(121946);
WebDav 関連のバグ修正に基づき、いくつか変更点があります。
-- css.ucb.WebDAVHTTPMethod 追加
-- css.ucb.XWebDAVCommandEnvironment
-- getUserRequestHeaders メソッドの二番目の引数が文字列か...
** frame モジュール [#zbd31e2b]
-- css.frame.PopupMenuControllerFactory
-- css.frame.StatusbarControllerFactory
-- コンストラクタ追加
-- css.frame.ToolbarControllerFactory
-- 追加
** deprecated [#n523f655]
- css.configuration.BootstrapContext
-- &oooissue(118815 );
** インターフェースのチェック方法 [#q06dbcc1]
C++ や Java など、API のインターフェースなどの静的な型が...
一方、動的に型が決まる Basic、Python などでは変更点が少な...
以下は Python での例です。
#code(python){{
def create_service(ctx, name, args=None):
""" Create service with args if required. """
smgr = ctx.getServiceManager()
if args:
return smgr.createInstanceWithArgumentsAndContext...
else:
return smgr.createInstanceWithContext(name, ctx)
}}
*** インターフェースの存在確認 [#c04124bf]
インターフェースが削除されてなくなった場合、そのインター...
#code(python){{
def interface_exists(ctx, name):
""" Check the interface exists. """
cr = create_service("com.sun.star.reflection.CoreRefl...
try:
return cr.hasByHierarchicalName(name)
except:
pass
return False
}}
引数にはコンポーネントコンテキストと有無を確認したいイン...
*** メソッドの引数を確認 [#p9a6029c]
インターフェースの個々のメソッドが同名のまま引数が変更さ...
#code(python){{
def check_method_parameter(ctx, interface_name, method_na...
""" Check the method has specific type parameter at t...
cr = create_service(ctx, "com.sun.star.reflection.Cor...
try:
idl = cr.forName(interface_name)
m = idl.getMethod(method_name)
if m:
info = m.getParameterInfos()[param_index]
return info.aType.getName() == param_type
except:
pass
return False
}}
引数は、コンポーネントコンテキスト、メソッドの所属するイ...
*** 例 [#h9064ca0]
以下はメッセージボックスで上記の関数を利用してメソッドの...
#code(python){{
def messagebox(ctx, parent, message, title, message_type,...
""" Show message in message box. """
toolkit = parent.getToolkit()
older_imple = check_method_parameter(
ctx, "com.sun.star.awt.XMessageBoxFactory", "crea...
1, "com.sun.star.awt.Rectangle")
if older_imple:
msgbox = toolkit.createMessageBox(
parent, Rectangle(), message_type, buttons, t...
else:
message_type = uno.getConstantByName("com.sun.sta...
"messbox": "MESSAGEBOX", "infobox": "INFOBOX",
"warningbox": "WARNINGBOX", "errorbox": "ERRO...
"querybox": "QUERYBOX"}[message_type])
msgbox = toolkit.createMessageBox(
parent, message_type, buttons, title, message)
n = msgbox.execute()
msgbox.dispose()
return n
}}
リストに引数を追加していき、引数展開で渡してもいいかもし...
ボックスの形式を指定する方法も文字列から列挙型になってい...
*** 回答 [#d44ac2bb]
#comment
*** 感想,コメント,メモ [#oe83fc5d]
#comment
End:
** [[OOobbs3/99]] [#w4ac8ca2]
-''サマリ'': AOO 4.0 における API の変更点
-''環境'': General
-''状態'': 解決
-''投稿者'': [[はにゃ?]]
-''投稿日'': 2013-01-10 (Thu) 00:49:58
*** 質問 [#ka4f61f0]
Apache OpenOffice 4.0 で既存の API に変更が加えられる予定...
- 初期化に引数を伴うサービスのコンストラクタ導入
- インターフェースの統合 (publish されて変更できなかった...
- 不要な引数の削除
- 非推奨だったインターフェース削除
以下に変更点をまとめます。
#contents
** コントロール関連 [#mf504f37]
&oooissue(121514);
- css.awt.UnoControlSimpleAnimation, UnoControlSimpleAnim...
-- 非推奨サービス削除。css.awt.AnimatedImagesControl 使用...
- css.awt.XSimpleAnimation
-- 上記サービス削除に従い削除。
&oooissue(121513);
- css.awt.UnoControlThrobber, UnoControlThrobberModel
-- 非推奨サービス削除。css.awt.SpinningProgressControlMod...
- css.awt.XThrobber
-- 上記サービス削除に従い削除。
** ウィンドウ関連 [#abc797fc]
&oooissue(121442);
- css.awt.XGraphics
-- get/set メソッドが属性に変更。
-- drawImage メソッドが追加。
** メッセージボックス関連 [#f13edc44]
&oooissue(121544);
- css.awt.XMessageBoxFactory::createMessageBox
-- 二番目引数 css.awt.Rectangle 削除
-- (元) 三番目引数の指定が string から css.awt.MessageBox...
- css.awt.MessageBoxType 追加
-- createMessageBox メソッドでメッセージボックスの形式を...
- css.awt.MessageBoxResults 追加
-- メッセージボックスの結果
- css.awt.XMessageBox
-- get/setCaptionText メソッドが CaptionText 属性に変更
-- get/setMessageText メソッドが MessageText 属性に変更
-- execute メソッドの返り値が css.awt.MessageBoxResults ...
-- deprecated フラグが削除された
- css.awt.MessageBoxCommand
-- deprecated モジュール削除
** メニュー関連 [#i664dcdf]
&oooissue(121542);
- css.awt.XMenuExtended, XMenuExtended2, XMenuBarExtended...
-- 削除されて css.awt.XMenu および css.awt.XPopupMenu に...
- css.awt.MenuLogo 削除
-- XPopupMenuExtended::get/setLogo メソッド削除
- css.awt.XPopupMenuExtended
-- 以下のメソッドが削除
-- get/setItemImageAngle, setItemImageMirrorMode, isItemI...
- css.awt.XMenuListener
-- 全メソッド名が変更に。item-ed
- %%css.awt.XPopupMenu::execute%%
-- %%css.awt.Rectangle の代わりに css.awt.Point を受け取...
- css.awt.XMenu
-- set/getHelpText、set/getTipHelpText、enableAutoMnemoni...
** システム関連 [#y2755623]
&oooissue(121578);
- css.system.SystemShellExecute
-- create コンストラクタ追加
&oooissue(121579);
- css.system.SimpleCommandMail, SimpleSystemMail
-- Windows 用および UNIX 用だったため、統合して css.syste...
- css.system.XSimpleMailClientSupplier
-- css.system.XSystemMailProvider に変更
- css.system.XSimpleMailClient, XSimpleMailMessage, Simpl...
-- 名前から Simple が削除
- css.system.XMailMessage
-- 元の XSimpleMailMessage のメソッドは属性に変更
&oooissue(121548);
- プロキシ API 定義
-- 長らく使用されていなかった、非推奨のプロキシ関連 IDL ...
** Writer 関連 [#y150ab7e]
&oooissue(25945);
- css.text.ViewSettings
-- ShowContentTips, ShowScrollBarTips 追加。
** Calc 関連 [#jb3c6e80]
&oooissue(120478);
- css.sheet.RangeScopeName
-- 追加。
- css.sheet.XNamedRange2
-- 追加。
- css.sheet.XNamedRanges2
-- 追加。
** UI 関連 [#be17c5d0]
サイドバー関連の IDL が追加されています。
-- 以下追加
-- css.ui.ContextChangeEventMultiplexer
-- css.ui.ContextChangeEventObject
-- css.ui.LayoutSize
-- css.ui.XContextChangeEventListener
-- css.ui.XContextChangeEventMultiplexer
-- css.ui.XContextChangeListener
-- css.ui.XSidebar
-- css.ui.XSidebarPanel
-- 以下変更
-- css.util.EventMultiplexer
** UCB 関連 [#ka2fa1e9]
&oooissue(121946);
WebDav 関連のバグ修正に基づき、いくつか変更点があります。
-- css.ucb.WebDAVHTTPMethod 追加
-- css.ucb.XWebDAVCommandEnvironment
-- getUserRequestHeaders メソッドの二番目の引数が文字列か...
** frame モジュール [#zbd31e2b]
-- css.frame.PopupMenuControllerFactory
-- css.frame.StatusbarControllerFactory
-- コンストラクタ追加
-- css.frame.ToolbarControllerFactory
-- 追加
** deprecated [#n523f655]
- css.configuration.BootstrapContext
-- &oooissue(118815 );
** インターフェースのチェック方法 [#q06dbcc1]
C++ や Java など、API のインターフェースなどの静的な型が...
一方、動的に型が決まる Basic、Python などでは変更点が少な...
以下は Python での例です。
#code(python){{
def create_service(ctx, name, args=None):
""" Create service with args if required. """
smgr = ctx.getServiceManager()
if args:
return smgr.createInstanceWithArgumentsAndContext...
else:
return smgr.createInstanceWithContext(name, ctx)
}}
*** インターフェースの存在確認 [#c04124bf]
インターフェースが削除されてなくなった場合、そのインター...
#code(python){{
def interface_exists(ctx, name):
""" Check the interface exists. """
cr = create_service("com.sun.star.reflection.CoreRefl...
try:
return cr.hasByHierarchicalName(name)
except:
pass
return False
}}
引数にはコンポーネントコンテキストと有無を確認したいイン...
*** メソッドの引数を確認 [#p9a6029c]
インターフェースの個々のメソッドが同名のまま引数が変更さ...
#code(python){{
def check_method_parameter(ctx, interface_name, method_na...
""" Check the method has specific type parameter at t...
cr = create_service(ctx, "com.sun.star.reflection.Cor...
try:
idl = cr.forName(interface_name)
m = idl.getMethod(method_name)
if m:
info = m.getParameterInfos()[param_index]
return info.aType.getName() == param_type
except:
pass
return False
}}
引数は、コンポーネントコンテキスト、メソッドの所属するイ...
*** 例 [#h9064ca0]
以下はメッセージボックスで上記の関数を利用してメソッドの...
#code(python){{
def messagebox(ctx, parent, message, title, message_type,...
""" Show message in message box. """
toolkit = parent.getToolkit()
older_imple = check_method_parameter(
ctx, "com.sun.star.awt.XMessageBoxFactory", "crea...
1, "com.sun.star.awt.Rectangle")
if older_imple:
msgbox = toolkit.createMessageBox(
parent, Rectangle(), message_type, buttons, t...
else:
message_type = uno.getConstantByName("com.sun.sta...
"messbox": "MESSAGEBOX", "infobox": "INFOBOX",
"warningbox": "WARNINGBOX", "errorbox": "ERRO...
"querybox": "QUERYBOX"}[message_type])
msgbox = toolkit.createMessageBox(
parent, message_type, buttons, title, message)
n = msgbox.execute()
msgbox.dispose()
return n
}}
リストに引数を追加していき、引数展開で渡してもいいかもし...
ボックスの形式を指定する方法も文字列から列挙型になってい...
*** 回答 [#d44ac2bb]
#comment
*** 感想,コメント,メモ [#oe83fc5d]
#comment
Page: