Mozilla L10N フォーラム一覧 Mozilla 製品 とその関連ソフトの日本語化に関するフォーラムでした。
このサイトは 2022 年 1 月に終了しました。
フィードバック方法や変更履歴などは Github をご覧ください。
 よくある質問  •  検索  •  登録ユーザ一覧  •  グループ   •  登録  •  ユーザ設定  •  ログインして PM を確認  •  ログイン
 The Transition from a Mozilla Package to a Firebird Extensio 次のトピックを表示
前のトピックを表示
このフォーラムはロックされているため、新規投稿、返信、編集を行うことはできませんこのトピックはロックされているため、返信、編集を行うことはできません
投稿者 メッセージ
ゲスト






記事 件名: The Transition from a Mozilla Package to a Firebird Extensio     投稿時間: 2004年1月03日(土) 19:03 引用トップに移動

The Transition from a Mozilla Package to a Firebird Extension - a FAQをざっと。

----- ここから

  1. 変換は難しいですか?私のコードを新しい環境で動作させるように出来ますか?
    簡単に言えば、そんなには難しくは無いですが、あなたのadd-onやアプリケーションの規模にも因るでしょう。私が(変換に)使用したアプリケーション、xFlyの場合は簡単でした。アプリケーション自身は未完成のもので、ちょっとつまらないものですが、それは今回の話とは別問題です。

  2. install.jsを変更する必要はありますか?
    いいえ、インストールファイルには多少手を加えましたが、変更する必要はありません。ディスク容量のチェックの後、jarファイルを登録し、chromeディレクトリに登録し、そして成功したら再起動するように促します。別に新しいものがないのをあなたの目で確認してください!

  3. Firebirdの設定パネル (Tools→Optionsメニュー) に私のアプリケーションを追加するにはどうしたらいいですか?
    必要とされるのはコード1行です。拡張の目録 (メインのcontents.rdfファイル) 内の、パッケージのdescription (説明) に次のものを追加します。
    Code:
    chrome:extension="true"
    これで、Firebirdが拡張の一覧に登録するようになります。
    以下にdescriptionの部分をすべて引用します。他にも有用な情報、例えば製作者 (author)、名前、URL (もしあれば)、拡張の一覧で表示される拡張自身の説明文などがあるのが判るでしょう。
    Code:
    <!-- package information -->
    <RDF:Description about="urn:mozilla:package:xfly"
      chrome:displayName="xFly"
      chrome:author="Frillies"
      chrome:authorURL="http://xfly.mozdev.org/"
      chrome:name="xfly"
      chrome:description="[2003-05-04] Adds xFly application for viewing examples contained in 'Creating Applications with Mozilla' [http://books.mozdev.org]"
      chrome:extension="true">
    </RDF:Description>

    メモ:多くのアプリケーションでは、このファイルは、メインのXULファイルと同じ場所、contents/フォルダに置かれます。
    Image
    xFlyが設定パネルの拡張の一覧に登録されている様子

  4. インストールした後、アプリケーションを起動するにはどうしたらいいですか?
    Mozilla用のパッケージのように、xFlyはToolsメニューから起動します。Firebirdでも同じようにToolsメニューから起動するようにします。overlay情報を含む、メインのcontents.rdfファイルに少々修正を加えることで達成出来ます。
    次のものをoverlayの一覧に追加してください。
    Code:
    <RDF:li resource="chrome://browser/content/browser.xul"/>
    またdescriptionを追加する必要があります。
    Code:
    <!-- Firebird -->
    <RDF:Seq about="chrome://browser/content/browser.xul">
      <RDF:li>chrome://xfly/content/xflyextensionsoverlay.xul</RDF:li>
    </RDF:Seq>
    browser.xulはFirebirdのメインウィンドウで、overlayしたい (menuitemがここにあるから) ファイルです。menuitemの定義はxflyextensionsoverlay.xulに含まれています。
    Code:
    <menupopup id="menu_ToolsPopup">
      <menuitem id="xfly-item" label="&xflyMenu.label;" oncommand="toxFly();" />
    </menupopup>
    menuitemは、idがmenu_ToolsPopupであるmenupopupに含まれています。このmenupopupは、browser.xulでToolsメニューに相当します。これがcontents.rdfファイル全体です。メモ:Mozilla用のoverlay情報、つまりメニュー定義が記述されているxflymenuoverlay_moz.xultasksOverlay.xulにoverlayさせるというもの、が残されています。これは重要です。要するにMozillaとFirebirdでインストールファイルを共通に出来ることを意味します。

    これは、Firebirdにoverlayさせてアプリケーションを起動できるようにする、多くの方法のうちの1つです。他にもツールバーのボタンを追加するという手段もあります。

  5. ツールバーのボタンを拡張に搭載して、ドラッグ&ドロップの'Customize'機構で利用できるようにしたいのです。できるでしょうか。
    ええ、できますよ。出来るようにするには多少の手間が掛かりますが。

    まず最初に、ボタンを作成します。20×20ピクセルと32×32ピクセルという、2種類の大きさのボタンを作成する必要があることに注意してください。Firebirdでは大小2種のボタンのアイコンを持たせることが出来ます。

    次に来るのは、ボタンのXULファイルを書くことです。
    Code:
    <toolbarpalette id="BrowserToolbarPalette">
      <toolbarbutton class="toolbarbutton-1" id="xfly-button" label="&xflyButton.label;" oncommand="toxFly();" tooltiptext="&xflyButton.tooltip;" />
    </toolbarpalette>
    いくつか注目すべき点があります。これはFirebirdにoverlayさせるファイル、今回の場合はxflyextensionsoverlay.xulにmenuitemと共に、記述される必要があります。<toolbarbutton>は、idがBrowserToolbarPaletteである<toolbarpalette>に含まれています。これにはツールバーにドラッグ&ドロップで追加するボタンが格納されています。このパレットはbrowser.xulに記述されています。

    最後に、ボタンにスタイルシートが適用されて、作成したアイコンで表示されるようにします。以下に、overlayさせるCSSファイルxflyextensionsoverlay.cssに記述される、大小のボタン用のCSSの一部を示します。
    Code:
    #xfly-button {
      list-style-image: url("chrome://xfly/skin/images/xflyButton.png");
    }
    ...
    toolbar[iconsize="small"] #xfly-button {
      list-style-image: url("chrome://xfly/skin/images/xflyButton.png");
    }


    最後のハードルは、skinのcontents.rdfファイルにスタイルシートを登録することです。
    Code:
    <RDF:Seq about="urn:mozilla:stylesheets">
      <RDF:li resource="chrome://browser/content/browser.xul"/>
      <RDF:li resource="chrome://global/content/customizeToolbar.xul"/>
    </RDF:Seq>
    <RDF:Seq about="chrome://global/content/customizeToolbar.xul">
      <RDF:li>chrome://xfly/skin/xflyextensionsoverlay.css</RDF:li>
    </RDF:Seq>
    <RDF:Seq about="chrome://browser/content/browser.xul">
      <RDF:li>chrome://xfly/skin/xflyextensionsoverlay.css</RDF:li>
    </RDF:Seq>
    これで、Firebirdの2つのXULファイルに、作成した画像を指定するスタイルシートが適用されるようになるでしょう。

    警告:私がテスト中に出くわしたのですが、パレットに正しいアイコンではなく、無関係なアイコン群が現れるということがありました。それは、'Toolbar.png' (Mozilla Firebirdの主要なアプリケーションアイコンすべてを含む) で、ブラウザのロケーションバーに "chrome://browser/skin/Toolbar.png" と入力すると表示されるものと同じものです。これはCSSプロパティ -moz-image-region で切り取られて使用されます。この問題はMozilla Firebirdのユーザプロファイルを削除することで解決します。0.6リリースノートを参照してください。

    Image
    パレット上のxFlyのドラッグ&ドロップボタン
    これですべてが完了しました。ボタンをドラッグしてFirebirdツールバーの好みの場所にドロップ出来るようになりました。
    Image
    ツールバー上のxFlyボタン

  6. 設定パネルの'Disable Extension'ボタンはどういう機能のものですか?
    拡張を無効にすると、その拡張への参照をすべて隠し、UIコンポーネントにoverlayさせないようにします。ただしこれを反映させるにはFirebirdを再起動する必要があります。現在、これが必要であると指摘するメッセージはなく、ユーザにとっては不便な機能になっています。将来のバージョンでは変わると、私は確信しています。

  7. 拡張パネルのアプリケーションの設定 ('Settings...'ボタン) を利用するにはどうしたらいいでしょう?
    アプリケーションの設定を行うようにする方法は他にもありますが、これがFirebirdでの「公式」な方法です。これは、入力や選択が必要なアプリケーションに対して、新しいウィンドウを開いてユーザに拡張の全体的な設定をできるようにするものです。

    拡張の目録 (メインのcontents.rdfファイル) に、次のようなものをパッケージのdescriptionに追加します。
    Code:
    chrome:settingsURL="chrome://xfly/content/xflysettings.xul"
    これでFirebirdからxflysettings.xulのchromeウィンドウが開くようになります。この機能は拡張が無効化されていても有効です。

  8. XULやXBLコードを書き直す必要がありますか?
    最新のロードマップ曰く:
    Quote:
    Note: the Phoenix toolkit is a compatible reimplementation of the XPFE toolkit, with added features such as customizable toolbars. We are not starting a new C++ GUI toolkit, we are simply moving to the next generation XUL toolkit.

    新しいtoolkitがXPFE toolkitと互換性を持つべきであるということからも、あなたのコードが動作するであろうことが読み取れます。しかしながら、とにかくテストすることを忘れないようにし、また可能な場合は新しい機能を利用するようにしましょう。私が現在知っている限りでは、新しい機能はツールバーのカスタマイズ関連で、<toolbarpalette>および<toolbaritem>要素が追加されたことなどだけです。しかしながら、toolkitの発展と共にさらなる機能の追加があるであろうと確信しています。

  9. とても興味がわきました。もっとFirebirdの拡張に関しての情報を得るにはどのサイトがありますか?
    Mozilla Firebirdプロジェクトページ:
    http://mozilla.org/projects/firebird/

    リリースページ:
    http://mozilla.org/projects/firebird/releases.html

    Firebird Help (テーマ、拡張、使用上のヒントなど、多くの情報を含む総合サイト) :
    http://texturizer.net/firebird/

    mozdev.orgにホストされる、様々なFirebird用拡張のプロジェクト:
    http://cdn.mozdev.org/
    http://themes.mozdev.org/
    http://extensionroom.mozdev.org/

    その他の開発者向け情報
dynamis



登録日: 2003年10月 05日
記事: 1744

ユーザ情報を表示メッセージを送信ウェブサイトに移動
記事 件名: Re: The Transition from a Mozilla Package to a Firebird Exte     投稿時間: 2004年1月12日(月) 10:41 引用トップに移動

Motohiko wrote:
  1. インストールした後、アプリケーションを起動するにはどうしたらいいですか?
    Mozilla用のパッケージのように、xFlyはToolsメニューから起動します。Firebirdでも同じようにToolsメニューから起動するようにします。overlay情報を含む、メインのcontents.rdfファイルに少々修正を加えることで達成出来ます。
         [・・・割愛・・・]
    これは、Firebirdにoverlayさせてアプリケーションを起動できるようにする、多くの方法のうちの1つです。他にもツールバーのボタンを追加するという手段もあります。

  2. ツールバーのボタンを拡張に搭載して、ドラッグ&ドロップの'Customize'機構で利用できるようにしたいのです。できるでしょうか。
    ええ、できますよ。出来るようにするには多少の手間が掛かりますが。


おお、これは助かります。
自分で調べてみようかと思っていた事がズバリ。(^-^)

時間さえ取れれば Venkman がメニューに追加されるようにしてみようか…
指定期間中に書かれた記事を表示:      
このフォーラムはロックされているため、新規投稿、返信、編集を行うことはできませんこのトピックはロックされているため、返信、編集を行うことはできません


 別のフォーラムに移る:   



次のトピックを表示
前のトピックを表示
新規トピックを投稿できます
既存トピックに返信できます
自分の記事を編集できません
自分の記事を削除できません
投票に参加できません


Powered by phpBB © 2001, 2002 phpBB Group (customized by dynamis) :: FI Theme :: All times are GMT +9:00

Page generation time: 0.0266s (PHP: 82% - SQL: 18%) - SQL queries: 16