DragMath Equation Editor

DragMath Equation Editor

- M M の投稿
返信数: 7

DragMath Equation Editor

を解凍して

moodle\server\moodle\lib\editor\htmlareaに

imagesはimages(em.icon.dragmath.gif)に

pluginsはplugins(DragMath)に

popupsはpopups(dlg_ins_dragmath.php)に

入れました。

そこで、http://URL/admin

をしました。

DragMath Equation Editorの使い方がわかりません.

教えて下さい。

M M への返信

Re: DragMath Equation Editor

- Takahiro NAKAHARA の投稿
DragMath Equation Editorのインストールは「通知(http://URL/admin)」する必要はありません。
正しく配置できていれば既にHTMLエディタにパイのような形のアイコンが追加されているはずです。
確認してみてください笑顔
Takahiro NAKAHARA への返信

Re: DragMath Equation Editor

- Tatsuya Shirai の投稿

 それは数式エディタのようなものなのでしょうか? とても興味があります.

 とはいえ不安もあります.Moodle2.0からはHTMLareaがTinyMCEに代わるようです.エディタが代わってもいま入力したコンテンツは表示できるのでしょうか? もしエディタの種類に依存しない,TinyMCEでも使える可能性が高いというのであれば即,試してみたいですね.

 あまりシステムに試験的に機能を追加するのは怖いので,まずはお使いの方のご意見を頂けたら助かります.


ドキュメントを見ました.なるほど,TeXの入力用インタフェースなのですね.では,HTMLareaが使用不能になってもTeXフィルタが残っている以上は問題無さそうですね.

Tatsuya Shirai への返信

Re: DragMath Equation Editor

- Tatsuya Shirai の投稿

 いまインストールの作業中ですが,この機能を組み込むのは素人では危険ですね.
 オリジナルのソースリストを修正する必要があります.

 lib/adminlib.phpはアーカイブに入っているadminlib_exampleonly.phpを参考にして修正する必要があります.

 lib/editor/htmlarea/dialog.jsとlib/editor/htmlarea/htmlarea.phpはアーカイブに入っているもので上書きしてしまいますと,このアーカイブ中のものよりも新しく本家で行った修正まで上書きされてしまいます.(lib/editor/htmlarea/dialog.jsは上書きしても支障ありません)

 lib/editor/htmlarea/htmlarea.phpは合計4箇所のみ修正すれば良いので,オリジナルのhtmlarea.phpと,アーカイブに入っているhtmlarea.phpを正確に比較して,dragmathのようなキーワードの含まれる4箇所(うち1箇所は関数)のみを修正しなくてはいけません.

Tatsuya Shirai への返信

Re: DragMath Equation Editor

- Tatsuya Shirai の投稿

 インストールして見ました.一応,動きますね.ちょっと操作方法に謎の部分が残っていますが.
(次のfs_moodleでは標準で組み込んでおきます.ただし,デフォルトでは無効にしますので,fsconfig.phpのdefine('FS_ENABLE_DRAGMATHEQUATIONEDITOR', true);を有効にして下さい)

 それはそうと,画面からボタンがハミ出しますね...なにか改造をミスしたのか?

 あ,スマイリーとあと二つ,最大化しないと表示されないボタンが表示されていますね.

添付 DragMathEquationEditor.jpg
Tatsuya Shirai への返信

Re: DragMath Equation Editor

- Tatsuya Shirai の投稿

 改造をしくじっていましたね.先の投稿の二つ目の画像はミスです.スマイリーと特別文字挿入と検索および置換のボタンの3つは標準で表示されるはずですね.そして”エディタを大きくする”のボタンが半分,ハミ出しているのが”正しい”のでした(い,いいのか?).この半分ハミ出しているところに,さらにボタンを一つ追加するので,1個半飛び出すのが,正しい(いいのか?)挙動ですね...気持ち悪い!


HTMLareaの横幅を変更するにはどうしたらよいのでしょうか.テキスト入力エリア(IFRAME)のサイズだけは変更できたのですが,ツールバーの部分の幅の変更方法が分かりません.そもそもボタンの数に合わせて自動的に調整してくれると本当に助かるのですが...

Tatsuya Shirai への返信

Re: DragMath Equation Editor

- Tatsuya Shirai の投稿

 おや,Wikiの場合はボタンがはみ出しませんね.
 フォーラム投稿の時のHTMLエディタではボタンがハミ出すのですが...呼び出し方が違うのか?

 強制的に幅を変えるには,一応,以下の二箇所のいずれかでwidthを変えればOKなのですが,フォーラム投稿の場合は正常に機能しません(テキスト入力エリアのみ変わる).

editor/htmlarea/htmlarea.php

(1) HTMLArea.Configのthis.width

this.width = "auto"; を
this.width = "800"; などに変更すると強制的にその幅になる.

(2) HTMLArea.prototype.generate

var width = の次あたりで,
width += 100;のように加算するとそれだけ幅が広がる.


Wikiもフォーラムもtextareaの指定(cols, rows)はあまり意味を持っていませんね.Wikiはprint_textarea()を使っているのに対して,フォーラムはaddElement()を使っている違いはあっても,作成されたtextareaをハックしてサイズを変更しているようです.

テキスト入力フォームの幅はツールバーのサイズ(this._toolbar.offsetWidth)を取得して幅を合わせています.したがって,この値を勝手にイジってもツールバーの幅は変わらず,テキスト入力エリアの幅だけが変動します.

したがってツールバー作成(HTMLArea.prototype._createToolbar)に問題があると思われるのですが,WikiではOKでフォーラム投稿のフォームではNGである理由がハッキリとしません.

ツールバーはdocument.createElement("div")で<div>のエレメントを作成し,それに対してボタン類を追加して行きます.newlineやseparatorといった指示以外のものが指定(つまりボタン)された場合は,

            var img = document.createElement("img");
            img.src = btn[1];
            img.style.width = "18px";
            img.style.height = "18px";
            el.appendChild(img);

このようにイメージとして追加します.このwidthを実際の大きさである(確認しました)アイコン画像の幅18pixではなく,たとえば16pixに改変すればツールバーの幅内にボタンは収まります.とはいえアイコンは縦長になりますが...何かおかしい.IE7でもFirefox3でも同じ現象です.moodle.orgでもフォーラム投稿時には”エディタを大きくする”のボタンが半分ハミ出していますよね? いままではわざとだと思っていたのですけれども,どうやらなんらかのバグのようです.


話が脱線してきましたので,この議論は以下のフォーラムに続けます.
http://moodle.org/mod/forum/discuss.php?d=127176#p557153