XUL
先日のFileクラス等の定義をio.jsというファイルに保存。 それを利用したサンプルということで簡易テキストエディタを作ってみた。 <window title="editor" onload="init()" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script src="io.js"/> <script></window>
JavaScriptからローカルファイルにアクセスするためのXPCOM利用版のFileクラスを作ってみた。 使用例 d:\tmp\a.txtのFileオブジェクトをfに代入して読み書きする例。 readが読み出し。readしたあとはcharsetプロパティがセットされる。 writeが書き込み。現…
文字コードの判別はバイナリデータの難しい処理というイメージがあったけど、そこそこの精度でいいなら意外と単純だった。 今回の方針は、半角カナは無視、UTF-8の優先度高め、という方針。 各ESC(0x1B〜)が出た場合はISO-2022-JP(確定) 第1バイトで指定され…
とりあえずURL欄とコンテンツ表示欄だけの最小限の構成。 <browser>というタグがあるので簡単に作れる。 <window title="browser" width="800" height="600" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> </window>
欲しいXPCOMを得るのに長々と書くのがつらくなってきたので手抜きをする関数xpc()を作ってみた。 通常時 Components.classes['@mozilla.org/network/file-output-stream;1'].createInstance(Components.interfaces.nsIFileOutputStream);xpc()使用時 xpc('cr…
FirefoxでURLにchrome://browser/content/を入力すると内側にもう一つのFirefoxを起動出来る。 なので、これをXULRunnerから直接起動することを考える。 firefox/chrome/browser.manifest すでに以下の内容が記入されているのでそのまま利用 content browser…
単一のXULファイルをFirefoxとXULRunnerの両方から起動出来るようなファイル配置を考える。 firefox/がFirefoxというXULアプリケーションにとってのルートディレクトリで、 間借りしたfirefox/chrome//がというXULアプリケーションにとってのルートディレク…
XULならとすることで作れる XUL Tutorial:List Controls 編集可能なメニューリストを作成するには、次の例のように editable 属性を追加します。 ここで作成された URL 欄は、既定の選択肢 3 つがあるため、ユーザはこれらから選択することが出来ますが、自…