Top > OOobbs2 > 101

** [[OOobbs2/101]] [#a8b6ab53]
-''サマリ'': Basic IDE (ちょっとだけ) 入力補助拡張機能 (改名)
-''環境'': Basic
-''状態'': 投稿
-''投稿者'': はにゃ?
-''投稿日'': 2008-04-12 (土) 20:06:17
#multilang(ja){{
*** 質問 [#ofacd420]
Basic IDE 入力補助拡張機能。

右クリックメニューを追加するとちょっとだけ使えるようになりました。

元々、Basic IDE は制限がきつくて次のことができない。
-表示されているテキストの取得および変更

ウィンドウの accessibility API を利用しています。アクセシビリティ用なので表示されている行のみの取得と変更しかできないことに注意。

//&ref(InputAssistant-2.png,,50%);
}}

#multilang(en){{
**Overview
Input Assistant for the Basic IDE extension of the OpenOffice.org.

The Basic IDE of the OpenOffice.org has only limitted functions. This extension provide some functions on the Basic IDE.

-Input complation from keyword files
-Replacement from the list
-Context menu on the Basic IDE (Cut, Copy and Paste)
}}

#multilang(ja){{
**パッケージ [#f85e87e3]

必要なもの
-OpenOffice.org 3.1
-Py-UNO のインストール

-&ref(ia-dev18.oxt); 20100617
//-&ref(ia-dev17.oxt); 20100411
//-&ref(ia-dev16.oxt); 20100307
//-&ref(ia-dev15.oxt); 200806016
//-&ref(ia-dev11.oxt); 20080602
//-&ref(ia-dev10.oxt); 20080601
//-&ref(ia-dev9.oxt); 20080528
//-&ref(ia-dev8.oxt); 20080517
//-%%&ref(ia-dev6.oxt); 20080510%%
//-%%&ref(ia-dev5.oxt); 20080509%%
//-%%&ref(ia-dev4.oxt); 20080503%%
//-%%&ref(ia-dev3.2.oxt); 20080425%%
//-%%&ref(ia-dev3.1.oxt); 20080424%%
//&ref(ia-dev2.9.oxt); 20080423

//Windows 環境やショートカットキーが正しく動作しない時にはショートカットキーを次のファイルで設定してください。
//-&ref(ia-shortcutkeys.zip);
}}

#multilang(en){{
**Package
This extension needs followings:
-OpenOffice.org 2.4
-Py-UNO Installation

-&ref(ia-dev17.oxt); 20100410
//-&ref(ia-dev15.oxt); 200806016

//Load following file as shortcut setting for the Basic IDE, if shortcut keys does not work collectly or you are using OOo on Windows environments.

//-&ref(ia-shortcutkeys.zip);
}}
#multilang(ja){{
**インストール [#l9899f1b]
パッケージを拡張機能マネージャからインストールしてください。

利用するにはさらに設定を行います。
+拡張機能マネージャを開きます
+マイ拡張機能の項目を展開します
+Basic IDE 入力補助機能の項目を選択します
+オプション... ボタンを押すとオプションダイアログが開きます
+一般設定項目のオプションにある「有効にする」チェックボックスにチェックを入れます
+OK を押して設定を保存します
+OpenOffice.org を再起動します
}}

#multilang(en){{
**Installation
Install the package using Extension Manager.

+Choose Tools - Extension Manager... entry
+Expand "My Extensions" item
+Select "Input Assistant for the Basic IDE"
+Push "Options..." button there is right side of the Extension Manager dialog
+Check in the checkbox placed on the "General" settings
+Push "OK" to store the setting
+Restart OpenOffice.org
}}
#multilang(ja){{
***ショートカットキーの設定 [#ifd393dc]
Windows 環境ではショートカットキーが正しく動作しません、そのため上記のショートカットキー設定を読み込んで利用してください。

+Basic IDE を開きます
+ツール - カスタマイズを選択、ダイアログのショートカットキーを選択します
+「読み込みボタン」を押して上記の ia-shortcutkeys.zip ファイルを選択します (ファイルを解凍してはいけません)
}}

#multilang(en){{
***Loading Shortcutkey Setting
Shortcut keys does not work correctly on the Windows environment, so you need to load shortcut key setting.

+Open the Basic IDE
+Choose Tools - Customize entry of the menu and then choose Shortcut tab
+Push "Load" button and select ia-shortcutkeys.zip file (do not unzip the file before loading it)
}}

#multilang(ja){{
**アンインストール [#radee02e]
まず、Basic IDE のステータスバーから項目を取り除きます。

+拡張機能マネージャを開きます
+マイ拡張機能の項目を展開します
+Basic IDE 入力補助機能の項目を選択します
+オプション... ボタンを押すとオプションダイアログが開きます
+一般設定項目のオプションにある「有効にする」チェックボックスのチェックを外します
+OK を押して設定を保存します

上の処理後、拡張機能マネージャから削除してください。
}}

#multilang(en){{
**Uninstallation
Uninstall the package using Extension Manager after the proceduce written below.

+Choose Tools - Extension Manager... entry
+Expand "My Extensions" item
+Select "Input Assistant for the Basic IDE"
+Push "Options..." button there is right side of the Extension Manager dialog
+Check out the checkbox placed on the "General" settings
+Push "OK" to store the setting
}}

#multilang(ja){{
**使い方 [#pf004c64]
上記インストールに従ってインストールしてください。OpenOffice.org Baic IDE を起動すると勝手に起動します。

上記スクリーンショットの右下の様にステータスバーにコントロールが追加されていると起動しています。

補完の開始は Ctrl + Shift または Ctrl + \ キーを押してください。

ショートカットキー一覧などはヘルプを参照してください。ヘルプはステータスバーで右クリックすると表示できます。また、OpenOffice.org Basic のヘルプの索引にある「Basic IDE 入力補助拡張機能」の項目から表示できます。
}}

#multilang(en){{
**Usage
Install according to the descrived procedure above. The extension starts with the Basic IDE.
Check the next position of the degital signature on the status bar of the Basic IDE, additional status bar item is shown if the extension installed and enabled.

Right click on the statusbar item to read the help file of the extension.

Push Ctrl + Shift or Ctrl + \ key combination to start completion.
}}

#multilang(ja){{
**機能 [#e1138f96]
機能説明。
***入力補完 [#jd7457be]
Ctrl + Space または Ctrl + \ キーを押すと、現在のカーソル位置から区切り文字までの文字列が一致する候補を表示します。候補が一つの時にはリストを表示せずに補完されます。
***置換 [#d4592214]
置換機能がオンのときに置換候補文字を入力、Ctrl + Space または Ctrl + \ キーを押すと置換文字列に置換されます。

置換文字列はメニューの - ツール - オプションダイアログの Input Assistant for the Basic IDE 項目にある Replace で追加、変更できます。

置換機能はいつも大文字と小文字を区別しません。また、完全一致です。

置換後文字列に \n (LF ではなく \ と n) があるとインデント+改行に置き換えて挿入します。また、最初に見つかった | 位置に置換後にカーソルを移動します (今のところ一行目のみ)。
***右クリック [#ze3ac460]
いくつかのコマンドが右クリックから利用できます。

切り取り、コピー、貼り付けは選択範囲が画面からはみ出していても正しく動作します。そのほかのコマンドは選択範囲が画面からはみ出していたりカーソルが画面外にあると失敗します。
}}

#multilang(en){{
**Functions
Description of functions.
***Completion
Push Ctrl + Space or Ctrl + \ keys, list of the nominatee taken from the list will be shown on the list box.

***Replacement
Replacement starts the same key combination with the Completion function starts.

For example, input "th" and then push Ctrl + Space makes "ThisComponent".

List of replacement words can be modify from Input Assistant for the Basic IDE entry of the Tools - Options dialog.

Replacement function always ignores character case. And complete matching.

If there are \n (not LineFeed but \ + n characters) in the replacement result, they are replaced by some indent and a line feed. And cursor will be moved to the "|" position found first.
}}

#multilang(ja){{
**制限 [#fc035199]
機能制限。

-ステータスバーの表示。取得できる情報に限りがあるため、ステータスバーなどから情報を取得します。表示されていないときには Basic 関連は失敗します。.uno:StatusGetTitle および .uno:StatusGetPosition を利用しています。dev2 以降からはステータスバーと一緒に起動するため、ステータスバーが表示されていないと動作すらしません。
-インタラクティブに入力を取得できないため変数置換が不十分。(できないことはないがキーインプットを全部取得する必要がある) (現在は、Enter を押したときに付近の行から変数らしきものを取得するのですこしまし)
-構文解析がテキトウ。変数のオブジェクトを調べたりしていません。宣言されているもや = の左側にある文字列を変数名とみなしています。
-- : を使った構文は無視されます。
--文字列中に = があったときには左側の文字列が変数として取得されてしまう。
--subroutine や function 名に[] を [name] のようにしているときには取得に失敗します。
-同名ファイル。同名のファイルがあるときにライブラリの取得に失敗します。
}}

#multilang(en){{
**Limitations
-Keep in mind, if selection runs off the edge of the textframe of the Basic IDE, not processed correctly.
}}

#multilang(ja){{
**設定 [#j8aab69f]
Basic IDE のメニューのツール - オプションから Input Assistant for the Basic IDE の項目を選択します。もしくは、拡張機能マネージャのオプションボタンからも変更できます。すべての項目は OpenOffice.org を再起動しないと反映されません。

一般

-OpenOffice.org SDK~
IDL リファレンスを開きたいときには設定してください。

-ブラウザ~
得に利用したいブラウザがある時に設定してください。アンカーが正しく処理されます。

-有効にする

置換リスト

置換機能で利用する置換候補と置換文字列を追加、編集します。

左側に候補の文字列を、右側に置換語を入力します。
}}

#multilang(en){{
**Configuration
Configuration of the extension can be accessed from Tools - Options or the Option button of the Extension Manager.

-OpenOffice.org SDK~
If you have a copy of the OpenOffice.org SDK on your local machine, choose the top most directory of the SDK. This value is used to open the IDL reference manual from the extension.

-Browser~
Choose your browser.

-Enaled~
Enable the extension and add the extension statusbar item.

-Replace list~
You can edit replace list.


}}

**お勧めの使い方 [#kd7bdc2a]
-api キーワードをオフ (なれている人はオンで)
-大文字と小文字を区別するをオフ
-置換と basic キーワードのみを使う。(カスタムはユーザーがキーワードを追加しないと空です)
**履歴 [#y0c3c3b5]
-dev17
-- 動かなくなっていた機能を修正。
-- 3.2.1 と相性が悪い。3.3 系ではそうでもないので不明。
-dev17
-- Home キーで行頭へ移動、行頭にカーソルがあるときには行頭のスペース終了位置に移動するように変更
-dev16
-- Python 2.6.1 でのエラーを修正
-- 情報ウィンドウを動かなくした
-dev15
--内部構成を大幅変更
--おかげで起動が速く
--候補リストが focusLost で閉じていたのをクリックなどで閉じるように変更
--ダイアログエディタを直接開いたときにフリーズするのを修正
--キー設定ファイルを配布しなくてよい様に win 環境では有効化時にキー設定を行うように変更
-dev14
--Ctrl + Shift および Ctrl + \ キーを dispatch 経由での処理に変更
--ヘルプ修正
-dev11
--リスナー作成にリスナー以外のインターフェース名を与えるとフリーズするのを修正
-dev10
--パッケージインポート問題修正
-dev9
--最初の補完時に変なものが入力されるのを修正
-dev8
--リスナー作成機能追加 (詳細はヘルプ参照)
-dev7
--IDL リファレンスが開かなくなっていたのを修正 (リストで Ctrl + I)
--選択文字列に関する情報を Ctrl + G で表示されるように。
--subroutine 内にカーソルがある時「ここを実行」でその subroutine が実行されるように変更
--ステータスバーで拡張ツールチップが出なかったのを修正。
-dev6
--ステータスバーアイテムの背景色がシステムカラーと同じになるように
--Enter キーを押したときのキーワードが候補に入っていなかったのを修正
-dev5
--一致項目が一つの時の挙動を修正
--後は…なんか
-dev4
--オプションダイアログに表示されていた項目を Basic IDE からツール - オプションを選択しないと表示しないように変更
--ダイアログエディタから Basic コードエディタに戻るとダイアログのコントロール名を収集するように
--コード編集時に Enter キーを押すと前後含めて五行程度から変数名 (とおぼしきもの) を収集するように
-dev3.2
--起動を速く
--置換時に | の位置へカーソルを移動
-dev3.1
--ダイアログエディタを表示した後で別のライブラリに切り替えると落ちるのを修正
--このプロシージャを実行を追加 (制限あり)

-dev2.9
--組み込み型拡張機能ヘルプ追加
--typedoc 廃止
--Job 起動を辞めてステータスバーコントロールを追加。
--dispatch provider を実装。コマンドとショートカットキーの処理は
--右クリックメニューの追加
--いくつかのテキスト処理
--ステータスウィンドウの廃止

-dev1
**ToDo [#y56c0151]

-やる気はないが組み込みたいもの
--%%置換後のカーソル位置指定を | 文字などで指定。%%現在は最初の行のみ。二行目以降でも可能に。二行目以降は paragraph が増加するため再検索の必要あり。
--com.sun.star. のような文字列のときにモジュール情報を取得して候補に。
--現在のライブラリから変数キーワードを取得、現在の変数キーワードと入れ替えるメニューをステータスバーのメニューに

-やる気がないので組み込みそうに無いもの
--正しい構文解析
--オブジェクトの型を判定しての入力補完候補表示
--インタラクティブな行分析。その代わりにモジュールの分析ボタン…。

-他
--ヘルプ改正 (随時)
**既知バグ [#g3d8cb5a]
-win 環境で busy のときに Basic IDE を開こうとするとフリーズする ?。修正不可
-ショートカットキーが Windows IME の切り替えと衝突する。環境依存性大。Ctrl + Shift + U など
**メモ [#df7084b3]
-UIConfigurationManager のステータスバーの設定ファイル書き出す機能にバグ。align と style が right と flat になってしまう。また、HelpURL が書き出されない。そのため、設定ファイルを書き出すコードを作成。
-同じくステータスバーに追加しようとすると Py-UNO からの []com.sun.star.beans.PropertyValue が無効といわれる。[]any のため? OOo Basic からは問題無いので Py-UNO の側の不具合。
-選択範囲をスペースキーでのインデントを試してみたが、入力すると選択が解除されてしまう。Accessibility API からでは複数行選択ができないため、あきらめる。
-setAttributes で設定できるのは文字色 CharColor 。CharBackColor は不可。
*** 回答 [#e8e8f9be]

#comment


*** 感想,コメント,メモ [#z37c5c2d]
- 置換機能は便利。入れてない環境だと入力が面倒…。右クリックのコピーペーストも入れていないのを忘れて使ってしまう。 -- はにゃ? &new{2008-05-21 (水) 19:19:25};
- すばらしい!  右クリックで cut ans paste がてきるので OOo basic もかなりしんぽしました。 -- Horino &new{2013-01-30 (水) 09:39:41};

#comment

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