[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
Re: [MD:4096] Tooltip are incompletely implemented.
- X-ml-count: 4117
- Subject: Re: [MD:4096] Tooltip are incompletely implemented.
- From: MIYOSHI Masanori <miyoshi@xxxxxxxxxxxxxxxx>
- Date: Fri, 10 Jan 2003 01:09:26 +0900
- User-agent: T-gnus/6.15.8 (based on Oort Gnus v0.08) (revision 05) EMIKO/1.14.1 (Choanoflagellata) LIMIT/1.14.7 (Fujiidera) APEL/10.4 Emacs/21.1 (i386-msvc-nt5.0.2195) MULE/5.0 (SAKAKI) Meadow/1.99 Alpha4 (KUROGANE)
>>>>> [meadow-develop : No.4115] にて
>>>>> "himi" = MIYASHITA Hisashi (宮下 尚:HIMI) <himi@xxxxxxxxxxx> さんは書きました:
himi> > tooltip を表示できるように、Emacs-21.3.50 の実装を import
himi> > しました。
himi> ざっと見てみました。
レビューありがとうございます。
himi> windowは、message thread で作成してください。main threadで
himi> 作成してはいけません。
himi> ちなみに、これを放っておくと何が起こってもおかしくありません。
ここら辺は良く理解していないので、次の developer's meeting ででも
解説してもらえるとありがたいです。
ちなみに、NTEmacs の my_create_tip_window()@w32fns.c では
> /* Create a tooltip window. Unlike my_create_window, we do not do this
> indirectly via the Window thread, as we do not need to process Window
> messages for the tooltip. Creating tooltips indirectly also creates
> deadlocks when tooltips are created for menu items. */
と、tooltip window を message thread で作成する必要はないし、逆に
デッドロックの原因となると記述してあります。
Meadow には関係ないですか?
himi> SetWindowLong()でwindow初期化処理を行っていますが、他のAPIで
himi> 処理できる内容に関しては、使用を避けたほうが懸命です。
現状では、ここで設定した値を利用していなかったので、この設定を削
除しました。後ほど、良く考えて対応します。
himi> fontが、なんか、"default"を固定で選んでいますね。見なかった
himi> ことにとりあえずするのもなんなので、tooltip用のFRを作るのが
himi> 良さそうです。
^^;;
tooltip-frame-parameters でフォントを指定できるようにしました。
次のように指定します。
(w32-add-font
"tipfont"
'((strict-spec
((:char-spec ascii :height any)
(w32-logfont "MS UI Gothic" 0 12 400 0 nil nil nil 128 1 3 49))
((:char-spec japanese-jisx0208 :height any)
(w32-logfont "MS UI Gothic" 0 12 400 0 nil nil nil 128 1 3 49)))))
(setq tooltip-frame-parameters
(append
'((internal-border-width . 1)
(font . "tipfont"))
tooltip-frame-parameters))
himi> あと、Emacs Lispのpremitive functionの名前以外は、関数名には
himi> 一貫性のためにmw32_のprefixをつけてください。
了解です。
命名規則は次のような理解で正しいですか?
(1) mw32*.[ch] 内に閉じた extern 変数、関数の prefix は `mw32_'
とする。static の場合は、`x_' の prefix があれば、`mw32_' に
変更する。
(2) mw32*.[ch] 外から参照される extern 変数、関数については、
(a) Meadow で新規にmw32*.[ch] 外に 追加したものは、prefix を
`mw32_' とする。
(b) 上記以外は、prefix を、`x_' や `w32_' のまま変更しない。
(premitive function はここに含まれる)
--
三好 雅則 mailto:miyoshi@xxxxxxxxxxxxxxxx
http://www.boreas.dti.ne.jp/~miyoshi/ (Meadow2 のページ始めました)