2005年02月28日

ブラウザプラグインの作成 - IProgressMonitorで状態表示

今回は進行モニタを使ってブラウザの状態表示を行います。

今回作成したプラグインはこちらからダウンロードできます。→browser_0.0.4.zip
ソースも入っていますのでダウンロードして参考にしながら説明を読んでください。

1.進行モニタの取得
ブラウザが読み込み中にウィンドウのステータスバーに「読み込み中:http://...」と表示されますよね。それをプラグインでも実現しようと思います。
Eclipseの機能として進行モニタというものがあります。これは作業の進捗状態を表示するもので、ウィンドウの下部に状態を表示します。
まずは、進行モニタを取得する方法です。
IWorkbench workbench = 
PlatformUI.getWorkbench();
WorkbenchWindow workbenchWindow =
(WorkbenchWindow)workbench.
getActiveWorkbenchWindow();
IActionBars bars =
workbenchWindow.getActionBars();
IStatusLineManager
lineManager = bars.getStatusLineManager();
IProgressMonitor monitor =
lineManager.getProgressMonitor();
ちょっと、ソースが長いので面倒ですがこれだけでOKです。

2.進行モニタの表示
次に、ブラウザのURLに変化が生じたときに進行モニタに対して状態を与えてモニタを表示しましょう。

browser.addLocationListener(
new LocationListener() {
/* 読み込み開始 */
public void changing(LocationEvent event) {
text.setText(event.location);
monitor.beginTask(
"読み込み中:"+event.location,100);
}

/* 読み込み終了 */
public void changed(LocationEvent event) {
text.setText(event.location);
monitor.done();
}
});
簡単ですね。

今回作成したプラグインはこちらからダウンロードできます。→browser_0.0.4.zip
次回は、ツリーを使ったIEのブックマークを表示したいと思います。
では、また。
posted by 月夜 at 22:53| Comment(0) | TrackBack(1) | プラグイン開発 | このブログの読者になる | 更新情報をチェックする

2005年02月26日

ブラウザプラグインの作成 - 設定画面の追加

今回は設定画面を追加します。設定画面でブラウザのホームページが設定できるようにしましょう。

今回作成したプラグインはこちらからダウンロードできます。→browser_0.0.3.zip
ソースも入っていますのでダウンロードして参考にしながら説明を読んでください。

1.拡張の追加
plugin.xmlのマニフェスト・エディターを開いて、拡張のタブをクリックします。
追加ボタンを押して拡張ポイントの選択ウィザードを表示します。
拡張ポイントでorg.eclipse.ui.preferencePagesを選択して、テンプレートの設定ページを選択して次へをクリックします。
サンプルページの設定を任意に変更して終了ボタンをクリックします。
すると、拡張のツリーにorg.eclipse.ui.preferencePagesが追加され、その子にはpageが追加されます。このpageが設定ページの情報となります。

2.設定ページの作成
拡張のツリーが生成されると同時にサンプルの設定ページのクラスが自動生成されます。
見れは分かると思いますが、簡単に説明します。
public void createFieldEditors()
設定ページを作成するときに呼ばれ、このメソッドで表示したいフィールドを追加します。

public void init(IWorkbench workbench)
初期処理するときに使いますが、今回は使用しません。

サンプルではファイル選択、チェックボックス、ラジオボタン、テキストのフィールドを使用していますが、今回はURLの設定のみなのでテキストだけを使用します。
/* 項目を生成します */
public void createFieldEditors() {
addField(
new StringFieldEditor(
P_STRING, "ホームページURL(&U)",
getFieldEditorParent()));
}
これだけでOKです。
これでPreferenceStoreというものに自動で保存され画面を開いたときには保存された情報が表示されます。

3.初期値の設定
サンプルではPrefertencePageの初期化で初期値を設定していますが、これでは設定ページが開かれるまで初期値が有効になりません。これを解決するためにはPluginのクラスで初期値を設定する必要があります。BrowserPluginクラスでAbstractUIPluginのinitializeDefaultPreferences(IPreferenceStore store)メソッドをオーバーライドします。そこで渡されるstoreに対して初期値を設定します。
/* 初期値の設定 */
protected void initializeDefaultPreferences(
IPreferenceStore store) {
store.setDefault(
PreferencePage.P_STRING,
"http://www.google.com/");
}


4.アクションの追加
まずは前回のアクション追加を参考にして、ホームページを開くためのアクションを作成します。詳細は省略します。
アクションから呼ばれるBrowserCompositクラスにホームページに遷移するためのメソッドを追加します。
そのメソッドではPreferenceStoreに保存された情報を呼び出しそのページを表示するようにします。
/* ホームに遷移します */
public void home() {
IPreferenceStore store =
BrowserPlugin.getDefault().
getPreferenceStore();
String url =
store.getString(PreferencePage.P_STRING);
browser.setUrl(url);
}

これで、設定された値が取得でき、ホームページとして値を渡すことができます。

今回作成したプラグインはこちらからダウンロードできます。→browser_0.0.3.zip
次回は、進捗モニタを使った状態表示をします。
では、また。
posted by 月夜 at 23:21| Comment(0) | TrackBack(1) | プラグイン開発 | このブログの読者になる | 更新情報をチェックする

2005年02月25日

ブラウザプラグインの作成 - ActionBarの処理の追加

前回作成したブラウザのプラグインにアクション(戻る、進む)を追加していきます。
アクションはテンプレートでもサンプルが付いているので追加は簡単です。

今回作成したプラグインはこちらからダウンロードできます。→browser_0.0.2.zip
ソースも入っていますのでダウンロードして参考にしながら説明を読んでください。

1.ブラウザの処理の追加
まず最初に前回作成したブラウザの画面(BrowserCompositクラス)にメソッドを追加します。
追加するメソッドの処理はブラウザの戻ると進むです。
/* 戻る*/
public void back() {
browser.back();
}
/* 進む*/
public void forward() {
browser.forward();
}
処理は簡単ですね。

2.アクションの追加
次に、BrowserViewクラスにアクションの処理を記述します。ビューの生成時に呼ばれるcreatePartControl(Composite parent)で呼ばれているmakeActions()メソッド内でアクションの処理を定義します。アクションのインスタンスを作成して、表示するテキストと画像を設定します。
actionBack = new Action() {
public void run() {
viewer.back();
}
};
actionBack.setText("戻る");
actionBack.setToolTipText("戻る");
actionBack.setImageDescriptor(
PlatformUI.getWorkbench().getSharedImages().
getImageDescriptor(
ISharedImages.IMG_TOOL_BACK));

3.アクションバーの設定
定義したアクションをアクションバーに設定します。親クラスのViewPartクラスで定義されているgetViewSite()よりIViewSiteを取得し、そこからIActionBarsを取得します。そしてIActionBarsから取得されるIToolBarManagerにアクションを設定します。
private void contributeToActionBars() {
IActionBars bars =
getViewSite().getActionBars();
IToolBarManager manager =
bars.getToolBarManager();
manager.add(actionBack);
manager.add(actionForward);
}
これでプラグインを実行すると戻る、進むが実行することができます。

今回作成したプラグインはこちらからダウンロードできます。→browser_0.0.2.zip
次回は、設定画面に機能追加します。
では、また。
posted by 月夜 at 21:40| Comment(0) | TrackBack(0) | プラグイン開発 | このブログの読者になる | 更新情報をチェックする

2005年02月23日

ブラウザプラグインの作成 - Viewの作成

本日からしばらくインターネットブラウザのプラグインを作成していきます。
まず、今日はブラウザをビューとして表示できるようにしたいと思います。

今回作成したプラグインはこちらからダウンロードできます。→browser_0.0.1.zip
ソースも入っていますのでダウンロードして参考にしながら説明を読んでください。

前回の「プラグイン開発の第一歩」を参考にして新しいビューのプロジェクトを作成します。

1.ビュークラスの説明
ビューが使うクラスは[作成したプロジェクト名.views]のパッケージにソースが生成されています。たぶん***View.javaという名前になっているでしょう。

ビューはソースを見れば分かりますがViewPartを継承して作ります。
生成されたソースには2つのpublicメソッドがありますので簡単に説明します。

public void createPartControl(Composite parent)
ビューが生成されたときに呼ばれるメソッドで、オーバーライドしています。このメソッドでは、ビューの生成・アクションの生成などを行っていきます。

public void setFocus()
説明するまでもないと思うが、ビューにフォーカスが移動してきたときにどの部分にフォーカスを移動するかを記述しておきます。

上記の説明で分かるように、ビューは生成時にすべて定義をするだけで動作することになります。

2.画面の作成
ビューで表示される画面を作成していきます。
Eclipseで表示される画面はSWTで作成していくことになりますが、詳細は省略します。こちらが参考になると思います。→Project AmaterasさんのSWTサンプル集
SWTで画面を作るときに重宝するのがGUIプラグインです。私が使っているプラグインはVisual Editorです。使い方はまた別の機会に紹介できればと思っています。Visual EditorはEclipseの更新サイトからダウンロードできるので簡単にインストールができます。注意点はGEFとEMFもインストールしないといけません。
今回の画面は単純なので普通にJavaソースを編集してもいいかもしれません。。。

前置きが長くなりましたが、そろそろ画面を作成します。
Visual Editorをインストールするとファイル新規作成に「Java>Visual Class」という項目が追加されますのでそれを元に作ります。今回はCompositeクラスを継承して作成します。CompositeクラスはAWTのPanelと同じようなものと思えばいいでしょう。
AWTと違う点はコンストラクタで親のオブジェクトを必要とすることです。

public BrowserComposit(Composite parent,
int style) {
super(parent, style);
initialize();
}
あとは、作成されたCompositeにTextとBrowserのオブジェクトを貼り付けていき、レイアウトを変更していけば画面の作成は終わりです。

次にTextでエンターキーを押したときにブラウザにURLを設定するために、リスナーを追加します。

text.addKeyListener(new KeyListener(){
public void keyPressed(KeyEvent e) {}
public void keyReleased(KeyEvent e) {
if (e.character == SWT.CR) {
browser.setUrl(text.getText());
}
}
});
これで画面の作成は終わりです。

3.ビューに画面の追加
後はビューに対して画面を設定するだけです。
テンプレートではTableViewerを画面に使っていますので、そこで先ほど作成した画面に入れ替えます。すると使用できないメソッドがエラーとして表示されます。修正するところもありますが、コメントアウトすればほぼOKです。

4.プラグインの実行
今回作成したビューは「Lunaツール>インターネット・ブラウザ」です。ビューを開いたら、テキストボックスにお好きなURLを入力してエンターキーを押すとページが表示されます。

今回作成したプラグインはこちらからダウンロードできます。→browser_0.0.1.zip
次回は、アクションバーに機能追加します。
では、また。
posted by 月夜 at 16:15| Comment(0) | TrackBack(0) | プラグイン開発 | このブログの読者になる | 更新情報をチェックする

2005年02月22日

プラグイン開発の第一歩

プラグインを作ろうとしたときの第一歩それは。。。
プロジェクトの作成。(当たり前か
つまらない前置きはほっといて、はじめます。

1. プロジェクトの作成
手順は簡単です。基本的にはウィザードで「次へ」ボタンをクリックしていけばできますから。

・メニューの「新規>プロジェクト」をクリックします。
・「新規プロジェクト」のウィザードが出てきますので、
 「プラグイン・プロジェクト」を選択して「次へ」をクリックします。
・「新規プラグイン・プロジェクト」のウィザードになりますので、
 「プロジェクト名」を入力して「次へ」をクリックします。
※ここで指定したプロジェクト名がパッケージ名、クラス名に自動で設定してくれます。
・「プラグイン・コンテンツ」の入力画面になります。
 「プラグイン名」や「クラス名」を任意に変更し、「次へ」ボタンをクリックします。
・「テンプレート」の選択では自分の作りたいタイプのテンプレートを選択します。
 このおかげで作りたいプラグインの骨組みができてしまうので大変便利です。
 今回はビューのプラグインを作成しますので「テンプレートを使用する」チェックボックスをONにして、
 「ビュー付きプラグイン」を選択して、「次へ」ボタンをクリックします。
・「メイン・ビューの設定」で各項目を任意に変更して、「次へ」ボタンをクリックします。
・「ビュー・フィーチャー」では各項目のサンプルのソースが追加されますので、
 ここでは変更せずに「終了」ボタンをクリックします。

はい、これでプロジェクトは完成。
簡単でしょ。はじめにも言いましたが基本的に「次へ」ボタンをクリックしていけばできますから。

2. プラグインの実行
プロジェクトを作ったけどこれで動くの?と思いますよね。
これだけでもプラグインは動きます。
実行も簡単です。普通のJavaプロジェクトを起動する方法同じですから。

・メニューの「実行>実行」をクリックします。
・「実行」のダイアログ画面になりますので、「構成」から「ランタイム・ワークベンチ」を選択します。
・「構成」の下にある「新規」ボタンをクリックして、新しい構成を作成します。
・「構成の作成、管理、および実行」では特に変更するところはありません。
 名前くらいは変更してもいいかもしれません。
・「実行」ボタンををクリックすると新しいEclipseのウィンドウが表示されます。
 このウィンドウが作成したプラグインの実行環境となります。

ここまでくれば後は表示するだけ。通常行うビューの表示と同じです。

・メニューの「ビュー>ビューの表示>その他」をクリック
・作成したカテゴリー内に作成したビューが表示されているので、選択して「OK」ボタンをクリックします。

ビューが表示されましたね。

3. プラグインのエクスポート
さて、自分の作成したプラグインをインストールしたい。と思いますよね。
そのためにはエクスポートする必要があります。
エクスポートではZIPファイル等を作成されます。
配布されているpluginでZIPファイルになっているものがありますよね。あれを作ります。

・plugin.xmlをマニフェクト・エディターで開きます。
 マニフェクト・エディターはplugin.xmlをダブルクリックして開くと表示されるエディターです。
・「概要」のタブを選択して表示されるページの右下にある
 「エクスポート・ウィザード」のアンカーをクリックします。
・「エクスポート・ウィザード」では保存先のファイル名を指定して「終了」をクリックするだけです。

ZIPファイルが作成されましたよね。
解凍すればおなじみのpluginフォルダが作成されます。

今日はプラグイン開発の第一歩としてプラグイン作成の一連の流れを書きました。
長文ですね。。。疲れた。

次回からは使えるプラグインを作成していこうかと思います。
posted by 月夜 at 14:53| Comment(0) | TrackBack(0) | プラグイン開発 | このブログの読者になる | 更新情報をチェックする

Eclipseプラグイン開発をはじめましょう

プラグインって便利だけど、自分の使いたいプラグインがない。。。
そうゆう場合は、自分で作りましょう!!

でも、、、
  プラグインってどうやって作るの?
  プラグインって難しそう。。。
と思っていませんか?
確かに私もそうでした。
しかし、少し勉強すれば作れるようになりますよ。

今日から少しずつプラグインを作っていきます。
その記録を載せていきます。
posted by 月夜 at 13:44| Comment(0) | TrackBack(0) | プラグイン開発 | このブログの読者になる | 更新情報をチェックする

2005年02月21日

はじめまして

Blogデビューしましたぴかぴか(新しい)月夜です。

このBlogの目的は「Eclipse開発のための情報発信」です。
そこそこの情報は検索で見つかるけど、一歩踏み込んだで使うとなると
なかなか情報がなかったりしますよね。
自分の開発の経験を活かして情報を発信できたらいいなと考えています。
とりあえずは自分の開発作業でのメモを載せてまとめていこうかな。

と言ったものの3日坊主にならないか不安だったりします。。。
だって文章書くの苦手ですから(苦笑
じゃあ、なぜBlogなんて。。。それは、ヒ・ミ・ツ(w

それでは、これからよろしくわーい(嬉しい顔)
posted by 月夜 at 23:32| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。